bolognese 0.9.95 → 0.9.96
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +4 -4
- data/lib/bolognese/doi_utils.rb +4 -4
- data/lib/bolognese/metadata.rb +13 -374
- data/lib/bolognese/metadata_utils.rb +378 -0
- data/lib/bolognese/readers/codemeta_reader.rb +1 -1
- data/lib/bolognese/readers/crossref_reader.rb +1 -1
- data/lib/bolognese/readers/schema_org_reader.rb +5 -3
- data/lib/bolognese/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +13 -13
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +13 -15
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +4 -4
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/not_found_error.yml +2 -2
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +3 -3
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +17 -19
- data/spec/readers/codemeta_reader_spec.rb +0 -16
- data/spec/readers/datacite_reader_spec.rb +0 -135
- data/spec/readers/schema_org_reader_spec.rb +13 -25
- metadata +3 -2
@@ -29,17 +29,15 @@ http_interactions:
|
|
29
29
|
Location:
|
30
30
|
- "/eating-your-own-dog-food/"
|
31
31
|
Date:
|
32
|
-
-
|
32
|
+
- Sat, 05 May 2018 11:18:18 GMT
|
33
33
|
Server:
|
34
34
|
- AmazonS3
|
35
|
-
Age:
|
36
|
-
- '1'
|
37
35
|
X-Cache:
|
38
|
-
-
|
36
|
+
- Miss from cloudfront
|
39
37
|
Via:
|
40
|
-
- 1.1
|
38
|
+
- 1.1 9f190c53aa1fad1d6d54f8cc88bdeb16.cloudfront.net (CloudFront)
|
41
39
|
X-Amz-Cf-Id:
|
42
|
-
-
|
40
|
+
- _I-AEXovS-kGTwX70SKBy-_MAN67iEehzks02ljZ4PRYRyBxpmsnMA==
|
43
41
|
body:
|
44
42
|
encoding: ASCII-8BIT
|
45
43
|
string: |
|
@@ -50,14 +48,14 @@ http_interactions:
|
|
50
48
|
<ul>
|
51
49
|
<li>Code: Found</li>
|
52
50
|
<li>Message: Resource Found</li>
|
53
|
-
<li>RequestId:
|
54
|
-
<li>HostId:
|
51
|
+
<li>RequestId: D9CCB55C4CD3060A</li>
|
52
|
+
<li>HostId: 96Rt2L2T/eEFeJZens9Xh0CiPmwnzPOib+s4Z2/eYdziOrw0Ja/kRiarTIWcIYC/CM6+fDkkYCk=</li>
|
55
53
|
</ul>
|
56
54
|
<hr/>
|
57
55
|
</body>
|
58
56
|
</html>
|
59
57
|
http_version:
|
60
|
-
recorded_at:
|
58
|
+
recorded_at: Sat, 05 May 2018 11:18:18 GMT
|
61
59
|
- request:
|
62
60
|
method: get
|
63
61
|
uri: https://blog.datacite.org/eating-your-own-dog-food/
|
@@ -81,27 +79,27 @@ http_interactions:
|
|
81
79
|
Connection:
|
82
80
|
- keep-alive
|
83
81
|
Date:
|
84
|
-
-
|
82
|
+
- Fri, 04 May 2018 14:28:27 GMT
|
85
83
|
Cache-Control:
|
86
84
|
- max-age=31536000
|
87
85
|
Last-Modified:
|
88
|
-
-
|
86
|
+
- Thu, 19 Apr 2018 19:39:54 GMT
|
89
87
|
Etag:
|
90
88
|
- '"1503fefbb078bce096ab37de682aaef9"'
|
91
89
|
Server:
|
92
90
|
- AmazonS3
|
93
91
|
Age:
|
94
|
-
- '
|
92
|
+
- '74992'
|
95
93
|
X-Cache:
|
96
94
|
- Hit from cloudfront
|
97
95
|
Via:
|
98
|
-
- 1.1
|
96
|
+
- 1.1 efed2d5ffeb697060f4a3aa73bdf068f.cloudfront.net (CloudFront)
|
99
97
|
X-Amz-Cf-Id:
|
100
|
-
-
|
98
|
+
- RyuFf2ZgJr5s02Lpq4r2sJ3u6ZroCSKZtj1C5QSMEJJ8n01pqHMx8g==
|
101
99
|
body:
|
102
100
|
encoding: ASCII-8BIT
|
103
101
|
string: !binary |-
|
104
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
|
105
103
|
http_version:
|
106
|
-
recorded_at:
|
104
|
+
recorded_at: Sat, 05 May 2018 11:18:18 GMT
|
107
105
|
recorded_with: VCR 3.0.3
|
data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml
CHANGED
@@ -21,17 +21,17 @@ http_interactions:
|
|
21
21
|
Content-Type:
|
22
22
|
- text/html;charset=UTF-8
|
23
23
|
Date:
|
24
|
-
-
|
24
|
+
- Sat, 05 May 2018 14:29:09 GMT
|
25
25
|
Server:
|
26
26
|
- Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips
|
27
27
|
Set-Cookie:
|
28
|
-
- JSESSIONID=
|
28
|
+
- JSESSIONID=0b4dea025823ef930de22129f936; Path=/; Secure; HttpOnly, AWSELB=EB1179591E49E298C6825A3028F74991071DEE12D3CF6A1B0A2CD5F2F144400DE0E06A10F0DBD3EC37C4E69D8B958E3FBF8CF81403222DF6AABE0F6509EF79AB1D548B7265;PATH=/;MAX-AGE=28800
|
29
29
|
Connection:
|
30
30
|
- keep-alive
|
31
31
|
body:
|
32
32
|
encoding: ASCII-8BIT
|
33
33
|
string: !binary |-
|
34
|
-
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnID8+CjwhRE9DVFlQRSBodG1sPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgbGFuZz0iZW4iPjxoZWFkPgogICAgICAgICAgICA8dGl0bGU+VGhlIE5hdGlvbmFsIExhYm9yIEZvcmNlIDogU0FLRVJOQVMsIDIwMDggLSBOdW1lcmljIERhdGEgU2VydmljZXMgRGF0YXZlcnNlPC90aXRsZT4KCSAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KCSAgICA8bWV0YSBuYW1lPSJEQy5pZGVudGlmaWVyIiBjb250ZW50PSJkb2k6MTAuNzkxMC9EVk4vR0FPQzAzIiAvPgoJICAgIDxtZXRhIG5hbWU9IkRDLnR5cGUiIGNvbnRlbnQ9IkRhdGFzZXQiIC8+CgkgICAgPG1ldGEgbmFtZT0iREMudGl0bGUiIGNvbnRlbnQ9IlRoZSBOYXRpb25hbCBMYWJvciBGb3JjZSA6IFNBS0VSTkFTLCAyMDA4IiAvPgogICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5kYXRlIiBjb250ZW50PSIyMDE4LTAzLTE2IiAvPgoJICAgIDxtZXRhIG5hbWU9IkRDLnB1Ymxpc2hlciIgY29udGVudD0iSGFydmFyZCBEYXRhdmVyc2UiIC8+CiAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLmRlc2NyaXB0aW9uIiBjb250ZW50PSJOYXRpb25hbCBsYWJvciBmb3JjZSBzdXJ2ZXkgaW4gSW5kb25lc2lhLiBTdXJ2ZWkgYW5na2F0YW4ga2VyamEgbmFzaW9uYWwuIDIwMDgiIC8+CiAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkJhZGFuIFB1c2F0IFN0YXRpc3RpayIgLz4KICAgICAgICAgICAgPG1ldGEgbmFtZT0iREMuc3ViamVjdCIgY29udGVudD0iU29jaWFsIFNjaWVuY2VzIiAvPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj57IkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmciLCJAdHlwZSI6IkRhdGFzZXQiLCJpZGVudGlmaWVyIjoiaHR0cDovL2R4LmRvaS5vcmcvMTAuNzkxMC9EVk4vR0FPQzAzIiwibmFtZSI6IlRoZSBOYXRpb25hbCBMYWJvciBGb3JjZSA6IFNBS0VSTkFTLCAyMDA4IiwiYXV0aG9yIjpbeyJuYW1lIjoiQmFkYW4gUHVzYXQgU3RhdGlzdGlrIn1dLCJkYXRlUHVibGlzaGVkIjoiMjAxOC0wMy0xNiIsImRhdGVNb2RpZmllZCI6IjIwMTgtMDMtMTYiLCJ2ZXJzaW9uIjoiMSIsImRlc2NyaXB0aW9uIjoiTmF0aW9uYWwgbGFib3IgZm9yY2Ugc3VydmV5IGluIEluZG9uZXNpYS4gU3VydmVpIGFuZ2thdGFuIGtlcmphIG5hc2lvbmFsLiAyMDA4Iiwia2V5d29yZHMiOlsiU29jaWFsIFNjaWVuY2VzIiwiTGFib3IgU3VwcGx5LCBJbmRvbmVzaWEsIFN0YXRpc3RpY3MiXSwic2NoZW1hVmVyc2lvbiI6Imh0dHBzOi8vc2NoZW1hLm9yZy92ZXJzaW9uLzMuMyIsImxpY2Vuc2UiOnsiQHR5cGUiOiJEYXRhc2V0IiwidGV4dCI6IkxpY2Vuc2VkIGVsZWN0cm9uaWMgcmVzb3VyY2VzIGFyZSByZXN0cmljdGVkIHRvIG1lbWJlcnMgb2YgdGhlIEhhcnZhcmQgY29tbXVuaXR5IGZvciBwdXJwb3NlcyBvZiByZXNlYXJjaCwgdGVhY2hpbmcsIGFuZCBwcml2YXRlIHN0dWR5LiBVbmRlciBIYXJ2YXJkJ3MgbGljZW5zZXMgZm9yIGVsZWN0cm9uaWMgcmVzb3VyY2VzLCB1c2VycyBnZW5lcmFsbHkgbWF5IG5vdDogcGVybWl0IGFueW9uZSBvdGhlciB0aGFuIGF1dGhvcml6ZWQgdXNlcnMgdG8gdXNlIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHM7IG1vZGlmeSBvciBjcmVhdGUgYSBkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIGxpY2Vuc2VkIG1hdGVyaWFscyB3aXRob3V0IHRoZSBwZXJtaXNzaW9uIG9mIHRoZSBsaWNlbnNvcjsgcmVtb3ZlLCBvYnNjdXJlIG9yIG1vZGlmeSBhbnkgY29weXJpZ2h0IG9yIG90aGVyIG5vdGljZXMgaW5jbHVkZWQgaW4gdGhlIGxpY2Vuc2VkIG1hdGVyaWFsczsgdXNlIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHMgZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gdGhlIHNhbGUgb2YgdGhlIGxpY2Vuc2VkIG1hdGVyaWFscy4gVXNlcnMgYXJlIGluZGl2aWR1YWxseSByZXNwb25zaWJsZSBmb3IgY29tcGxpYW5jZSB3aXRoIHRoZXNlIHRlcm1zLiJ9LCJpbmNsdWRlZEluRGF0YUNhdGFsb2ciOnsiQHR5cGUiOiJEYXRhQ2F0YWxvZyIsIm5hbWUiOiJIYXJ2YXJkIERhdGF2ZXJzZSIsInVybCI6Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1In0sInByb3ZpZGVyIjp7IkB0eXBlIjoiT3JnYW5pemF0aW9uIiwibmFtZSI6IkRhdGF2ZXJzZSJ9fQoKICAgICAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbiIgLz4KICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiIC8+CiAgICAgICAgICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJUaGUgRGF0YXZlcnNlIFByb2plY3QgaXMgYW4gb3BlbiBzb3VyY2Ugc29mdHdhcmUgYXBwbGljYXRpb24gdG8gc2hhcmUsIGNpdGUgYW5kIGFyY2hpdmUgZGF0YS4gRGF0YXZlcnNlIHByb3ZpZGVzIGEgcm9idXN0IGluZnJhc3RydWN0dXJlIGZvciBkYXRhIHN0ZXdhcmRzIHRvIGhvc3QgYW5kIGFyY2hpdmUgZGF0YSwgd2hpbGUgb2ZmZXJpbmcgcmVzZWFyY2hlcnMgYW4gZWFzeSB3YXkgdG8gc2hhcmUgYW5kIGdldCBjcmVkaXQgZm9yIHRoZWlyIGRhdGEuIiAvPjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS90aGVtZS5jc3MueGh0bWw/bG49cHJpbWVmYWNlcy1ib290c3RyYXAiIC8+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pxdWVyeS9qcXVlcnkuanMueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2xuPXByaW1lZmFjZXMmYW1wO3Y9NS4zIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanF1ZXJ5L2pxdWVyeS1wbHVnaW5zLmpzLnhodG1sO2pzZXNzaW9uaWQ9MDc2NGViZWE5ZWYzNjFiNzRjMGJiZTg0Mzk5MT9sbj1wcmltZWZhY2VzJmFtcDt2PTUuMyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL3ByaW1lZmFjZXMuanMueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2xuPXByaW1lZmFjZXMmYW1wO3Y9NS4zIj48L3NjcmlwdD48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvcHJpbWVmYWNlcy5jc3MueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2xuPXByaW1lZmFjZXMmYW1wO3Y9NS4zIiAvPjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS93YXRlcm1hcmsvd2F0ZXJtYXJrLmNzcy54aHRtbDtqc2Vzc2lvbmlkPTA3NjRlYmVhOWVmMzYxYjc0YzBiYmU4NDM5OTE/bG49cHJpbWVmYWNlcyZhbXA7dj01LjMiIC8+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL3dhdGVybWFyay93YXRlcm1hcmsuanMueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2xuPXByaW1lZmFjZXMmYW1wO3Y9NS4zIj48L3NjcmlwdD48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvZmlsZXVwbG9hZC9maWxldXBsb2FkLmNzcy54aHRtbDtqc2Vzc2lvbmlkPTA3NjRlYmVhOWVmMzYxYjc0YzBiYmU4NDM5OTE/bG49cHJpbWVmYWNlcyZhbXA7dj01LjMiIC8+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ZpbGV1cGxvYWQvZmlsZXVwbG9hZC5qcy54aHRtbDtqc2Vzc2lvbmlkPTA3NjRlYmVhOWVmMzYxYjc0YzBiYmU4NDM5OTE/bG49cHJpbWVmYWNlcyZhbXA7dj01LjMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZih3aW5kb3cuUHJpbWVGYWNlcyl7fTwvc2NyaXB0PgogICAgICAgIDxsaW5rIHR5cGU9ImltYWdlL3BuZyIgcmVsPSJpY29uIiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvaW1hZ2VzL2Zhdmljb25kYXRhdmVyc2UucG5nLnhodG1sIiAvPgogICAgICAgIDxsaW5rIHR5cGU9ImltYWdlL3BuZyIgcmVsPSJpbWFnZV9zcmMiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9pbWFnZXMvZGF0YXZlcnNlcHJvamVjdC5wbmcueGh0bWwiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2JzL2Nzcy9ib290c3RyYXAubWluLmNzcy54aHRtbD92ZXJzaW9uPTQuOC40IiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9icy9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MueGh0bWw/dmVyc2lvbj00LjguNCIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL2llLWNvbXBhdC5jc3MueGh0bWw/dmVyc2lvbj00LjguNCIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL293bC5jYXJvdXNlbC5jc3MueGh0bWw/dmVyc2lvbj00LjguNCIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL2ZvbnRjdXN0b20uY3NzLnhodG1sP3ZlcnNpb249NC44LjQiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2Nzcy9zb2NpY29uLmNzcy54aHRtbD92ZXJzaW9uPTQuOC40IiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jc3Mvc3RydWN0dXJlLmNzcy54aHRtbD92ZXJzaW9uPTQuOC40IiAvPgogICAgICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgICAgLy8gQnJlYWsgb3V0IG9mIGlmcmFtZQogICAgICAgICAgICAgICAgaWYgKHdpbmRvdyAhPT0gdG9wKSB0b3AubG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb247CiAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgICAgICAvKiBDdXN0b20gQ1NTICovCiAgICAgICAgICAgICAgICAjbmF2YmFyRml4ZWQgZGl2Lm5hdmJhci1oZWFkZXIgaW1nLm5hdmJhci1icmFuZC5jdXN0b20tbG9nbyB7aGVpZ2h0OjUwcHggIWltcG9ydGFudDt9CiNkYXRhdmVyc2VEZXNjIHNwYW4gPiBzcGFuID4gc3BhbiA+IGgzIHtmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7fQoKICAgICAgICAgICAgPC9zdHlsZT48L2hlYWQ+PGJvZHk+Cgk8YSBocmVmPSIjY29udGVudCIgY2xhc3M9InNyLW9ubHkiPlNraXAgdG8gbWFpbiBjb250ZW50PC9hPgogICAgCiAgICA8ZGl2IGlkPSJkYXRhdmVyc2UtaGVhZGVyLWJsb2NrIj4KICAgICAgICA8IS0tIE5hdmJhciBQYW5lbCAtLT48bmF2IHJvbGU9Im5hdmlnYXRpb24iIGlkPSJuYXZiYXJGaXhlZCIgY2xhc3M9Im5hdmJhciBuYXZiYXItZGVmYXVsdCBuYXZiYXItZml4ZWQtdG9wIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3RvcE5hdkJhciIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5Ub2dnbGUgbmF2aWdhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4gICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8iPjxpbWcgc3JjPSIvbG9nb3MvbmF2YmFyL2xvZ28ucG5nO2pzZXNzaW9uaWQ9MDc2NGViZWE5ZWYzNjFiNzRjMGJiZTg0Mzk5MSIgY2xhc3M9Im5hdmJhci1icmFuZCBjdXN0b20tbG9nbyIgLz4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSIgaWQ9InRvcE5hdkJhciI+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXZiYXItcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgaWQ9Im5hdmJhci1zZWFyY2gtdG9nZ2xlIiB0aXRsZT0iU2VhcmNoIGFsbCBkYXRhdmVyc2VzLi4uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9Im5hdmJhci1mb3JtIG5hdmJhci1sZWZ0IiByb2xlPSJzZWFyY2giIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0ic3Itb25seSIgZm9yPSJuYXZiYXJzZWFyY2giPlNlYXJjaDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJuYXZiYXJzZWFyY2giIHR5cGU9InRleHQiIGNsYXNzPSJzZWFyY2gtaW5wdXQgdWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHQgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIgc2l6ZT0iMjgiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJTZWFyY2ggYWxsIGRhdGF2ZXJzZXMuLi4iIC8+ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0id2luZG93LmxvY2F0aW9uID0gJy9kYXRhdmVyc2UvaGFydmFyZD9xPScgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmF2YmFyc2VhcmNoJykudmFsdWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCI+PC9zcGFuPiBGaW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2Uub3JnIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWJvdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4gICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2d1aWRlcy5kYXRhdmVyc2Uub3JnL2VuLzQuOC40L3VzZXIiIHRhcmdldD0iX2JsYW5rIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VyIEd1aWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+Cjxmb3JtIGlkPSJqX2lkdDU2IiBuYW1lPSJqX2lkdDU2IiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzIiBjbGFzcz0ibmF2YmFyLWZvcm0gbmF2YmFyLWxlZnQgbmF2YmFyLWZvcm0tbGluayI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImpfaWR0NTYiIHZhbHVlPSJqX2lkdDU2IiAvPgo8YSBpZD0ial9pZHQ1NjpqX2lkdDU3IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2pfaWR0NTY6al9pZHQ1NyZxdW90Oyx1OiZxdW90O2NvbnRhY3REaWFsb2cmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdjb250YWN0Rm9ybScpLnNob3coKTt9fSk7cmV0dXJuIGZhbHNlOyI+U3VwcG9ydDwvYT48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqYXZheC5mYWNlcy5WaWV3U3RhdGUiIGlkPSJqX2lkMTpqYXZheC5mYWNlcy5WaWV3U3RhdGU6MCIgdmFsdWU9Ii00NDQyMDUxMDk1OTE2MzUyMzEyOi0yMDUzMjgzODk2NTk2MjgzNjY3IiBhdXRvY29tcGxldGU9Im9mZiIgLz4KPC9mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9kYXRhdmVyc2V1c2VyLnhodG1sO2pzZXNzaW9uaWQ9MDc2NGViZWE5ZWYzNjFiNzRjMGJiZTg0Mzk5MT9lZGl0TW9kZT1DUkVBVEUmYW1wO3JlZGlyZWN0UGFnZT0lMkZkYXRhc2V0LnhodG1sJTNGcGVyc2lzdGVudElkJTNEZG9pJTNBMTAuNzkxMCUyRkRWTiUyRkdBT0MwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpZ24gVXAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9sb2dpbnBhZ2UueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP3JlZGlyZWN0UGFnZT0lMkZkYXRhc2V0LnhodG1sJTNGcGVyc2lzdGVudElkJTNEZG9pJTNBMTAuNzkxMCUyRkRWTiUyRkdBT0MwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvZyBJbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L25hdj4KICAgICAgICA8IS0tIEhlYWRlciBQYW5lbCAtLT4KICAgICAgICA8IS0tIEZJWE1FOiBSYXRoZXIgdGhhbiBoYXJkLWNvZGluZyAiRkZGRkZGIiwgZ2V0IGl0IGZyb20gdGhlIGJhY2tlbmQgKFRoZW1lV2lkZ2V0RnJhZ21lbnQuREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SKS4gLS0+PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojRjVGNUY1OyIgaWQ9ImRhdGF2ZXJzZUhlYWRlciIgY2xhc3M9ImNvbnRhaW5lciBiZy1tdXRlZCI+CiAgICAgICAgICAgIDwhLS0gRklYTUU6IFJhdGhlciB0aGFuIGhhcmQtY29kaW5nICJGRkZGRkYiLCBnZXQgaXQgZnJvbSB0aGUgYmFja2VuZCAoVGhlbWVXaWRnZXRGcmFnbWVudC5ERUZBVUxUX0xPR09fQkFDS0dST1VORF9DT0xPUikuIC0tPjxkaXYgc3R5bGU9InRleHQtYWxpZ246TEVGVDtiYWNrZ3JvdW5kOiNmZmZmZmY7IiBjbGFzcz0iZGF0YXZlcnNlSGVhZGVyTG9nbyI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iL2xvZ29zLzE3OS9uZHMuZ2lmIiBhbHQ9Ik51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UiIC8+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhdGF2ZXJzZUhlYWRlckJsb2NrIj48ZGl2IGNsYXNzPSJkYXRhdmVyc2VIZWFkZXJDZWxsIGRhdGF2ZXJzZUhlYWRlck5hbWUiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9kYXRhdmVyc2UvbmRzIiBjbGFzcz0iZGF0YXZlcnNlSGVhZGVyRGF0YXZlcnNlTmFtZSIgc3R5bGU9ImNvbG9yOiM5YTM4Mzg7Ij5OdW1lcmljIERhdGEgU2VydmljZXMgRGF0YXZlcnNlPC9hPjxzcGFuIHN0eWxlPSJjb2xvcjojODg4ODg4OyI+IChIYXJ2YXJkIFVuaXZlcnNpdHkpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImRhdGF2ZXJzZUhlYWRlckNlbGwgZGF0YXZlcnNlSGVhZGVyTGluayI+PGEgaHJlZj0iaHR0cDovL2hjbC5oYXJ2YXJkLmVkdS9saWJyYXJpZXMvbGFtb250L2NvbGxlY3Rpb25zL251bWVyaWNkYXRhL3NlcnZpY2VzLmNmbSIgc3R5bGU9ImNvbG9yOiM5YTM4Mzg7IiB0YXJnZXQ9Il9ibGFuayI+SG9tZSBQYWdlPC9hPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L2Rpdj48ZGl2IGlkPSJicmVhZGNydW1iTmF2QmxvY2siIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYkJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJicmVhZGNydW1iTG5rMCIgaHJlZj0iL2RhdGF2ZXJzZS9oYXJ2YXJkIj5IYXJ2YXJkIERhdGF2ZXJzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+PHNwYW4gY2xhc3M9ImJyZWFkY3J1bWJDYXJyb3QiPiAmZ3Q7IDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWJCbG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBpZD0iYnJlYWRjcnVtYkxuazEiIGhyZWY9Ii9kYXRhdmVyc2UvSGFydmFyZFN1YnNjcmlwdGlvbkRhdGEiPkhhcnZhcmQgU3Vic2NyaXB0aW9uIERhdGEgRGF0YXZlcnNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj48c3BhbiBjbGFzcz0iYnJlYWRjcnVtYkNhcnJvdCI+ICZndDsgPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYkJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJicmVhZGNydW1iTG5rMiIgaHJlZj0iL2RhdGF2ZXJzZS9uZHMiPk51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PjxzcGFuIGNsYXNzPSJicmVhZGNydW1iQ2Fycm90Ij4gJmd0OyA8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJicmVhZGNydW1iQmxvY2siPjxzcGFuIGNsYXNzPSJicmVhZGNydW1iQWN0aXZlIj5UaGUgTmF0aW9uYWwgTGFib3IgRm9yY2UgOiBTQUtFUk5BUywgMjAwODwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgoKICAgICAgICAKCiAgICAgICAgPCEtLSBNZXNzYWdlIFBhbmVsIC0tPjxkaXYgaWQ9Im1lc3NhZ2VQYW5lbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBtZXNzYWdlUGFuZWwiPgogICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciIgaWQ9ImNvbnRlbnQiPgo8Zm9ybSBpZD0iZGF0YXNldEZvcm0iIG5hbWU9ImRhdGFzZXRGb3JtIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYXRhc2V0Rm9ybSIgdmFsdWU9ImRhdGFzZXRGb3JtIiAvPgoKICAgICAgICAgICAgICAgICAgICA8IS0tIEhlYWRlciAvIEJ1dHRvbiBQYW5lbCAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIFZpZXcgZWRpdE1vZGUgLS0+PGRpdiBpZD0iZGF0YXNldEZvcm06dG9wRGF0YXNldEJsb2NrRnJhZ21lbnQiPjxkaXYgaWQ9InRvcERhdGFzZXRCbG9jayI+PGRpdiBpZD0iYWN0aW9uQnV0dG9uQmxvY2siIGNsYXNzPSJidXR0b24tYmxvY2sgY2xlYXJmaXgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLWdyb3VwIHB1bGwtcmlnaHQiIHJvbGU9Imdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEVkaXQvUHVibGlzaCBCdXR0b24gR3JvdXAgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQdWJsaXNoL1N1Ym1pdCBmb3IgUmV2aWV3L1JldHVybiB0byBBdXRob3IgQnV0dG9uIEdyb3VwIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRU5EOiBQdWJsaXNoL1N1Ym1pdCBmb3IgUmV2aWV3L1JldHVybiB0byBBdXRob3IgQnV0dG9uIEdyb3VwIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRWRpdCBCdXR0b24gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBFTkQ6IEVkaXQgQnV0dG9uIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRU5EOiBFZGl0L0xpbmsvUHVibGlzaCBCdXR0b24gR3JvdXAgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb250YWN0L1NoYXJlIEJ1dHRvbiBHcm91cCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCBwdWxsLXJpZ2h0IiBpZD0iZGF0YXNldEJ1dHRvbkJhciIgcm9sZT0iZ3JvdXAiPjxhIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI1MiIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCB0ZXh0LWJ1dHRvbiBib290c3RyYXAtYnV0dG9uLXRvb2x0aXAiIGFyaWEtbGFiZWw9IkVtYWlsIERhdGFzZXQgQ29udGFjdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDI1MiZxdW90Oyx1OiZxdW90O2NvbnRhY3REaWFsb2cmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdjb250YWN0Rm9ybScpLnNob3coKTt9LGZpOiZxdW90O2RhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkVtYWlsIERhdGFzZXQgQ29udGFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWVudmVsb3BlIj48L3NwYW4+IENvbnRhY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PGEgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjU0IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IHRleHQtYnV0dG9uIGJvb3RzdHJhcC1idXR0b24tdG9vbHRpcCIgYXJpYS1sYWJlbD0iU2hhcmUgRGF0YXNldCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDI1NCZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyl7UEYoJ3NoYXJlRGlhbG9nJykuc2hvdygpO3NoYXJycmUoKTs7fSxmaTomcXVvdDtkYXRhc2V0Rm9ybTp0b3BEYXRhc2V0QmxvY2tGcmFnbWVudCZxdW90O30pO3JldHVybiBmYWxzZTsiIHRpdGxlPSJTaGFyZSBEYXRhc2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tc2hhcmUiPjwvc3Bhbj4gU2hhcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzaGFyZURpYWxvZyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzaGFyZURpYWxvZ190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U2hhcmUgRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWluZm8tc2lnbiI+PC9zcGFuPiBTaGFyZSB0aGlzIGRhdGFzZXQgb24geW91ciBmYXZvcml0ZSBzb2NpYWwgbWVkaWEgbmV0d29ya3MuPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzaGFycnJlLXdpZGdldCIgZGF0YS11cmw9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2RhdGFzZXQueGh0bWw/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9HQU9DMDMiIGRhdGEtdGV4dD0iVmlldyB0aGlzIGRhdGFzZXQuIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IlBGKCdzaGFyZURpYWxvZycpLmhpZGUoKSIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdmFsdWU9IkNsb3NlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnNoYXJlRGlhbG9nX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNoYXJlRGlhbG9nIix7aWQ6ImRhdGFzZXRGb3JtOnNoYXJlRGlhbG9nIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEVORDogQ29udGFjdC9TaGFyZSBCdXR0b24gR3JvdXAgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVmlldyBEYXRhc2V0IFZlcnNpb25zIEJ1dHRvbiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gNC4yLjE6IHJlcGxhY2VkIHBlcm1pc3Npb25TZXJ2aWNlQmVhbi5vbihEYXRhc2V0UGFnZS5kYXRhc2V0KS5oYXMoJ1ZpZXdVbnB1Ymxpc2hlZERhdGFzZXQnKSB3aXRoIERhdGFzZXRQYWdlLmNhblZpZXdVbnB1Ymxpc2hlZERhdGFzZXQoKSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRU5EOiBEYXRhc2V0IFZlcnNpb25zIEJ1dHRvbiAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1ldHJpY3MgLS0+PGRpdiBpZD0ibWV0cmljcy1ibG9jayIgY2xhc3M9ImNvbC14cy0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtZXRyaWNzLWxhYmVsIiBjbGFzcz0iY29sLXhzLTQgc21hbGwgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zdGF0cyI+PC9zcGFuPiBNZXRyaWNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ibWV0cmljcy1jb250ZW50IiBjbGFzcz0iY29sLXhzLTggc21hbGwgdGV4dC1jZW50ZXIiPjxzcGFuIGNsYXNzPSJtZXRyaWNzLWRvd25sb2FkcyI+MCBEb3dubG9hZHM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEVORDogTWV0cmljcyAtLT48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImRhdGFzZXRWZXJzaW9uQmxvY2siIGNsYXNzPSJjb250YWluZXItZmx1aWQiPjxkaXYgaWQ9InRpdGxlLWJsb2NrIiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMSB2Y2VudGVyIHRpdGxlLXByZXZpZXctaWNvbi1ibG9jayI+PHNwYW4gY2xhc3M9Imljb24tZGF0YXNldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMSB2Y2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9InRpdGxlIj5UaGUgTmF0aW9uYWwgTGFib3IgRm9yY2UgOiBTQUtFUk5BUywgMjAwODwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBEQVRBU0VUIFZFUlNJT04gTlVNQkVSIC0tPjxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1kZWZhdWx0Ij5WZXJzaW9uIDEuMDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ0lUQVRJT04gQkxPQ0sgLS0+CiAgICAKICAgIDxkaXYgaWQ9ImNpdGF0aW9uLWJsb2NrIiBjbGFzcz0icm93Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgIGFsZXJ0IGFsZXJ0LWluZm8gYmctY2l0YXRpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNpdGF0aW9uIiBjbGFzcz0iY29sLXhzLTcgY29sLW1kLTgiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJjaXRhdGlvbi1zZWxlY3QiIG9uY2xpY2s9ImlmIChldmVudC50YXJnZXQpIHsgc2VsZWN0VGV4dChldmVudC50YXJnZXQpOyB9IGVsc2V7IHNlbGVjdFRleHQodGhpcyk7IH0iPkJhZGFuIFB1c2F0IFN0YXRpc3RpaywgMjAxOCwgIlRoZSBOYXRpb25hbCBMYWJvciBGb3JjZSA6IFNBS0VSTkFTLCAyMDA4IiwgPGEgaHJlZj0iaHR0cDovL2R4LmRvaS5vcmcvMTAuNzkxMC9EVk4vR0FPQzAzIiB0YXJnZXQ9Il9ibGFuayI+ZG9pOjEwLjc5MTAvRFZOL0dBT0MwMzwvYT4sIEhhcnZhcmQgRGF0YXZlcnNlLCBWMQogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgaWQ9ImNpdGF0aW9uLWRvd25sb2FkIiBjbGFzcz0iY29sLXNtLTUgY29sLW1kLTQgdGV4dC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImRvd25sb2FkQ2l0YXRpb24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbGlzdCI+PC9zcGFuPiBDaXRlIERhdGFzZXQgPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgcHVsbC1yaWdodCB0ZXh0LWxlZnQiIHJvbGU9Im1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanNmLmpzLnhodG1sP2xuPWphdmF4LmZhY2VzIj48L3NjcmlwdD4NCjxhIGlkPSJkYXRhc2V0Rm9ybTplbmROb3RlTGluayIgaHJlZj0iIyIgb25jbGljaz0ibW9qYXJyYS5qc2ZjbGpzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhc2V0Rm9ybScpLHsnZGF0YXNldEZvcm06ZW5kTm90ZUxpbmsnOidkYXRhc2V0Rm9ybTplbmROb3RlTGluayd9LCcnKTtyZXR1cm4gZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbmROb3RlIFhNTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaWQ9ImRhdGFzZXRGb3JtOnJpc0xpbmsiIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOnJpc0xpbmsnOidkYXRhc2V0Rm9ybTpyaXNMaW5rJ30sJycpO3JldHVybiBmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJJUwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaWQ9ImRhdGFzZXRGb3JtOmJpYkxpbmsiIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOmJpYkxpbmsnOidkYXRhc2V0Rm9ybTpiaWJMaW5rJ30sJ19ibGFuaycpO3JldHVybiBmYWxzZSIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaWJUZVgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNpdGF0aW9uLXN0YW5kYXJkcyIgY2xhc3M9InNtYWxsIHRleHQtbXV0ZWQgdGV4dC1yaWdodCI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IExlYXJuIGFib3V0IDxhIGhyZWY9Imh0dHA6Ly9iZXN0LXByYWN0aWNlcy5kYXRhdmVyc2Uub3JnL2RhdGEtY2l0YXRpb24vIiB0aXRsZT0iR2V0IFJlY29nbml0aW9uOiBEYXRhIENpdGF0aW9uICAtIERhdGF2ZXJzZSBCZXN0IFByYWN0aWNlcyIgdGFyZ2V0PSJfYmxhbmsiPkRhdGEgQ2l0YXRpb24gU3RhbmRhcmRzPC9hPi48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRU5EOiBDSVRBVElPTiBCTE9DSyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQkVHSU46IERBVEFTRVQgU1VNTUFSWSAtLT48ZGl2IGlkPSJkYXRhc2V0LXN1bW1hcnktbWV0YWRhdGEiIGNsYXNzPSJyb3cgcGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSBtZXRhZGF0YS1wYW5lbC1ib2R5Ij48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9kc0Rlc2NyaXB0aW9uIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkEgc3VtbWFyeSBkZXNjcmliaW5nIHRoZSBwdXJwb3NlLCBuYXR1cmUsIGFuZCBzY29wZSBvZiB0aGUgRGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJpbWl0aXZlIGRhdGFzZXRGaWVsZHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb21wb3VuZCBkYXRhc2V0RmllbGRzIC0tPjxkaXYgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+TmF0aW9uYWwgbGFib3IgZm9yY2Ugc3VydmV5IGluIEluZG9uZXNpYS4gU3VydmVpIGFuZ2thdGFuIGtlcmphIG5hc2lvbmFsLiAyMDA4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9zdWJqZWN0IiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkRvbWFpbi1zcGVjaWZpYyBTdWJqZWN0IENhdGVnb3JpZXMgdGhhdCBhcmUgdG9waWNhbGx5IHJlbGV2YW50IHRvIHRoZSBEYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ViamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByaW1pdGl2ZSBkYXRhc2V0RmllbGRzIC0tPjxkaXYgY2xhc3M9ImNvbC1zbS05Ij5Tb2NpYWwgU2NpZW5jZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbXBvdW5kIGRhdGFzZXRGaWVsZHMgLS0+PC9kaXY+PGRpdiBpZD0ia2V5d29yZHMiIGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJLZXkgdGVybXMgdGhhdCBkZXNjcmliZSBpbXBvcnRhbnQgYXNwZWN0cyBvZiB0aGUgRGF0YXNldC4iPktleXdvcmQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+TGFib3IgU3VwcGx5LCBJbmRvbmVzaWEsIFN0YXRpc3RpY3M8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRU5EOiBEQVRBU0VUIFNVTU1BUlkgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gRU5EIFZpZXcgZWRpdE1vZGUgLS0+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gQ3JlYXRlL0VkaXQgZWRpdE1vZGUgLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBFTkQgQ3JlYXRlL0VkaXQgZWRpdE1vZGUgLS0+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gRWRpdCBlZGl0TW9kZSAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIEVORCBIZWFkZXIgLyBCdXR0b24gUGFuZWwgLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBWaWV3L1RhYnMgaW5mb01vZGUgLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBUYWJzIC0tPjxkaXYgaWQ9ImNvbnRlbnRUYWJzIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50Ij4gPCEtLSByZW5kZXJlZD0iX3tlbXB0eSBEYXRhc2V0UGFnZS5lZGl0TW9kZX0iIC0tPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06ZGF0YXNldExvY2tlZEZvckluZ2VzdFZhcmlhYmxlIiB0eXBlPSJoaWRkZW4iIG5hbWU9ImRhdGFzZXRGb3JtOmRhdGFzZXRMb2NrZWRGb3JJbmdlc3RWYXJpYWJsZSIgdmFsdWU9ImZhbHNlIiAvPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06ZGF0YXNldFN0YXRlQ2hhbmdlZFZhcmlhYmxlIiB0eXBlPSJoaWRkZW4iIG5hbWU9ImRhdGFzZXRGb3JtOmRhdGFzZXRTdGF0ZUNoYW5nZWRWYXJpYWJsZSIgdmFsdWU9ImZhbHNlIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZWZyZXNoSW5nZXN0TG9ja0NvbW1hbmQgPSBmdW5jdGlvbigpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDQ4OCIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOmpfaWR0NDg4Iix1OiJkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50IixwYTphcmd1bWVudHNbMF0sZmk6ImRhdGFzZXRGb3JtOnBhZ2VSZWZyZXNoRnJhZ21lbnQifSk7fTwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZWZyZXNoQWxsQ29tbWFuZCA9IGZ1bmN0aW9uKCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOmpfaWR0NDg5IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06al9pZHQ0ODkiLHU6ImRhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50IGRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSBtZXNzYWdlUGFuZWwiLHBhOmFyZ3VtZW50c1swXSxmaToiZGF0YXNldEZvcm06cGFnZVJlZnJlc2hGcmFnbWVudCJ9KTt9PC9zY3JpcHQ+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzZWUgdGhlIGNvbW1lbnQgaW4gdGhlIGphdmFzY3JpcHQgYmVsb3cgdGhhdCBleHBsYWlucyB3aGF0IHRoaXMgYnV0dG9uIGlzIGZvciAtLT48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpyZWZyZXNoQnV0dG9uIiBuYW1lPSJkYXRhc2V0Rm9ybTpyZWZyZXNoQnV0dG9uIiBjbGFzcz0iIiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b24mcXVvdDsscDomcXVvdDtkYXRhc2V0Rm9ybTpyZWZyZXNoQnV0dG9uJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm06dG9wRGF0YXNldEJsb2NrRnJhZ21lbnQgZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIG1lc3NhZ2VQYW5lbCZxdW90OyxmaTomcXVvdDtkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+dWktYnV0dG9uPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwicmVmcmVzaEJ1dHRvbiIse2lkOiJkYXRhc2V0Rm9ybTpyZWZyZXNoQnV0dG9uIn0pOzwvc2NyaXB0PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlYWR5KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaElmU3RpbGxMb2NrZWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gcmVmcmVzaElmU3RpbGxMb2NrZWQoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKCdpbnB1dFtpZCQ9ImRhdGFzZXRMb2NrZWRGb3JJbmdlc3RWYXJpYWJsZSJdJykudmFsKCkgPT09ICd0cnVlJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgZGF0YXNldCBpcyBsb2NrZWQsIGluc3RydWN0IHRoZSBwYWdlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3YWl0IGFuZCBjaGVjayBhZ2FpbjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhaXRBbmRDaGVja0xvY2tBZ2FpbigpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgbm90IGxvY2tlZCwgaGFzIGl0IGp1c3QgYmVlbiB1bmxvY2tlZD8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKCdpbnB1dFtpZCQ9ImRhdGFzZXRTdGF0ZUNoYW5nZWRWYXJpYWJsZSJdJykudmFsKCkgPT09ICd0cnVlJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciB3aGF0ZXZlciB1bmtub3duIFByaW1lRmFjZXMgcmVhc29uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHBhZ2UgbmVlZHMgdG8gYmUgcmVmcmVzaGVkIHR3aWNlLCBmb3IgYWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHB1bGwgZG93biBtZW51cyB0byB1cGRhdGUgcHJvcGVybHk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaEFsbENvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBZb3UgY2FuJ3QganVzdCBydW4gMiByZWZyZXNoQWxsQ29tbWFuZCgpcyBpbiBhIHJvdwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVpdGhlcjsgYmVjYXVzZSB0aGUgY29tbWFuZCBoYXMgYW4gInVwZGF0ZT1AYWxsIiBvbiBpdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyBJIGd1ZXNzIGlmIHlvdSB0cnkgdG8gZXhlY3V0ZSB0aGUgMm5kIG9uZSByaWdodCBhZnRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBmaXJzdCBvbmUsIHRoaXMgZnJhZ21lbnQgaXMgc3RpbGwgZ29pbmcgdG8gYmUgbG9hZGluZyAtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc28gdGhlcmUgd291bGQgbm90IHlldCBiZSBhIGNvbW1hbmQgdG8gcnVuISAoaXQgbmVlZHMgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZSByZW5kZXJlZCwgYmVmb3JlIHlvdSBjYW4gZXhlY3V0ZSBpdCwgdGhhdCBpcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBidXR0b24gZG9lc24ndCBkbyBhbnl0aGluZywgYnV0IGl0IGhhcyBhbiB1cGRhdGU9IkBhbGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGF0dHJpYnV0ZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnYnV0dG9uW2lkJD0icmVmcmVzaEJ1dHRvbiJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9yZWZyZXNoQWxsQ29tbWFuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDE1MDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB3YWl0QW5kQ2hlY2tMb2NrQWdhaW4oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVmcmVzaCB0aGUgbG9jayBpbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tpbmcgYmVhbjsgaS5lLiwgY2hlY2ssIGlmIHRoZSBpbmdlc3QgaGFzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGNvbXBsZXRlZCBpbiB0aGUgYmFja2dyb3VuZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJCgnYnV0dG9uW2lkJD0icmVmcmVzaEJ1dHRvbiJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmVmcmVzaExvY2tDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoSW5nZXN0TG9ja0NvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXciIGNsYXNzPSJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLWhpZGRlbi1jb250YWluZXIgdWktdGFicy10b3AiIGRhdGEtd2lkZ2V0PSJjb250ZW50Ij48dWwgY2xhc3M9InVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS1oZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIiByb2xlPSJ0YWJsaXN0Ij48bGkgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgdWktdGFicy1zZWxlY3RlZCB1aS1zdGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIgcm9sZT0idGFiIiBhcmlhLWV4cGFuZGVkPSJ0cnVlIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj48YSBocmVmPSIjZGF0YXNldEZvcm06dGFiVmlldzpkYXRhRmlsZXNUYWIiIHRhYmluZGV4PSItMSI+RmlsZXM8L2E+PC9saT48bGkgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCIgcm9sZT0idGFiIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPjxhIGhyZWY9IiNkYXRhc2V0Rm9ybTp0YWJWaWV3Om1ldGFkYXRhTWFwVGFiIiB0YWJpbmRleD0iLTEiPk1ldGFkYXRhPC9hPjwvbGk+PGxpIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiIHJvbGU9InRhYiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48YSBocmVmPSIjZGF0YXNldEZvcm06dGFiVmlldzp0ZXJtc1RhYiIgdGFiaW5kZXg9Ii0xIj5UZXJtczwvYT48L2xpPjxsaSBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIiByb2xlPSJ0YWIiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+PGEgaHJlZj0iI2RhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWIiIHRhYmluZGV4PSItMSI+VmVyc2lvbnM8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9InVpLXRhYnMtcGFuZWxzIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmRhdGFGaWxlc1RhYiIgY2xhc3M9InVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+CgogICAgPCEtLSBGaWxlcyBUYWJsZSAtLT48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiIGNsYXNzPSJ1aS1kYXRhdGFibGUgdWktd2lkZ2V0IHVpLWRhdGF0YWJsZS1zY3JvbGxhYmxlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjFweDsiPjxkaXYgY2xhc3M9InVpLWRhdGF0YWJsZS1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItdG9wIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6ZmlsZXNIZWFkZXJCbG9jayIgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtNiI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBkYXRhc2V0IGZpbGUgc2VhcmNoIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnNlYXJjaEZpbGVzIiB0eXBlPSJ0ZXh0IiBvbmtleXByZXNzPSJpZiAoZXZlbnQua2V5Q29kZSA9PSAxMykgeyBzdWJtaXRzZWFyY2goKTsgcmV0dXJuIGZhbHNlOyB9IiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHQgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiIC8+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnNlYXJjaEZpbGVzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0IiwiaW5wdXRTZWFyY2hUZXJtIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyJ9KTs8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ2OTRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiV2F0ZXJtYXJrIiwid2lkZ2V0X2RhdGFzZXRGb3JtX3RhYlZpZXdfZmlsZXNUYWJsZV9qX2lkdDY5NCIse2lkOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ2OTQiLHZhbHVlOiJTZWFyY2ggdGhpcyBkYXRhc2V0Li4uIix0YXJnZXQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyJ9LCJ3YXRlcm1hcmsiKTt9KTs8L3NjcmlwdD48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzaG93QWNjZXNzUG9wdXAiIHR5cGU9ImhpZGRlbiIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnNob3dBY2Nlc3NQb3B1cCIgdmFsdWU9ImZhbHNlIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5zdWJtaXRzZWFyY2ggPSBmdW5jdGlvbigpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ2OTUiLGY6ImRhdGFzZXRGb3JtIixwOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ2OTUgQHdpZGdldFZhcihpbnB1dFNlYXJjaFRlcm0pIix1OiJkYXRhc2V0Rm9ybSIscHM6dHJ1ZSxwYTphcmd1bWVudHNbMF19KTt9PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5wdXQtZ3JvdXAtYnRuIj48YSBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0Njk3IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ2OTcmcXVvdDsscDomcXVvdDtkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ2OTcgQHdpZGdldFZhcihpbnB1dFNlYXJjaFRlcm0pJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDsscHM6dHJ1ZX0pO3JldHVybiBmYWxzZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCI+PC9zcGFuPiBGaW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW4tYm90dG9tOjZweDsiPgogICAgICAgICAgICAgICAgPGRpdiBpZD0iZmlsZXNIZWFkZXJDb3VudCIgY2xhc3M9ImNvbC14cy0yIHRleHQtbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBGaWxlcyBDb3VudCAtLT48c3BhbiBjbGFzcz0iaGlnaGxpZ2h0Qm9sZCI+NSBGaWxlczwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iZmlsZXNCdXR0b25zIiBjbGFzcz0iY29sLXhzLTEwIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIDQuMi4xOiByZXBsYWNlZCBwZXJtaXNzaW9uc1dyYXBwZXIuY2FuSXNzdWVVcGRhdGVEYXRhc2V0Q29tbWFuZChEYXRhc2V0UGFnZS5kYXRhc2V0KSB3aXRoIERhdGFzZXRQYWdlLmNhblVwZGF0ZURhdGFzZXQoKSAtLT48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6dXBsb2FkQ29tcHV0ZUJsb2NrIiBjbGFzcz0iYnV0dG9uLWJsb2NrIHRhYi1oZWFkZXIgcHVsbC1yaWdodCB0ZXh0LXJpZ2h0Ij4KPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICZsdDtoOm91dHB1dExpbmsgdmFsdWU9IiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB0YXJnZXQ9Il9ibGFuayIgcmVuZGVyZWQ9ImZhbHNlIiZndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT01QVVRFIEJVVFRPTiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWZsYXNoIi8mZ3Q7IENvbXB1dGUKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9oOm91dHB1dExpbmsmZ3Q7LS0+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDb21wdXRlIEJ1dHRvbiAqRGF0YXNldCBwZyBvbmx5KjogLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tKioqV2hlbiBpdCBpcyBwb3NzaWJsZSB0byBjb21wdXRlIG9uIGFuIGVudGlyZSBkYXRhc2V0LCBjb21tZW50IHRoaXMgaW4tLT4KPCEtLSAgICAgICAgICAgICAgICAgICAgJmx0O2g6b3V0cHV0TGluayB2YWx1ZT0iIiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIHRhcmdldD0iX2JsYW5rIiByZW5kZXJlZD0iZmFsc2UiJmd0OyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsdDtzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWZsYXNoIi8mZ3Q7IENvbXB1dGUKICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oy9oOm91dHB1dExpbmsmZ3Q7LS0+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idWktd2lkZ2V0LWhlYWRlciB1aS1kYXRhdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXIiPjxkaXYgY2xhc3M9InVpLWRhdGF0YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3giPjx0YWJsZSByb2xlPSJncmlkIj48dGhlYWQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9oZWFkIj48dHIgcm9sZT0icm93Ij48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDc0MSIgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgdWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciIgcm9sZT0iY29sdW1uaGVhZGVyIiBzdHlsZT0id2lkdGg6MjBweCAhaW1wb3J0YW50OyI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+PC9zcGFuPjxkaXYgY2xhc3M9InVpLWNoa2JveCB1aS1jaGtib3gtYWxsIHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9jaGVja2JveCIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ3NDIiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1maWxlLXRodW1iIiByb2xlPSJjb2x1bW5oZWFkZXIiIHN0eWxlPSJ3aWR0aDo2NHB4ICFpbXBvcnRhbnQ7Ij48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj48L3NwYW4+PC90aD48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDc1NyIgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgY29sLWZpbGUtbWV0YWRhdGEiIHJvbGU9ImNvbHVtbmhlYWRlciI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ3OTAiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1maWxlLWFjdGlvbiB0ZXh0LXJpZ2h0ICIgcm9sZT0iY29sdW1uaGVhZGVyIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj4KICAgICAgICAgICAgICAgIDwhLS0gRURJVCAtLT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLSBET1dOTE9BRCAtLT48L3NwYW4+PC90aD48L3RyPjwvdGhlYWQ+PC90YWJsZT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kYXRhdGFibGUtc2Nyb2xsYWJsZS1ib2R5IiB0YWJpbmRleD0iLTEiPjx0YWJsZSByb2xlPSJncmlkIj48dGJvZHkgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9kYXRhIiBjbGFzcz0idWktZGF0YXRhYmxlLWRhdGEgdWktd2lkZ2V0LWNvbnRlbnQiPjx0ciBkYXRhLXJpPSIwIiBkYXRhLXJrPSJzMzovL2R2bi1jbG91ZDoxNjIwYjlkMmNkYy0yZGEyNTk4MjZmZTgiIGNsYXNzPSJ1aS13aWRnZXQtY29udGVudCB1aS1kYXRhdGFibGUtZXZlbiB1aS1kYXRhdGFibGUtc2VsZWN0YWJsZSIgcm9sZT0icm93IiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6MjBweCAhaW1wb3J0YW50OyIgY2xhc3M9InVpLXNlbGVjdGlvbi1jb2x1bW4gdGV4dC1jZW50ZXIiPjxkaXYgY2xhc3M9InVpLWNoa2JveCB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfY2hlY2tib3giIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktY2hrYm94LWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktY2hrYm94LWljb24gdWktaWNvbiB1aS1pY29uLWJsYW5rIHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgc3R5bGU9IndpZHRoOjY0cHggIWltcG9ydGFudDsiIGNsYXNzPSJjb2wtZmlsZS10aHVtYiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbC1ibG9jayB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICA8IS0tIFRodW1ibmFpbCBQcmV2aWV3IC0tPgoKICAgICAgICAgICAgICAgIDwhLS0gRGVmYXVsdCBJY29uIC0tPjxzcGFuIGNsYXNzPSJpY29uLWRvY3VtZW50IGZpbGUtdGh1bWJuYWlsLWljb24gdGV4dC1tdXRlZCI+PC9zcGFuPgoKICAgICAgICAgICAgICAgIDwhLS0gdGhlICJ0ZW1wIHByZXZpZXciIGlzIGZvciBuZXcsIG5vdCB5ZXQgc2F2ZWQgZmlsZXM7IHRoZXNlIHNob3VsZCBuZXZlciBhcHBlYXIgb24gdGhpcyBwYWdlIC0gYXMgd2Ugbm93IGhhdmUgdGhlIGVkaXRmaWxlc3BhZ2UgZm9yIHRoYXQsIGNvcnJlY3Q/IC0tPgoKICAgICAgICAgICAgICAgIDwhLS0gUmVzdHJpY3RlZCBGaWxlIEljb24gLS0+PGRpdiBjbGFzcz0iZmlsZS1pY29uLXJlc3RyaWN0ZWQtYmxvY2siPiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWxvY2sgdGV4dC1kYW5nZXIiPjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIGNsYXNzPSJjb2wtZmlsZS1tZXRhZGF0YSI+CiAgICAgICAgICAgICAgICA8IS0tIHJlbmRlcmVkPSIjIHshKGZpbGVNZXRhZGF0YS5kYXRhc2V0VmVyc2lvbi5yZWxlYXNlZCBvciBmaWxlTWV0YWRhdGEuZGF0YXNldFZlcnNpb24uZGVhY2Nlc3Npb25lZCl9IiAtLT48YSBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6ZmlsZU5hbWVMaW5rIiBuYW1lPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlTmFtZUxpbmsiIGhyZWY9Ii9maWxlLnhodG1sO2pzZXNzaW9uaWQ9MDc2NGViZWE5ZWYzNjFiNzRjMGJiZTg0Mzk5MT9maWxlSWQ9MzEzMTg1NCZhbXA7dmVyc2lvbj1SRUxFQVNFRCZhbXA7dmVyc2lvbj0uMCI+S3Vlc2lvbmVyIFNha2VybmFzIDIwMDgucGRmPC9hPgoKICAgICAgICAgICAgPCEtLSBUWVBFICsgU0laRSArIERBVEUgKyBDSEVDS1NVTSAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1tdXRlZCBzbWFsbCI+CiAgICAgICAgICAgICAgICA8IS0tIGlkOjMxMzE4NTQgLS0+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVUeXBlT3V0cHV0UmVndWxhciI+QWRvYmUgUERGPC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlU2l6ZSI+IC0gMzczLjYgS0I8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVDcmVhdGVQdWJsaXNoRGF0ZSI+IC0gTWFyIDE2LCAyMDE4PC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlRG93bmxvYWRDb3VudCI+IC0gMCBEb3dubG9hZHM8L3NwYW4+PGRpdiBjbGFzcz0iY2hlY2tzdW0tYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlLWNoZWNrc3VtIj5NRDU6IGM3Njg5ZjA0N2VjZDg1YTIwN2MxYWI3YTEzZWUzMmQ1PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBVTkYgKyBWYXJpYWJsZXMsIE9ic2Vyc3ZhdGlvbnMgLS0+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIGNsYXNzPSJjb2wtZmlsZS1hY3Rpb24gdGV4dC1yaWdodCAiPjxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAKICAgIDwhLS0gQ29tcHV0ZSBCdXR0b24gKkZpbGUgcGcgb25seSo6IC0tPgogICAgPCEtLSBDb21wdXRlIEJ1dHRvbiAqRGF0YXNldCBwZyBvbmx5KjogLS0+PC9kaXY+PC90ZD48L3RyPjx0ciBkYXRhLXJpPSIxIiBkYXRhLXJrPSJzMzovL2R2bi1jbG91ZDoxNjIwYjljYmIzZC02NjFmZDVlMjBjZTIiIGNsYXNzPSJ1aS13aWRnZXQtY29udGVudCB1aS1kYXRhdGFibGUtb2RkIHVpLWRhdGF0YWJsZS1zZWxlY3RhYmxlIiByb2xlPSJyb3ciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDoyMHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9jaGVja2JveCIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6NjRweCAhaW1wb3J0YW50OyIgY2xhc3M9ImNvbC1maWxlLXRodW1iIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDwhLS0gVGh1bWJuYWlsIFByZXZpZXcgLS0+CgogICAgICAgICAgICAgICAgPCEtLSBEZWZhdWx0IEljb24gLS0+PHNwYW4gY2xhc3M9Imljb24tZG9jdW1lbnQgZmlsZS10aHVtYm5haWwtaWNvbiB0ZXh0LW11dGVkIj48L3NwYW4+CgogICAgICAgICAgICAgICAgPCEtLSB0aGUgInRlbXAgcHJldmlldyIgaXMgZm9yIG5ldywgbm90IHlldCBzYXZlZCBmaWxlczsgdGhlc2Ugc2hvdWxkIG5ldmVyIGFwcGVhciBvbiB0aGlzIHBhZ2UgLSBhcyB3ZSBub3cgaGF2ZSB0aGUgZWRpdGZpbGVzcGFnZSBmb3IgdGhhdCwgY29ycmVjdD8gLS0+CgogICAgICAgICAgICAgICAgPCEtLSBSZXN0cmljdGVkIEZpbGUgSWNvbiAtLT48ZGl2IGNsYXNzPSJmaWxlLWljb24tcmVzdHJpY3RlZC1ibG9jayI+ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbG9jayB0ZXh0LWRhbmdlciI+PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLW1ldGFkYXRhIj4KICAgICAgICAgICAgICAgIDwhLS0gcmVuZGVyZWQ9IiMgeyEoZmlsZU1ldGFkYXRhLmRhdGFzZXRWZXJzaW9uLnJlbGVhc2VkIG9yIGZpbGVNZXRhZGF0YS5kYXRhc2V0VmVyc2lvbi5kZWFjY2Vzc2lvbmVkKX0iIC0tPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlTmFtZUxpbmsiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVOYW1lTGluayIgaHJlZj0iL2ZpbGUueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2ZpbGVJZD0zMTMxODU1JmFtcDt2ZXJzaW9uPVJFTEVBU0VEJmFtcDt2ZXJzaW9uPS4wIj5MYXlvdXQgU2FrZXJuYXMgMjAwOCBBZ3VzdHVzLmRvYzwvYT4KCiAgICAgICAgICAgIDwhLS0gVFlQRSArIFNJWkUgKyBEQVRFICsgQ0hFQ0tTVU0gLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbXV0ZWQgc21hbGwiPgogICAgICAgICAgICAgICAgPCEtLSBpZDozMTMxODU1IC0tPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlVHlwZU91dHB1dFJlZ3VsYXIiPk1TIFdvcmQ8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVTaXplIj4gLSAxNDguNSBLQjwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6ZmlsZUNyZWF0ZVB1Ymxpc2hEYXRlIj4gLSBNYXIgMTYsIDIwMTg8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVEb3dubG9hZENvdW50Ij4gLSAwIERvd25sb2Fkczwvc3Bhbj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGUtY2hlY2tzdW0iPk1ENTogZDkwMDU4MDU5NjkyNzNlOTRhNjRjMTMyOGE1ODY1ZjI8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIFVORiArIFZhcmlhYmxlcywgT2JzZXJzdmF0aW9ucyAtLT48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLWFjdGlvbiB0ZXh0LXJpZ2h0ICI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgIAogICAgPCEtLSBDb21wdXRlIEJ1dHRvbiAqRmlsZSBwZyBvbmx5KjogLS0+CiAgICA8IS0tIENvbXB1dGUgQnV0dG9uICpEYXRhc2V0IHBnIG9ubHkqOiAtLT48L2Rpdj48L3RkPjwvdHI+PHRyIGRhdGEtcmk9IjIiIGRhdGEtcms9InMzOi8vZHZuLWNsb3VkOjE2MjBiOWNiZDBhLWJhYzU4NWFjMDRjNiIgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHVpLWRhdGF0YWJsZS1ldmVuIHVpLWRhdGF0YWJsZS1zZWxlY3RhYmxlIiByb2xlPSJyb3ciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDoyMHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9jaGVja2JveCIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6NjRweCAhaW1wb3J0YW50OyIgY2xhc3M9ImNvbC1maWxlLXRodW1iIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDwhLS0gVGh1bWJuYWlsIFByZXZpZXcgLS0+CgogICAgICAgICAgICAgICAgPCEtLSBEZWZhdWx0IEljb24gLS0+PHNwYW4gY2xhc3M9Imljb24tZG9jdW1lbnQgZmlsZS10aHVtYm5haWwtaWNvbiB0ZXh0LW11dGVkIj48L3NwYW4+CgogICAgICAgICAgICAgICAgPCEtLSB0aGUgInRlbXAgcHJldmlldyIgaXMgZm9yIG5ldywgbm90IHlldCBzYXZlZCBmaWxlczsgdGhlc2Ugc2hvdWxkIG5ldmVyIGFwcGVhciBvbiB0aGlzIHBhZ2UgLSBhcyB3ZSBub3cgaGF2ZSB0aGUgZWRpdGZpbGVzcGFnZSBmb3IgdGhhdCwgY29ycmVjdD8gLS0+CgogICAgICAgICAgICAgICAgPCEtLSBSZXN0cmljdGVkIEZpbGUgSWNvbiAtLT48ZGl2IGNsYXNzPSJmaWxlLWljb24tcmVzdHJpY3RlZC1ibG9jayI+ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbG9jayB0ZXh0LWRhbmdlciI+PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLW1ldGFkYXRhIj4KICAgICAgICAgICAgICAgIDwhLS0gcmVuZGVyZWQ9IiMgeyEoZmlsZU1ldGFkYXRhLmRhdGFzZXRWZXJzaW9uLnJlbGVhc2VkIG9yIGZpbGVNZXRhZGF0YS5kYXRhc2V0VmVyc2lvbi5kZWFjY2Vzc2lvbmVkKX0iIC0tPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlTmFtZUxpbmsiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVOYW1lTGluayIgaHJlZj0iL2ZpbGUueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2ZpbGVJZD0zMTMxODU2JmFtcDt2ZXJzaW9uPVJFTEVBU0VEJmFtcDt2ZXJzaW9uPS4wIj5RX1NBSzA4MDgucGRmPC9hPgoKICAgICAgICAgICAgPCEtLSBUWVBFICsgU0laRSArIERBVEUgKyBDSEVDS1NVTSAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1tdXRlZCBzbWFsbCI+CiAgICAgICAgICAgICAgICA8IS0tIGlkOjMxMzE4NTYgLS0+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVUeXBlT3V0cHV0UmVndWxhciI+QWRvYmUgUERGPC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlU2l6ZSI+IC0gMTQzLjAgS0I8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVDcmVhdGVQdWJsaXNoRGF0ZSI+IC0gTWFyIDE2LCAyMDE4PC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlRG93bmxvYWRDb3VudCI+IC0gMCBEb3dubG9hZHM8L3NwYW4+PGRpdiBjbGFzcz0iY2hlY2tzdW0tYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlLWNoZWNrc3VtIj5NRDU6IDJjZDk4Zjc0NTI0NzczMjM4ZGJkYmZmMGUzMjYwMDc4PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBVTkYgKyBWYXJpYWJsZXMsIE9ic2Vyc3ZhdGlvbnMgLS0+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIGNsYXNzPSJjb2wtZmlsZS1hY3Rpb24gdGV4dC1yaWdodCAiPjxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAKICAgIDwhLS0gQ29tcHV0ZSBCdXR0b24gKkZpbGUgcGcgb25seSo6IC0tPgogICAgPCEtLSBDb21wdXRlIEJ1dHRvbiAqRGF0YXNldCBwZyBvbmx5KjogLS0+PC9kaXY+PC90ZD48L3RyPjx0ciBkYXRhLXJpPSIzIiBkYXRhLXJrPSJzMzovL2R2bi1jbG91ZDoxNjIwYjlkMTllMy05NDZmZGJlYmVhZDEiIGNsYXNzPSJ1aS13aWRnZXQtY29udGVudCB1aS1kYXRhdGFibGUtb2RkIHVpLWRhdGF0YWJsZS1zZWxlY3RhYmxlIiByb2xlPSJyb3ciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDoyMHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9jaGVja2JveCIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6NjRweCAhaW1wb3J0YW50OyIgY2xhc3M9ImNvbC1maWxlLXRodW1iIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDwhLS0gVGh1bWJuYWlsIFByZXZpZXcgLS0+CgogICAgICAgICAgICAgICAgPCEtLSBEZWZhdWx0IEljb24gLS0+PHNwYW4gY2xhc3M9Imljb24tb3RoZXIgZmlsZS10aHVtYm5haWwtaWNvbiB0ZXh0LW11dGVkIj48L3NwYW4+CgogICAgICAgICAgICAgICAgPCEtLSB0aGUgInRlbXAgcHJldmlldyIgaXMgZm9yIG5ldywgbm90IHlldCBzYXZlZCBmaWxlczsgdGhlc2Ugc2hvdWxkIG5ldmVyIGFwcGVhciBvbiB0aGlzIHBhZ2UgLSBhcyB3ZSBub3cgaGF2ZSB0aGUgZWRpdGZpbGVzcGFnZSBmb3IgdGhhdCwgY29ycmVjdD8gLS0+CgogICAgICAgICAgICAgICAgPCEtLSBSZXN0cmljdGVkIEZpbGUgSWNvbiAtLT48ZGl2IGNsYXNzPSJmaWxlLWljb24tcmVzdHJpY3RlZC1ibG9jayI+ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbG9jayB0ZXh0LWRhbmdlciI+PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLW1ldGFkYXRhIj4KICAgICAgICAgICAgICAgIDwhLS0gcmVuZGVyZWQ9IiMgeyEoZmlsZU1ldGFkYXRhLmRhdGFzZXRWZXJzaW9uLnJlbGVhc2VkIG9yIGZpbGVNZXRhZGF0YS5kYXRhc2V0VmVyc2lvbi5kZWFjY2Vzc2lvbmVkKX0iIC0tPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MzpmaWxlTmFtZUxpbmsiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTozOmZpbGVOYW1lTGluayIgaHJlZj0iL2ZpbGUueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2ZpbGVJZD0zMTMxODU3JmFtcDt2ZXJzaW9uPVJFTEVBU0VEJmFtcDt2ZXJzaW9uPS4wIj5zYWswOGFndF90cmFuc2ZlcnVsYW5nLmRiZjwvYT4KCiAgICAgICAgICAgIDwhLS0gVFlQRSArIFNJWkUgKyBEQVRFICsgQ0hFQ0tTVU0gLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbXV0ZWQgc21hbGwiPgogICAgICAgICAgICAgICAgPCEtLSBpZDozMTMxODU3IC0tPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MzpmaWxlVHlwZU91dHB1dFJlZ3VsYXIiPlVua25vd248L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTozOmZpbGVTaXplIj4gLSAzMjMuNSBNQjwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjM6ZmlsZUNyZWF0ZVB1Ymxpc2hEYXRlIj4gLSBNYXIgMTYsIDIwMTg8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTozOmZpbGVEb3dubG9hZENvdW50Ij4gLSAwIERvd25sb2Fkczwvc3Bhbj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTozOmZpbGUtY2hlY2tzdW0iPk1ENTogYmE2YTVmNjNlMTBkZWU0NmEwMDI1ZjEyZjc1YTRhMGY8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIFVORiArIFZhcmlhYmxlcywgT2JzZXJzdmF0aW9ucyAtLT48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLWFjdGlvbiB0ZXh0LXJpZ2h0ICI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgIAogICAgPCEtLSBDb21wdXRlIEJ1dHRvbiAqRmlsZSBwZyBvbmx5KjogLS0+CiAgICA8IS0tIENvbXB1dGUgQnV0dG9uICpEYXRhc2V0IHBnIG9ubHkqOiAtLT48L2Rpdj48L3RkPjwvdHI+PHRyIGRhdGEtcmk9IjQiIGRhdGEtcms9InMzOi8vZHZuLWNsb3VkOjE2MjBiOWQ1YzBkLWU5MTg5MmI0OTgwYSIgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHVpLWRhdGF0YWJsZS1ldmVuIHVpLWRhdGF0YWJsZS1zZWxlY3RhYmxlIiByb2xlPSJyb3ciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDoyMHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9jaGVja2JveCIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6NjRweCAhaW1wb3J0YW50OyIgY2xhc3M9ImNvbC1maWxlLXRodW1iIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDwhLS0gVGh1bWJuYWlsIFByZXZpZXcgLS0+CgogICAgICAgICAgICAgICAgPCEtLSBEZWZhdWx0IEljb24gLS0+PHNwYW4gY2xhc3M9Imljb24tb3RoZXIgZmlsZS10aHVtYm5haWwtaWNvbiB0ZXh0LW11dGVkIj48L3NwYW4+CgogICAgICAgICAgICAgICAgPCEtLSB0aGUgInRlbXAgcHJldmlldyIgaXMgZm9yIG5ldywgbm90IHlldCBzYXZlZCBmaWxlczsgdGhlc2Ugc2hvdWxkIG5ldmVyIGFwcGVhciBvbiB0aGlzIHBhZ2UgLSBhcyB3ZSBub3cgaGF2ZSB0aGUgZWRpdGZpbGVzcGFnZSBmb3IgdGhhdCwgY29ycmVjdD8gLS0+CgogICAgICAgICAgICAgICAgPCEtLSBSZXN0cmljdGVkIEZpbGUgSWNvbiAtLT48ZGl2IGNsYXNzPSJmaWxlLWljb24tcmVzdHJpY3RlZC1ibG9jayI+ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbG9jayB0ZXh0LWRhbmdlciI+PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLW1ldGFkYXRhIj4KICAgICAgICAgICAgICAgIDwhLS0gcmVuZGVyZWQ9IiMgeyEoZmlsZU1ldGFkYXRhLmRhdGFzZXRWZXJzaW9uLnJlbGVhc2VkIG9yIGZpbGVNZXRhZGF0YS5kYXRhc2V0VmVyc2lvbi5kZWFjY2Vzc2lvbmVkKX0iIC0tPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6NDpmaWxlTmFtZUxpbmsiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTo0OmZpbGVOYW1lTGluayIgaHJlZj0iL2ZpbGUueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2ZpbGVJZD0zMTMxODU4JmFtcDt2ZXJzaW9uPVJFTEVBU0VEJmFtcDt2ZXJzaW9uPS4wIj5zYWswOGZlYi5kYmY8L2E+CgogICAgICAgICAgICA8IS0tIFRZUEUgKyBTSVpFICsgREFURSArIENIRUNLU1VNIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LW11dGVkIHNtYWxsIj4KICAgICAgICAgICAgICAgIDwhLS0gaWQ6MzEzMTg1OCAtLT48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjQ6ZmlsZVR5cGVPdXRwdXRSZWd1bGFyIj5Vbmtub3duPC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6NDpmaWxlU2l6ZSI+IC0gMzMuMiBNQjwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjQ6ZmlsZUNyZWF0ZVB1Ymxpc2hEYXRlIj4gLSBNYXIgMTYsIDIwMTg8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTo0OmZpbGVEb3dubG9hZENvdW50Ij4gLSAwIERvd25sb2Fkczwvc3Bhbj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTo0OmZpbGUtY2hlY2tzdW0iPk1ENTogMzhlZTViM2MxMDAxZjRlNjFlZjUyYjgzYjU2N2U4MzE8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIFVORiArIFZhcmlhYmxlcywgT2JzZXJzdmF0aW9ucyAtLT48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLWFjdGlvbiB0ZXh0LXJpZ2h0ICI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgIAogICAgPCEtLSBDb21wdXRlIEJ1dHRvbiAqRmlsZSBwZyBvbmx5KjogLS0+CiAgICA8IS0tIENvbXB1dGUgQnV0dG9uICpEYXRhc2V0IHBnIG9ubHkqOiAtLT48L2Rpdj48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxkaXYgY2xhc3M9InVpLXdpZGdldC1oZWFkZXIgdWktZGF0YXRhYmxlLXNjcm9sbGFibGUtZm9vdGVyIj48ZGl2IGNsYXNzPSJ1aS1kYXRhdGFibGUtc2Nyb2xsYWJsZS1mb290ZXItYm94Ij48dGFibGUgcm9sZT0iZ3JpZCI+PC90YWJsZT48L2Rpdj48L2Rpdj48aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3NlbGVjdGlvbiIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3NlbGVjdGlvbiIgYXV0b2NvbXBsZXRlPSJvZmYiIHZhbHVlPSIiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9zY3JvbGxTdGF0ZSIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3Njcm9sbFN0YXRlIiBhdXRvY29tcGxldGU9Im9mZiIgdmFsdWU9IjAsMCIgLz48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGF0YVRhYmxlIiwiZmlsZXNUYWJsZSIse2lkOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHNlbGVjdGlvbk1vZGU6ImNoZWNrYm94IixzY3JvbGxhYmxlOnRydWUsbGl2ZVNjcm9sbDp0cnVlLHNjcm9sbFN0ZXA6MjUsc2Nyb2xsTGltaXQ6NSxzY3JvbGxXaWR0aDoiMTAwJSIsc2Nyb2xsSGVpZ2h0OiI5MiUiLGxpdmVTY3JvbGxCdWZmZXI6MH0pO30pOzwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6bWV0YWRhdGFNYXBUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj48ZGl2IGNsYXNzPSJidXR0b24tYmxvY2sgdGFiLWhlYWRlciBtYXJnaW4tYm90dG9tIHRleHQtcmlnaHQiPjxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xlIiB0eXBlPSJidXR0b24iIHN0eWxlQ2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leHBvcnQiPjwvc3Bhbj4gRXhwb3J0IE1ldGFkYXRhIDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2V4cG9ydGVyPWRjdGVybXMmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9HQU9DMDMiIHRhcmdldD0iX2JsYW5rIj5EdWJsaW4gQ29yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2V4cG9ydGVyPWRkaSZhbXA7cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAvRFZOL0dBT0MwMyIgdGFyZ2V0PSJfYmxhbmsiPkRESTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2V4cG9ydGVyPWRhdGF2ZXJzZV9qc29uJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vR0FPQzAzIiB0YXJnZXQ9Il9ibGFuayI+SlNPTjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP2V4cG9ydGVyPXNjaGVtYS5vcmcmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9HQU9DMDMiIHRhcmdldD0iX2JsYW5rIj5TY2hlbWEub3JnIEpTT04tTEQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PjwvZGl2PgogICAgPCEtLSBWaWV3IE1vZGUgLS0+PGRpdiBjbGFzcz0icGFuZWwtZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICAgICAgIDxkaXYgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3BhbmVsQ29sbGFwc2UwIiBjbGFzcz0icGFuZWwtaGVhZGluZyB0ZXh0LWluZm8iPgogICAgICAgICAgICAgICAgICAgIENpdGF0aW9uIE1ldGFkYXRhIMKgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tY2hldnJvbi11cCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwYW5lbENvbGxhcHNlMCIgY2xhc3M9ImNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5IG1ldGFkYXRhLXBhbmVsLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfcHVibGljYXRpb25EYXRlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSB1bmlxdWUgcGVyc2lzdGVudCBpZGVudGlmaWVyIGZvciBhIERhdGFzZXQsIHdoaWNoIGNhbiBiZSBhIEhhbmRsZSBvciBET0kgaW4gRGF0YXZlcnNlLiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhc2V0IFBlcnNpc3RlbnQgSUQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2k6MTAuNzkxMC9EVk4vR0FPQzAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9wdWJsaWNhdGlvbkRhdGUiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIHB1YmxpY2F0aW9uIGRhdGUgb2YgYSBkYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiBEYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxOC0wMy0xNgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfdGl0bGUiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iRnVsbCB0aXRsZSBieSB3aGljaCB0aGUgRGF0YXNldCBpcyBrbm93bi4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGl0bGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQcmltaXRpdmUgZGF0YXNldEZpZWxkcyAtLT48ZGl2IGNsYXNzPSJjb2wtc20tOSI+VGhlIE5hdGlvbmFsIExhYm9yIEZvcmNlIDogU0FLRVJOQVMsIDIwMDg8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbXBvdW5kIGRhdGFzZXRGaWVsZHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2F1dGhvciIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgcGVyc29uKHMpLCBjb3Jwb3JhdGUgYm9keShpZXMpLCBvciBhZ2VuY3koaWVzKSByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHdvcmsuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByaW1pdGl2ZSBkYXRhc2V0RmllbGRzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29tcG91bmQgZGF0YXNldEZpZWxkcyAtLT48ZGl2IGNsYXNzPSJjb2wtc20tOSI+QmFkYW4gUHVzYXQgU3RhdGlzdGlrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfZGF0YXNldENvbnRhY3QiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIGNvbnRhY3QocykgZm9yIHRoaXMgRGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGFjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByaW1pdGl2ZSBkYXRhc2V0RmllbGRzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29tcG91bmQgZGF0YXNldEZpZWxkcyAtLT48ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IFVzZSBlbWFpbCBidXR0b24gYWJvdmUgdG8gY29udGFjdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5CYWxkaXNzZXJvdHRvLCBKb2huIChIYXJ2YXJkIFVuaXZlcnNpdHkpIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2RzRGVzY3JpcHRpb24iIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQSBzdW1tYXJ5IGRlc2NyaWJpbmcgdGhlIHB1cnBvc2UsIG5hdHVyZSwgYW5kIHNjb3BlIG9mIHRoZSBEYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByaW1pdGl2ZSBkYXRhc2V0RmllbGRzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ29tcG91bmQgZGF0YXNldEZpZWxkcyAtLT48ZGl2IGNsYXNzPSJjb2wtc20tOSI+TmF0aW9uYWwgbGFib3IgZm9yY2Ugc3VydmV5IGluIEluZG9uZXNpYS4gU3VydmVpIGFuZ2thdGFuIGtlcmphIG5hc2lvbmFsLiAyMDA4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfc3ViamVjdCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJEb21haW4tc3BlY2lmaWMgU3ViamVjdCBDYXRlZ29yaWVzIHRoYXQgYXJlIHRvcGljYWxseSByZWxldmFudCB0byB0aGUgRGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ViamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByaW1pdGl2ZSBkYXRhc2V0RmllbGRzIC0tPjxkaXYgY2xhc3M9ImNvbC1zbS05Ij5Tb2NpYWwgU2NpZW5jZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbXBvdW5kIGRhdGFzZXRGaWVsZHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2tleXdvcmQiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iS2V5IHRlcm1zIHRoYXQgZGVzY3JpYmUgaW1wb3J0YW50IGFzcGVjdHMgb2YgdGhlIERhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtleXdvcmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQcmltaXRpdmUgZGF0YXNldEZpZWxkcyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbXBvdW5kIGRhdGFzZXRGaWVsZHMgLS0+PGRpdiBjbGFzcz0iY29sLXNtLTkiPkxhYm9yIFN1cHBseSwgSW5kb25lc2lhLCBTdGF0aXN0aWNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfZGVwb3NpdG9yIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSBwZXJzb24gKEZhbWlseSBOYW1lLCBHaXZlbiBOYW1lKSBvciB0aGUgbmFtZSBvZiB0aGUgb3JnYW5pemF0aW9uIHRoYXQgZGVwb3NpdGVkIHRoaXMgRGF0YXNldCB0byB0aGUgcmVwb3NpdG9yeS4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwb3NpdG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJpbWl0aXZlIGRhdGFzZXRGaWVsZHMgLS0+PGRpdiBjbGFzcz0iY29sLXNtLTkiPkJhbGRpc3Nlcm90dG8sIEpvaG48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbXBvdW5kIGRhdGFzZXRGaWVsZHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2RhdGVPZkRlcG9zaXQiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iRGF0ZSB0aGF0IHRoZSBEYXRhc2V0IHdhcyBkZXBvc2l0ZWQgaW50byB0aGUgcmVwb3NpdG9yeS4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwb3NpdCBEYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJpbWl0aXZlIGRhdGFzZXRGaWVsZHMgLS0+PGRpdiBjbGFzcz0iY29sLXNtLTkiPjIwMTgtMDMtMDk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENvbXBvdW5kIGRhdGFzZXRGaWVsZHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgIDwhLS0gRWRpdCBNb2RlIC0tPjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dGVybXNUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KPCEtLSBURVJNUyAtLT4KICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIj4KICAgICAgIDxkaXYgY2xhc3M9InBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgIDxkaXYgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3BhbmVsQ29sbGFwc2VUT1UiIGNsYXNzPSJwYW5lbC1oZWFkaW5nIHRleHQtaW5mbyI+CiAgICAgICAgICAgICAgIFRlcm1zIG9mIFVzZSDCoDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tdXAiPjwvc3Bhbj4KICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICA8ZGl2IGlkPSJwYW5lbENvbGxhcHNlVE9VIiBjbGFzcz0iY29sbGFwc2UgaW4iPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dG91RnJhZ21lbnQiPgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX1Rlcm1zIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgd2FpdmVyIGluZm9ybXMgZGF0YSBkb3dubG9hZGVycyBob3cgdGhleSBjYW4gdXNlIHRoaXMgZGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdhaXZlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPk91ciA8YSBocmVmPSJodHRwOi8vYmVzdC1wcmFjdGljZXMuZGF0YXZlcnNlLm9yZy9oYXJ2YXJkLXBvbGljaWVzL2NvbW11bml0eS1ub3Jtcy5odG1sIiB0aXRsZT0iRGF0YXZlcnNlIENvbW11bml0eSBOb3JtcyAtIERhdGF2ZXJzZSBCZXN0IFByYWN0aWNlcyIgdGFyZ2V0PSJfYmxhbmsiPkNvbW11bml0eSBOb3JtczwvYT4gYXMgd2VsbCBhcyBnb29kIHNjaWVudGlmaWMgcHJhY3RpY2VzIGV4cGVjdCB0aGF0IHByb3BlciBjcmVkaXQgaXMgZ2l2ZW4gdmlhIGNpdGF0aW9uLiBQbGVhc2UgdXNlIHRoZSBkYXRhIGNpdGF0aW9uIGFib3ZlLCBnZW5lcmF0ZWQgYnkgdGhlIERhdGF2ZXJzZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Tm8gd2FpdmVyIGhhcyBiZWVuIHNlbGVjdGVkIGZvciB0aGlzIGRhdGFzZXQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfVGVybXNVc2UiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9Ik91dGxpbmVzIGhvdyB0aGlzIGRhdGEgY2FuIGJlIHVzZWQgb25jZSBkb3dubG9hZGVkLiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgVXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij5MaWNlbnNlZCBlbGVjdHJvbmljIHJlc291cmNlcyBhcmUgcmVzdHJpY3RlZCB0byBtZW1iZXJzIG9mIHRoZSBIYXJ2YXJkIGNvbW11bml0eSBmb3IgcHVycG9zZXMgb2YgcmVzZWFyY2gsIHRlYWNoaW5nLCBhbmQgcHJpdmF0ZSBzdHVkeS4gVW5kZXIgSGFydmFyZCdzIGxpY2Vuc2VzIGZvciBlbGVjdHJvbmljIHJlc291cmNlcywgdXNlcnMgZ2VuZXJhbGx5IG1heSBub3Q6IHBlcm1pdCBhbnlvbmUgb3RoZXIgdGhhbiBhdXRob3JpemVkIHVzZXJzIHRvIHVzZSB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzOyBtb2RpZnkgb3IgY3JlYXRlIGEgZGVyaXZhdGl2ZSB3b3JrIG9mIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHMgd2l0aG91dCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgbGljZW5zb3I7IHJlbW92ZSwgb2JzY3VyZSBvciBtb2RpZnkgYW55IGNvcHlyaWdodCBvciBvdGhlciBub3RpY2VzIGluY2x1ZGVkIGluIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHM7IHVzZSB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSBzYWxlIG9mIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHMuIFVzZXJzIGFyZSBpbmRpdmlkdWFsbHkgcmVzcG9uc2libGUgZm9yIGNvbXBsaWFuY2Ugd2l0aCB0aGVzZSB0ZXJtcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQWRkaXRpb25hbCBJbmZvcm1hdGlvbgogICAgICAgICAgICAgICAgICAgICAgICZsdDt1aTpmcmFnbWVudCByZW5kZXJlZD0iIyB7IWVtcHR5IGVkaXRNb2RlIG9yIGVtcHR5IGVkaXRNb2RlIGFuZCAoIWVtcHR5IHRlcm1zT2ZVc2VBbmRBY2Nlc3MuY29uZmlkZW50aWFsaXR5RGVjbGFyYXRpb24gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgIWVtcHR5IHRlcm1zT2ZVc2VBbmRBY2Nlc3Muc3BlY2lhbFBlcm1pc3Npb25zIG9yICFlbXB0eSB0ZXJtc09mVXNlQW5kQWNjZXNzLnJlc3RyaWN0aW9ucyBvciAhZW1wdHkgdGVybXNPZlVzZUFuZEFjY2Vzcy5jaXRhdGlvblJlcXVpcmVtZW50cyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciAhZW1wdHkgdGVybXNPZlVzZUFuZEFjY2Vzcy5kZXBvc2l0b3JSZXF1aXJlbWVudHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciAhZW1wdHkgdGVybXNPZlVzZUFuZEFjY2Vzcy5jb25kaXRpb25zIG9yICFlbXB0eSB0ZXJtc09mVXNlQW5kQWNjZXNzLmRpc2NsYWltZXIpfSImZ3Q7IC0tPgogICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIDwhLS0gJmx0Oy91aTpmcmFnbWVudCZndDsKICAgICAgICAgICAgICAgICAgICAgICBFTkQ6IEFkZGl0aW9uYWwgSW5mb3JtYXRpb24gLS0+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICA8L2Rpdj4KICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9InBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgIDxkaXYgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3BhbmVsQ29sbGFwc2VUT0EiIGNsYXNzPSJwYW5lbC1oZWFkaW5nIHRleHQtaW5mbyI+UmVzdHJpY3RlZCBGaWxlcyArIFRlcm1zIG9mIEFjY2VzcwogICAgICAgICAgICAgICDCoDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tdXAiPjwvc3Bhbj4KICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICA8ZGl2IGlkPSJwYW5lbENvbGxhcHNlVE9BIiBjbGFzcz0iY29sbGFwc2UgaW4iPgogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5Ij48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfUmVzdHJpY3RlZEZpbGVzIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgbnVtYmVyIG9mIHJlc3RyaWN0ZWQgZmlsZXMgaW4gdGhpcyBkYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzdHJpY3RlZCBGaWxlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGVyZSBhcmUgNSByZXN0cmljdGVkIGZpbGVzIGluIHRoaXMgZGF0YXNldC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX1Rlcm1zQWNjZXNzIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJJbmZvcm1hdGlvbiBvbiBob3cgYW5kIGlmIHVzZXJzIGNhbiBnYWluIGFjY2VzcyB0byB0aGUgcmVzdHJpY3RlZCBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXJtcyBvZiBBY2Nlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhpcyBkYXRhc2V0IGlzIHJlc3RyaWN0ZWQgdG8gbWVtYmVycyBvZiB0aGUgSGFydmFyZCBjb21tdW5pdHkgZm9yIHB1cnBvc2VzIG9mIHJlc2VhcmNoLCB0ZWFjaGluZywgYW5kIHByaXZhdGUgc3R1ZHkuIEhhcnZhcmQgYWZmaWxpYXRlcyBtYXkgYWNjZXNzIHRoZSBkYXRhIGJ5IGxvZ2dpbmcgaW50byB0aGlzIHN5c3RlbSB2aWEgdGhlIGluc3RpdHV0aW9uYWwgbG9naW4gYW5kIHNlbGVjdGluZyBIYXJ2YXJkIFVuaXZlcnNpdHkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfUmVxdWVzdEFjY2VzcyIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iSWYgY2hlY2tlZCwgdXNlcnMgY2FuIHJlcXVlc3QgYWNjZXNzIHRvIHRoZSByZXN0cmljdGVkIGZpbGVzIGluIHRoaXMgZGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVlc3QgQWNjZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlVzZXJzIG1heSBub3QgcmVxdWVzdCBhY2Nlc3MgdG8gZmlsZXMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgoKICAgICAgICAgICAgICAgICAgIDwhLS0gQWRkaXRpb25hbCBJbmZvcm1hdGlvbgogICAgICAgICAgICAgICAgICAgJmx0O3VpOmZyYWdtZW50IHJlbmRlcmVkPSIjIHshZW1wdHkgZWRpdE1vZGUgb3IgZW1wdHkgZWRpdE1vZGUgYW5kICghZW1wdHkgdGVybXNPZlVzZUFuZEFjY2Vzcy5kYXRhQWNjZXNzUGxhY2UgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciAhZW1wdHkgdGVybXNPZlVzZUFuZEFjY2Vzcy5vcmlnaW5hbEFyY2hpdmUgb3IgIWVtcHR5IHRlcm1zT2ZVc2VBbmRBY2Nlc3MuYXZhaWxhYmlsaXR5U3RhdHVzIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgIWVtcHR5IHRlcm1zT2ZVc2VBbmRBY2Nlc3MuY29udGFjdEZvckFjY2VzcyBvciAhZW1wdHkgdGVybXNPZlVzZUFuZEFjY2Vzcy5zaXplT2ZDb2xsZWN0aW9uIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgIWVtcHR5IHRlcm1zT2ZVc2VBbmRBY2Nlc3Muc3R1ZHlDb21wbGV0aW9uKX0iJmd0OyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgIDwhLS0gJmx0Oy91aTpmcmFnbWVudCZndDsKICAgICAgICAgICAgICAgICAgIEVORDogQWRkaXRpb25hbCBJbmZvcm1hdGlvbiAtLT4KICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgPGRpdiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjcGFuZWxDb2xsYXBzZUd1ZXN0Ym9vayIgY2xhc3M9InBhbmVsLWhlYWRpbmcgdGV4dC1pbmZvIj4KICAgICAgICAgICAgICAgR3Vlc3Rib29rIMKgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tY2hldnJvbi11cCI+PC9zcGFuPgogICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDxkaXYgaWQ9InBhbmVsQ29sbGFwc2VHdWVzdGJvb2siIGNsYXNzPSJjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfR3Vlc3Rib29rIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlVzZXIgaW5mb3JtYXRpb24gKGkuZS4sIG5hbWUsIGVtYWlsLCBpbnN0aXR1dGlvbiwgYW5kIHBvc2l0aW9uKSB3aWxsIGJlIGNvbGxlY3RlZCB3aGVuIGZpbGVzIGFyZSBkb3dubG9hZGVkLiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHdWVzdGJvb2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk5vIGd1ZXN0Ym9vayBpcyBhc3NpZ25lZCB0byB0aGlzIGRhdGFzZXQsIHlvdSB3aWxsIG5vdCBiZSBwcm9tcHRlZCB0byBwcm92aWRlIGFueSBpbmZvcm1hdGlvbiBvbiBmaWxlIGRvd25sb2FkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICA8L2Rpdj48L2Rpdj4gCiAgICA8L2Rpdj4KICAgIDwhLS0gLyBURVJNUyAtLT4KCiAgICA8IS0tIFByZXZpZXcgR3Vlc3Rib29rIC0tPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9vayIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9va190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UHJldmlldyBHdWVzdGJvb2s8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgIFVwb24gZG93bmxvYWRpbmcgZmlsZXMgdGhlIGd1ZXN0Ym9vayBhc2tzIGZvciB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICBHdWVzdGJvb2sgTmFtZQogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS04Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZm9ybS1jb250cm9sLXN0YXRpYyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlVzZXIgZGF0YSBjb2xsZWN0ZWQgYnkgdGhlIGd1ZXN0Ym9vay4iPgogICAgICAgICAgICAgICAgICAgICAgIENvbGxlY3RlZCBEYXRhCiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS04Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZm9ybS1jb250cm9sLXN0YXRpYyI+QWNjb3VudCBJbmZvcm1hdGlvbgogICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSJQRigndmlld0d1ZXN0Ym9vaycpLmhpZGUoKSIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdmFsdWU9IkNsb3NlIj4KICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9va19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJ2aWV3R3Vlc3Rib29rIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9vayIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PgogICAgPCEtLSAvIFByZXZpZXcgR3Vlc3Rib29rIC0tPjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KPCEtLSBWRVJTSU9OUyAtLT4KICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgLyogVmVyc2lvbiB0YWI6IFJldHJpZXZlIGRhdGEgYWZ0ZXIgcGFnZSBsb2FkICovCiAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBwcmVsb2FkX21lc3NhZ2UgPSAiKExvYWRpbmcgdmVyc2lvbnMuLi4pIjsKICAgICAgICAgICAgJCgnI2RhdGFzZXRGb3JtXFw6dGFiVmlld1xcOnZlcnNpb25zVGFibGVfZGF0YSB0ci51aS1kYXRhdGFibGUtZW1wdHktbWVzc2FnZSB0ZCcpLnRleHQocHJlbG9hZF9tZXNzYWdlKTsKICAgICAgICAgICAgcG9zdExvYWRWZXJzaW9uVGFiTGlzdCgpOwogICAgICAgfSk7CiAgIDwvc2NyaXB0PgogICA8IS0tIFJldHJpZXZlIHZlcnNpb24gZGlmZmVyZW5jZXMgYWZ0ZXIgdGhlIHBhZ2UgbG9hZCAtLT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+cG9zdExvYWRWZXJzaW9uVGFiTGlzdCA9IGZ1bmN0aW9uKCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6al9pZHQxMjc1IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDEyNzUiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIscGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PgogICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCBtYXJnaW4tYm90dG9tIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9ucyIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6Y29tcGFyZVZlcnNpb25zJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdkZXRhaWxzQmxvY2tzJykuc2hvdygpO3Bvc3RfZGlmZmVyZW5jZXMoKTs7fX0pO3JldHVybiBmYWxzZTsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkRpcmVjdDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9uc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fdGFiVmlld19jb21wYXJlVmVyc2lvbnMiLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnMifSk7PC9zY3JpcHQ+CiAgICA8L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGUiIGNsYXNzPSJ1aS1kYXRhdGFibGUgdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1kYXRhdGFibGUtdGFibGV3cmFwcGVyIj48dGFibGUgcm9sZT0iZ3JpZCI+PHRoZWFkIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGVfaGVhZCI+PHRyIHJvbGU9InJvdyI+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxMjgzIiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtc20tMSB0ZXh0LWNlbnRlciIgcm9sZT0iY29sdW1uaGVhZGVyIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5EYXRhc2V0PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxMjk2IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCIgcm9sZT0iY29sdW1uaGVhZGVyIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5TdW1tYXJ5PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxMzM5IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtc20tMyIgcm9sZT0iY29sdW1uaGVhZGVyIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5Db250cmlidXRvcnM8L3NwYW4+PC90aD48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZTpqX2lkdDEzNDMiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1zbS0yIiByb2xlPSJjb2x1bW5oZWFkZXIiPjxzcGFuIGNsYXNzPSJ1aS1jb2x1bW4tdGl0bGUiPlB1Ymxpc2hlZDwvc3Bhbj48L3RoPjwvdHI+PC90aGVhZD48dGJvZHkgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZV9kYXRhIiBjbGFzcz0idWktZGF0YXRhYmxlLWRhdGEgdWktd2lkZ2V0LWNvbnRlbnQiPjx0ciBjbGFzcz0idWktd2lkZ2V0LWNvbnRlbnQgdWktZGF0YXRhYmxlLWVtcHR5LW1lc3NhZ2UiPjx0ZCBjb2xzcGFuPSI0Ij5ObyByZWNvcmRzIGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYmxlX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRhdGFUYWJsZSIsInZlcnNpb25zVGFibGUiLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYmxlIn0pO30pOzwvc2NyaXB0Pgo8IS0tIC8gVkVSU0lPTlMgLS0+PC9kaXY+PC9kaXY+PGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXdfYWN0aXZlSW5kZXgiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXdfYWN0aXZlSW5kZXgiIHZhbHVlPSIwIiBhdXRvY29tcGxldGU9Im9mZiIgLz48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiVGFiVmlldyIsImNvbnRlbnQiLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldyIsZWZmZWN0RHVyYXRpb246Im5vcm1hbCIsc2Nyb2xsYWJsZTpmYWxzZSxiZWhhdmlvcnM6e3RhYkNoYW5nZTpmdW5jdGlvbihleHQsZXZlbnQpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3IixlOiJ0YWJDaGFuZ2UiLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXciLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXciLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzKXtiaW5kX2JzdWlfY29tcG9uZW50cygpOzt9fSxleHQpO319fSk7PC9zY3JpcHQ+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBFTkQgVmlldy9UYWJzIGluZm9Nb2RlIC0tPgoKICAgICAgICAgICAgICAgICAgICA8IS0tIENyZWF0ZSBNZXRhZGF0YSBUaXAgLS0+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gQ3JlYXRlL1NhdmUgRGF0YXNldCBCdXR0b24gUGFuZWwgLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBFTkQ6IENyZWF0ZS9TYXZlIERhdGFzZXQgQnV0dG9uIFBhbmVsIC0tPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM1NCIgY2xhc3M9InVpLWJsb2NrdWktY29udGVudCB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1oZWxwZXItaGlkZGVuIHVpLXNoYWRvdyI+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMzU0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkJsb2NrVUkiLCJibG9ja0RhdGFzZXRGb3JtIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTM1NCIsYmxvY2s6ImRhdGFzZXRGb3JtIn0pO30pOzwvc2NyaXB0PgoKICAgICAgICAgICAgICAgICAgICA8IS0tIFBvcHVwcyAtLT48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNTYiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNTZfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlJlc3RyaWN0ZWQgRmlsZXMgU2VsZWN0ZWQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gVGhlIHJlc3RyaWN0ZWQgZmlsZShzKSBzZWxlY3RlZCBtYXkgbm90IGJlIGRvd25sb2FkZWQgYmVjYXVzZSB5b3UgaGF2ZSBub3QgYmVlbiBncmFudGVkIGFjY2Vzcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzYxIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNjEiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignZG93bmxvYWRJbnZhbGlkJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNjFfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTM2MSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzNjEifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM1Nl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkb3dubG9hZEludmFsaWQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxMzU2Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzYzIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzYzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXN0cmljdGVkIEZpbGVzIFNlbGVjdGVkPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFRoZSByZXN0cmljdGVkIGZpbGUocykgc2VsZWN0ZWQgbWF5IG5vdCBiZSBkb3dubG9hZGVkIGJlY2F1c2UgeW91IGhhdmUgbm90IGJlZW4gZ3JhbnRlZCBhY2Nlc3MuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8dGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IENsaWNrIENvbnRpbnVlIHRvIGRvd25sb2FkIHRoZSBmaWxlcyB5b3UgaGF2ZSBhY2Nlc3MgdG8gZG93bmxvYWQuPC9wPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM3MSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxMzcxIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2Rvd25sb2FkTWl4ZWQnKS5oaWRlKCk7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDEzNzEmcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM3MV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxMzcxIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTM3MSJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNzIiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTM3MiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdkb3dubG9hZE1peGVkJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNzJfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTM3MiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzNzIifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM2M19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkb3dubG9hZE1peGVkIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTM2MyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM3NCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM3NF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RGVsZXRlIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGRhdGFzZXQ/IFlvdSBjYW5ub3QgdW5kZWxldGUgdGhpcyBkYXRhc2V0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNzYiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTM3NiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdkZWxldGVDb25maXJtYXRpb24nKS5oaWRlKCk7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDEzNzYmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5Db250aW51ZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNzZfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTM3NiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzNzYifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzc3IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNzciIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignZGVsZXRlQ29uZmlybWF0aW9uJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNzdfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTM3NyIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzNzcifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM3NF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZWxldGVDb25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06al9pZHQxMzc0Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzc5IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzc5X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWxldGUgRHJhZnQgVmVyc2lvbjwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZHJhZnQgdmVyc2lvbj8gWW91IGNhbm5vdCB1bmRlbGV0ZSB0aGlzIGRyYWZ0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzODEiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTM4MSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdkZWxldGVWZXJzaW9uQ29uZmlybWF0aW9uJykuaGlkZSgpO1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxMzgxJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMzgxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDEzODEiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxMzgxIn0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM4MiIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxMzgyIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2RlbGV0ZVZlcnNpb25Db25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM4Ml9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxMzgyIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTM4MiJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMzc5X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlbGV0ZVZlcnNpb25Db25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06al9pZHQxMzc5Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cHJpdmF0ZVVybElkIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cHJpdmF0ZVVybElkX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5VbnB1Ymxpc2hlZCBEYXRhc2V0IFByaXZhdGUgVVJMPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpwcml2YXRlVXJsUGFuZWxDYW5ub3RDcmVhdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFByaXZhdGUgVVJMIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB1bnB1Ymxpc2hlZCB2ZXJzaW9ucyBvZiBkYXRhc2V0cy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQwMSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDAxIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdwcml2YXRlVXJsQ29uZmlybWF0aW9uJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MDFfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTQwMSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE0MDEifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpwcml2YXRlVXJsSWRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwicHJpdmF0ZVVybENvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpwcml2YXRlVXJsSWQiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MDMiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MDNfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlVucHVibGlzaGVkIERhdGFzZXQgUHJpdmF0ZSBVUkw8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRpc2FibGUgdGhlIFByaXZhdGUgVVJMPyBJZiB5b3UgaGF2ZSBzaGFyZWQgdGhlIFByaXZhdGUgVVJMIHdpdGggb3RoZXJzIHRoZXkgd2lsbCBubyBsb25nZXIgYmUgYWJsZSB0byB1c2UgaXQgdG8gYWNjZXNzIHlvdXIgdW5wdWJsaXNoZWQgZGF0YXNldC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDA1IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MDUiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2Rpc2FibGVQcml2YXRlVXJsQ29uZmlybWF0aW9uJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTQwNSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnByaXZhdGVVcmxQYW5lbCBtZXNzYWdlUGFuZWwmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5ZZXMsIERpc2FibGUgUHJpdmF0ZSBVUkw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDA1X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0MDUiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDA1In0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQwNiIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDA2IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdkaXNhYmxlUHJpdmF0ZVVybENvbmZpcm1hdGlvbicpLmhpZGUoKTtQRigncHJpdmF0ZVVybENvbmZpcm1hdGlvbicpLnNob3coKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDA2X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0MDYiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDA2In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MDNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDAzIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDA4IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDA4X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWxldGUgRmlsZXM8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gVGhlIGZpbGUocykgd2lsbCBiZSBkZWxldGVkIGFmdGVyIHlvdSBjbGljayBvbiB0aGUgRGVsZXRlIGJ1dHRvbi48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gRmlsZXMgd2lsbCBub3QgYmUgcmVtb3ZlZCBmcm9tIHByZXZpb3VzbHkgcHVibGlzaGVkIHZlcnNpb25zIG9mIHRoZSBkYXRhc2V0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MTMiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQxMyIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb24nKS5oaWRlKCk7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE0MTMmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5EZWxldGU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDEzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0MTMiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDEzIn0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQxNCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDE0IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2RlbGV0ZVNlbGVjdGVkRmlsZUNvbmZpcm1hdGlvbicpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQxNF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNDE0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQxNCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDA4X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlbGV0ZVNlbGVjdGVkRmlsZUNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE0MDgiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MTYiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MTZfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRhdGFzZXQgQ29tcHV0ZSBOb3QgU3VwcG9ydGVkPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFlvdSBjYW5ub3QgY29tcHV0ZSBvbiB0aGlzIGRhdGFzZXQgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGVuYWJsZWQgeWV0LiBQbGVhc2UgY2xpY2sgb24gYSBmaWxlIHRvIGFjY2VzcyBjb21wdXRpbmcgZmVhdHVyZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQxOCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDE4IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2RhdGFzZXRDb21wdXRlQWNjZXNzRGVuaWVkUG9wdXAnKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQxOF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNDE4Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQxOCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDE2X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRhdGFzZXRDb21wdXRlQWNjZXNzRGVuaWVkUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDE2Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25CbG9jayIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkJsb2NrX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWFjY2Vzc2lvbiBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IE9uY2UgeW91IGRlYWNjZXNzaW9uIHRoaXMgZGF0YXNldCBpdCB3aWxsIG5vIGxvbmdlciBiZSB2aWV3YWJsZSBieSB0aGUgcHVibGljLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJyZWFzb25PcHRpb25zIj5XaGF0IGlzIHRoZSByZWFzb24gZm9yIGRlYWNjZXNzaW9uPyA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD48c2VsZWN0IGlkPSJkYXRhc2V0Rm9ybTpyZWFzb25PcHRpb25zIiBuYW1lPSJkYXRhc2V0Rm9ybTpyZWFzb25PcHRpb25zIiBjbGFzcz0iZm9ybS1jb250cm9sIiBzaXplPSIxIj4JPG9wdGlvbiB2YWx1ZT0iMCIgc2VsZWN0ZWQ9InNlbGVjdGVkIj5TZWxlY3QuLi48L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IjEiPlRoZXJlIGlzIGlkZW50aWZpYWJsZSBkYXRhIGluIG9uZSBvciBtb3JlIGZpbGVzPC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSIyIj5UaGUgcmVzZWFyY2ggYXJ0aWNsZSBoYXMgYmVlbiByZXRyYWN0ZWQ8L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IjMiPlRoZSBkYXRhc2V0IGhhcyBiZWVuIHRyYW5zZmVycmVkIHRvIGFub3RoZXIgcmVwb3NpdG9yeTwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iNCI+SVJCIHJlcXVlc3Q8L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IjUiPkxlZ2FsIGlzc3VlIG9yIERhdGEgVXNhZ2UgQWdyZWVtZW50PC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSI2Ij5Ob3QgYSB2YWxpZCBkYXRhc2V0PC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSI3Ij5PdGhlciAoUGxlYXNlIHR5cGUgcmVhc29uIGluIHNwYWNlIHByb3ZpZGVkIGJlbG93KTwvb3B0aW9uPgo8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0icmVhc29uRm9yRGVhY2Nlc3Npb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBlbnRlciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSByZWFzb24gZm9yIGRlYWNjZXNzaW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48dGV4dGFyZWEgaWQ9ImRhdGFzZXRGb3JtOnJlYXNvbkZvckRlYWNjZXNzaW9uIiBuYW1lPSJkYXRhc2V0Rm9ybTpyZWFzb25Gb3JEZWFjY2Vzc2lvbiIgY29scz0iNDAiIHJvd3M9IjIiIG1heGxlbmd0aD0iMjE0NzQ4MzY0NyIgb25rZXl1cD0idXBkYXRlSGlkZGVuUmVhc29uKHRoaXMpOyIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0YXJlYSB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCI+PC90ZXh0YXJlYT48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpyZWFzb25Gb3JEZWFjY2Vzc2lvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJJbnB1dFRleHRhcmVhIiwicmVhc29uRm9yRGVhY2Nlc3Npb24iLHtpZDoiZGF0YXNldEZvcm06cmVhc29uRm9yRGVhY2Nlc3Npb24iLGF1dG9SZXNpemU6ZmFsc2V9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MzYiIGFyaWEtbGl2ZT0icG9saXRlIiBjbGFzcz0idWktbWVzc2FnZSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9ImZvcndhcmRVUkxGb3JEZWFjY2Vzc2lvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgYXBwbGljYWJsZSwgcGxlYXNlIGxlYXZlIGEgVVJMIHdoZXJlIHRoaXMgZGF0YXNldCBjYW4gYmUgYWNjZXNzZWQgYWZ0ZXIgZGVhY2Nlc3Npb25pbmcuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06Zm9yd2FyZFVSTEZvckRlYWNjZXNzaW9uIiBuYW1lPSJkYXRhc2V0Rm9ybTpmb3J3YXJkVVJMRm9yRGVhY2Nlc3Npb24iIHR5cGU9InRleHQiIHZhbHVlPSIiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCIgLz48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmb3J3YXJkVVJMRm9yRGVhY2Nlc3Npb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJJbnB1dFRleHQiLCJmb3J3YXJkVVJMRm9yRGVhY2Nlc3Npb24iLHtpZDoiZGF0YXNldEZvcm06Zm9yd2FyZFVSTEZvckRlYWNjZXNzaW9uIn0pOzwvc2NyaXB0PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOndhdGVybWFya19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJXYXRlcm1hcmsiLCJ3aWRnZXRfZGF0YXNldEZvcm1fd2F0ZXJtYXJrIix7aWQ6ImRhdGFzZXRGb3JtOndhdGVybWFyayIsdmFsdWU6Ik9wdGlvbmFsIGRhdGFzZXQgc2l0ZSwgaHR0cDpcL1wvLi4uIix0YXJnZXQ6ImRhdGFzZXRGb3JtOmZvcndhcmRVUkxGb3JEZWFjY2Vzc2lvbiJ9LCJ3YXRlcm1hcmsiKTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGEgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ0MSIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdkZWFjY2Vzc2lvbkJsb2NrJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTQ0MSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9ImJ1dHRvbiI+Q2FuY2VsPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkJsb2NrX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlYWNjZXNzaW9uQmxvY2siLHtpZDoiZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25CbG9jayIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWFjY2Vzc2lvbiBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWFjY2Vzc2lvbj8gVGhlIHNlbGVjdGVkIHZlcnNpb24ocykgd2lsbCBubyBsb25nZXIgYmUgdmlld2FibGUgYnkgdGhlIHB1YmxpYy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDQ0IiB2YWx1ZT0iWWVzIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZGVhY2Nlc3Npb25Db25maXJtYXRpb24nKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkZWFjY2Vzc2lvbkJsb2NrJykuaGlkZSgpIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIHZhbHVlPSJObyIgb25jbGljaz0iUEYoJ2RlYWNjZXNzaW9uQ29uZmlybWF0aW9uJykuaGlkZSgpIj5ObzwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbiIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWFjY2Vzc2lvbiBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWFjY2Vzc2lvbiB0aGlzIGRhdGFzZXQ/IEl0IHdpbGwgbm8gbG9uZ2VyIGJlIHZpZXdhYmxlIGJ5IHRoZSBwdWJsaWMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQ0NyIgdmFsdWU9IlllcyIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2RlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZGVhY2Nlc3Npb25CbG9jaycpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIHZhbHVlPSJObyIgb25jbGljaz0iUEYoJ2RlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiPk5vPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25WZXJzaW9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbmZpcm1EaWFsb2ciLCJzZWxlY3REZWFjY2Vzc2lvblZlcnNpb24iLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25WZXJzaW9uIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdERlYWNjZXNzaW9uVmVyc2lvbiIgY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nIHVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlBsZWFzZSBTZWxlY3QgVmVyc2lvbihzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1hbGVydCB1aS1jb25maXJtLWRpYWxvZy1zZXZlcml0eSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZy1tZXNzYWdlIj5QbGVhc2Ugc2VsZWN0IHZlcnNpb24ocykgZm9yIGRlYWNjZXNzaW9uaW5nLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctYnV0dG9ucGFuZSB1aS1kaWFsb2ctZm9vdGVyIHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCI+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25SZWFzb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsInNlbGVjdERlYWNjZXNzaW9uUmVhc29uIix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdERlYWNjZXNzaW9uUmVhc29uIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdERlYWNjZXNzaW9uUmVhc29uIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UGxlYXNlIFNlbGVjdCBSZWFzb248L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tYWxlcnQgdWktY29uZmlybS1kaWFsb2ctc2V2ZXJpdHkiPjwvc3Bhbj48c3BhbiBjbGFzcz0idWktY29uZmlybS1kaWFsb2ctbWVzc2FnZSI+UGxlYXNlIHNlbGVjdCByZWFzb24gZm9yIGRlYWNjZXNzaW9uaW5nLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctYnV0dG9ucGFuZSB1aS1kaWFsb2ctZm9vdGVyIHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCI+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZW50ZXJGb3J3YXJkVXJsX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbmZpcm1EaWFsb2ciLCJlbnRlckZvcndhcmRVcmwiLHtpZDoiZGF0YXNldEZvcm06ZW50ZXJGb3J3YXJkVXJsIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmVudGVyRm9yd2FyZFVybCIgY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nIHVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkludmFsaWQgVVJMPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWFsZXJ0IHVpLWNvbmZpcm0tZGlhbG9nLXNldmVyaXR5Ij48L3NwYW4+PHNwYW4gY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2UiPlBsZWFzZSBlbnRlciB2YWxpZCBmb3J3YXJkaW5nIFVSTC48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktZGlhbG9nLWZvb3RlciB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXgiPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmVudGVyT3RoZXJSZWFzb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsImVudGVyT3RoZXJSZWFzb24iLHtpZDoiZGF0YXNldEZvcm06ZW50ZXJPdGhlclJlYXNvbiJ9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTplbnRlck90aGVyUmVhc29uIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RW50ZXIgYWRkaXRpb25hbCBpbmZvcm1hdGlvbjwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1hbGVydCB1aS1jb25maXJtLWRpYWxvZy1zZXZlcml0eSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZy1tZXNzYWdlIj5QbGVhc2UgZW50ZXIgdGV4dCBmb3IgcmVhc29uIGZvciBkZWFjY2Vzc2lvbmluZy48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktZGlhbG9nLWZvb3RlciB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXgiPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlYXNvblRvb01hbnlDaGFyYWN0ZXJzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkNvbmZpcm1EaWFsb2ciLCJyZWFzb25Ub29NYW55Q2hhcmFjdGVycyIse2lkOiJkYXRhc2V0Rm9ybTpyZWFzb25Ub29NYW55Q2hhcmFjdGVycyJ9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpyZWFzb25Ub29NYW55Q2hhcmFjdGVycyIgY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nIHVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkxpbWl0IDEwMDAgY2hhcmFjdGVyczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1hbGVydCB1aS1jb25maXJtLWRpYWxvZy1zZXZlcml0eSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZy1tZXNzYWdlIj5UZXh0IGZvciByZWFzb24gZm9yIGRlYWNjZXNzaW9uaW5nIG1heSBiZSBubyBsb25nZXIgdGhhbiAxMDAwIGNoYXJhY3RlcnMuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1idXR0b25wYW5lIHVpLWRpYWxvZy1mb290ZXIgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4Ij48L2Rpdj48L2Rpdj48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOmhpZGRlblJlYXNvbklucHV0IiBuYW1lPSJkYXRhc2V0Rm9ybTpoaWRkZW5SZWFzb25JbnB1dCIgdHlwZT0idGV4dCIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0IHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiIC8+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06aGlkZGVuUmVhc29uSW5wdXRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJJbnB1dFRleHQiLCJoaWRkZW5SZWFzb25JbnB1dCIse2lkOiJkYXRhc2V0Rm9ybTpoaWRkZW5SZWFzb25JbnB1dCJ9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmNvbXBhcmVUd29fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlZlcnNpb24gRGlmZmVyZW5jZXMgRGV0YWlsczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24gdGV4dC1kYW5nZXIiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9InRleHQtZGFuZ2VyIj5QbGVhc2Ugc2VsZWN0IHR3byB2ZXJzaW9ucyB0byB2aWV3IHRoZSBkaWZmZXJlbmNlcy48L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ1MCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDUwIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2NvbXBhcmVUd28nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDUwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0NTAiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDUwIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNvbXBhcmVUd28iLHtpZDoiZGF0YXNldEZvcm06Y29tcGFyZVR3byIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRldGFpbHNCbG9ja3MiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgbGFyZ2VQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpkZXRhaWxzQmxvY2tzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5WZXJzaW9uIERpZmZlcmVuY2VzIERldGFpbHM8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ2ZXJzaW9uLXRpdGxlIiBjbGFzcz0ibWFyZ2luLWJvdHRvbS1oYWxmIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idmVyc2lvbi1kZXRhaWxzLWJsb2NrIiBjbGFzcz0iIGNsZWFyZml4IG1hcmdpbi1ib3R0b20taGFsZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLWxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMKgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjogPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGFzdCBVcGRhdGVkOiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uOiA8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXN0IFVwZGF0ZWQ6IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2sgbWFyZ2luLWJvdHRvbSI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNTI3IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE1MjciIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignZGV0YWlsc0Jsb2NrcycpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5Eb25lPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUyN19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNTI3Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTUyNyJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGV0YWlsc0Jsb2Nrc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZXRhaWxzQmxvY2tzIix7aWQ6ImRhdGFzZXRGb3JtOmRldGFpbHNCbG9ja3MiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRvd25sb2FkIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEb3dubG9hZF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U2VsZWN0IEZpbGUocyk8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCBhIGZpbGUgb3IgZmlsZXMgdG8gYmUgZG93bmxvYWRlZC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNTMwIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE1MzAiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignc2VsZWN0RmlsZXNGb3JEb3dubG9hZCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE1MzAmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE1MzBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTUzMCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE1MzAifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VsZWN0RmlsZXNGb3JEb3dubG9hZCIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRvd25sb2FkIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JSZXF1ZXN0QWNjZXNzIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JSZXF1ZXN0QWNjZXNzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvciBmaWxlcyBmb3IgYWNjZXNzIHJlcXVlc3QuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUzMyIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNTMzIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3NlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2VzcycpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNTMzJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNTMzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE1MzMiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNTMzIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3NfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VsZWN0RmlsZXNGb3JSZXF1ZXN0QWNjZXNzIix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2VzcyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRGVsZXRlIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEZWxldGVfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFBsZWFzZSBzZWxlY3QgYSBmaWxlIG9yIGZpbGVzIHRvIGJlIGRlbGV0ZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUzNiIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNTM2IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3NlbGVjdEZpbGVzRm9yRGVsZXRlJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTUzNiZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUzNl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNTM2Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTUzNiJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEZWxldGVfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VsZWN0RmlsZXNGb3JEZWxldGUiLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEZWxldGUiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlc3RyaWN0IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JSZXN0cmljdF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U2VsZWN0IEZpbGUocyk8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCB1bnJlc3RyaWN0ZWQgZmlsZShzKSB0byBiZSByZXN0cmljdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE1MzkiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTUzOSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdzZWxlY3RGaWxlc0ZvclJlc3RyaWN0JykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTUzOSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUzOV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNTM5Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTUzOSJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JSZXN0cmljdF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvclJlc3RyaWN0Iix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVzdHJpY3QiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclVuUmVzdHJpY3QiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclVuUmVzdHJpY3RfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFBsZWFzZSBzZWxlY3QgcmVzdHJpY3RlZCBmaWxlKHMpIHRvIGJlIHVucmVzdHJpY3RlZC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNTQyIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE1NDIiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignc2VsZWN0RmlsZXNGb3JVblJlc3RyaWN0JykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTU0MiZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTU0Ml9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNTQyIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTU0MiJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JVblJlc3RyaWN0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbGVjdEZpbGVzRm9yVW5SZXN0cmljdCIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclVuUmVzdHJpY3QiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRNZXRhZGF0YSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRWRpdE1ldGFkYXRhX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvciBmaWxlcyB0byBiZSBlZGl0ZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTU0NSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNTQ1IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3NlbGVjdEZpbGVzRm9yRWRpdE1ldGFkYXRhJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTU0NSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTU0NV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNTQ1Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTU0NSJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JFZGl0TWV0YWRhdGFfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VsZWN0RmlsZXNGb3JFZGl0TWV0YWRhdGEiLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JFZGl0TWV0YWRhdGEiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRUYWdzIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JFZGl0VGFnc190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U2VsZWN0IEZpbGUocyk8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCBhIGZpbGUgb3IgZmlsZXMgdG8gYmUgZWRpdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE1NDgiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTU0OCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdzZWxlY3RGaWxlc0ZvckVkaXRUYWdzJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTU0OCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTU0OF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNTQ4Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTU0OCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JFZGl0VGFnc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvckVkaXRUYWdzIix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRWRpdFRhZ3MiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmVmcmVzaFRhZ3NDb21tYW5kID0gZnVuY3Rpb24oKSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06al9pZHQxNTUwIixmOiJkYXRhc2V0Rm9ybSIsdToiZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cCIsb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdmaWxlVGFnc1BvcHVwJykuc2hvdygpOzt9LHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBXZSBubyBsb25nZXIgbmVlZCB0aGlzIHJlbW90ZUNvbW1hbmQ7IHNlZSBteSBjb21tZW50cyBpbiB0aGUgamF2YXNjcmlwdCBtZXRob2QgdGVzdEZpbGVzU2VsZWN0ZWRGb3JFZGl0TWV0YWRhdGEoKSAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIGZvciBtb3JlIGluZm8uIC0gTC5BLiA0LjIuMSAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIHA6cmVtb3RlQ29tbWFuZCAgbmFtZT0ib3BlbkVkaXRGaWxlc1BhZ2VDb21tYW5kIiBhY3Rpb249IiB7RGF0YXNldFBhZ2UuZWRpdEZpbGVNZXRhZGF0YSgpfSIgIC8gLS0+PGRpdiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkVkaXQgVGFnczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gU2VsZWN0IGV4aXN0aW5nIGZpbGUgdGFncyBvciBjcmVhdGUgbmV3IHRhZ3MgdG8gZGVzY3JpYmUgeW91ciBmaWxlcy4gRWFjaCBmaWxlIGNhbiBoYXZlIG1vcmUgdGhhbiBvbmUgdGFnLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwU2F2ZUJ1dHRvbiIgbmFtZT0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24iIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwU2F2ZUJ1dHRvbiZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSBkYXRhc2V0Rm9ybSZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyl7UEYoJ2ZpbGVUYWdzUG9wdXAnKS5oaWRlKCk7fX0pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPlNhdmUgQ2hhbmdlczwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwU2F2ZUJ1dHRvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24iLHtpZDoiZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24ifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiIgbmFtZT0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZmlsZVRhZ3NQb3B1cCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwQ2FuY2VsQnV0dG9uJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBDYW5jZWxCdXR0b25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2ZpbGVUYWdzUG9wdXBDYW5jZWxCdXR0b24iLHtpZDoiZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJmaWxlVGFnc1BvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpyc3luY1VwbG9hZEluZm9Qb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnJzeW5jVXBsb2FkSW5mb1BvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5VcGxvYWQgRmlsZXM8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJTWU5DIFVQTE9BRCBQT1BVUCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24gdGV4dC1kYW5nZXIiPjwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1kYW5nZXIiPiBZb3UgY2FuIG5vdCB1cGxvYWQgYWRkaXRpb25hbCBmaWxlcyB0byB0aGlzIGRhdGFzZXQuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTYwNCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNjA0IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3JzeW5jVXBsb2FkX3BvcHVwJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTYwNCZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtIG1lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTYwNF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNjA0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTYwNCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRU5EIFJTWU5DIFVQTE9BRCBQT1BVUCAtLT48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpyc3luY1VwbG9hZEluZm9Qb3B1cF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJyc3luY1VwbG9hZF9wb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpyc3luY1VwbG9hZEluZm9Qb3B1cCIsbW9kYWw6dHJ1ZSxiZWhhdmlvcnM6e2Nsb3NlOmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnJzeW5jVXBsb2FkSW5mb1BvcHVwIixlOiJjbG9zZSIscDoiZGF0YXNldEZvcm06cnN5bmNVcGxvYWRJbmZvUG9wdXAiLHU6ImRhdGFzZXRGb3JtIG1lc3NhZ2VQYW5lbCJ9LGV4dCk7fX19KTt9KTs8L3NjcmlwdD4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBSZXF1ZXN0IEFjY2VzcyBTaWduIFVwL0xvZyBJbiBCdXR0b24gLS0+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNjA3IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTYwN190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVxdWVzdCBBY2Nlc3M8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24gdGV4dC1kYW5nZXIiPjwvc3Bhbj7CoAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtZGFuZ2VyIj5Zb3UgbmVlZCB0byA8YSBocmVmPSIvZGF0YXZlcnNldXNlci54aHRtbD9yZWRpcmVjdFBhZ2U9JTJGZGF0YXNldC54aHRtbCUzRnBlcnNpc3RlbnRJZCUzRGRvaSUzQTEwLjc5MTAlMkZEVk4lMkZHQU9DMDMmYW1wO2VkaXRNb2RlPUNSRUFURSIgdGFyZ2V0PSJfc2VsZiIgdGl0bGU9IlNpZ24gVXAgZm9yIGEgRGF0YXZlcnNlIEFjY291bnQiPlNpZ24gVXA8L2E+IG9yIDxhIGhyZWY9Ii9sb2dpbnBhZ2UueGh0bWw/cmVkaXJlY3RQYWdlPSUyRmRhdGFzZXQueGh0bWwlM0ZwZXJzaXN0ZW50SWQlM0Rkb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzIiB0YXJnZXQ9Il9zZWxmIiB0aXRsZT0iTG9nIGludG8geW91ciBEYXRhdmVyc2UgQWNjb3VudCI+TG9nIEluPC9hPiB0byByZXF1ZXN0IGFjY2VzcyB0byB0aGlzIGZpbGUuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNjEzIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE2MTMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignYWNjZXNzU2lnblVwTG9nSW5fcG9wdXAnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTYxMyZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTYxM19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNjEzIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTYxMyJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNjA3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImFjY2Vzc1NpZ25VcExvZ0luX3BvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTYwNyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwhLS0gRU5EOiBSZXF1ZXN0IEFjY2VzcyBTaWduIFVwL0xvZyBJbiBCdXR0b24gLS0+PGRpdiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRvd25sb2FkIEZpbGU8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IFBsZWFzZSBjb25maXJtIGFuZC9vciBjb21wbGV0ZSB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIGJlbG93IGluIG9yZGVyIHRvIGRvd25sb2FkIGZpbGVzIGluIHRoaXMgZGF0YXNldC4KICAgICAgICA8L3A+PGRpdiBpZD0iZGF0YXNldEZvcm06Z3Vlc3Rib29rTWVzc2FnZXMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgbWVzc2FnZVBhbmVsIj4KICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIj48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCIgZm9yPSJndWVzdGJvb2tfdG91Ij4KICAgICAgICAgICAgICAgICAgICBUZXJtcyBvZiBVc2UKICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkgcmVhZC10ZXJtcyI+TGljZW5zZWQgZWxlY3Ryb25pYyByZXNvdXJjZXMgYXJlIHJlc3RyaWN0ZWQgdG8gbWVtYmVycyBvZiB0aGUgSGFydmFyZCBjb21tdW5pdHkgZm9yIHB1cnBvc2VzIG9mIHJlc2VhcmNoLCB0ZWFjaGluZywgYW5kIHByaXZhdGUgc3R1ZHkuIFVuZGVyIEhhcnZhcmQncyBsaWNlbnNlcyBmb3IgZWxlY3Ryb25pYyByZXNvdXJjZXMsIHVzZXJzIGdlbmVyYWxseSBtYXkgbm90OiBwZXJtaXQgYW55b25lIG90aGVyIHRoYW4gYXV0aG9yaXplZCB1c2VycyB0byB1c2UgdGhlIGxpY2Vuc2VkIG1hdGVyaWFsczsgbW9kaWZ5IG9yIGNyZWF0ZSBhIGRlcml2YXRpdmUgd29yayBvZiB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzIHdpdGhvdXQgdGhlIHBlcm1pc3Npb24gb2YgdGhlIGxpY2Vuc29yOyByZW1vdmUsIG9ic2N1cmUgb3IgbW9kaWZ5IGFueSBjb3B5cmlnaHQgb3Igb3RoZXIgbm90aWNlcyBpbmNsdWRlZCBpbiB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzOyB1c2UgdGhlIGxpY2Vuc2VkIG1hdGVyaWFscyBmb3IgY29tbWVyY2lhbCBwdXJwb3NlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byB0aGUgc2FsZSBvZiB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzLiBVc2VycyBhcmUgaW5kaXZpZHVhbGx5IHJlc3BvbnNpYmxlIGZvciBjb21wbGlhbmNlIHdpdGggdGhlc2UgdGVybXMuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiIGZvcj0iZ3Vlc3Rib29rX3RvYSI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgQWNjZXNzCiAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5IHJlYWQtdGVybXMiPlRoaXMgZGF0YXNldCBpcyByZXN0cmljdGVkIHRvIG1lbWJlcnMgb2YgdGhlIEhhcnZhcmQgY29tbXVuaXR5IGZvciBwdXJwb3NlcyBvZiByZXNlYXJjaCwgdGVhY2hpbmcsIGFuZCBwcml2YXRlIHN0dWR5LiBIYXJ2YXJkIGFmZmlsaWF0ZXMgbWF5IGFjY2VzcyB0aGUgZGF0YSBieSBsb2dnaW5nIGludG8gdGhpcyBzeXN0ZW0gdmlhIHRoZSBpbnN0aXR1dGlvbmFsIGxvZ2luIGFuZCBzZWxlY3RpbmcgSGFydmFyZCBVbml2ZXJzaXR5LgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGEgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY5MCIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNjkwJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNjkwJnF1b3Q7LHU6JnF1b3Q7QChbaWQkPU1lc3NhZ2VzXSkmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe2lmIChhcmdzICZhbXA7JmFtcDsgIWFyZ3MudmFsaWRhdGlvbkZhaWxlZCkgUEYoJ2Rvd25sb2FkUG9wdXAnKS5oaWRlKCk7O30scGE6W3tuYW1lOiZxdW90O0RPX0dCX1ZBTElEQVRJT04mcXVvdDssdmFsdWU6JnF1b3Q7dHJ1ZSZxdW90O31dfSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0iYnV0dG9uIj5BY2NlcHQ8L2E+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZG93bmxvYWRQb3B1cCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHZhbHVlPSJDYW5jZWwiPkNhbmNlbDwvYnV0dG9uPgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZG93bmxvYWRQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpkb3dubG9hZFBvcHVwIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIGxhcmdlUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXF1ZXN0IEFjY2Vzczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIGNvbmZpcm0gYW5kL29yIGNvbXBsZXRlIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgYmVsb3cgaW4gb3JkZXIgdG8gcmVxdWVzdCBhY2Nlc3MgdG8gZmlsZXMgaW4gdGhpcyBkYXRhc2V0LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhvcml6b250YWwiPjxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIiBmb3I9Imd1ZXN0Ym9va190b3UiPgogICAgICAgICAgICAgICAgICAgIFRlcm1zIG9mIFVzZQogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSByZWFkLXRlcm1zIj5MaWNlbnNlZCBlbGVjdHJvbmljIHJlc291cmNlcyBhcmUgcmVzdHJpY3RlZCB0byBtZW1iZXJzIG9mIHRoZSBIYXJ2YXJkIGNvbW11bml0eSBmb3IgcHVycG9zZXMgb2YgcmVzZWFyY2gsIHRlYWNoaW5nLCBhbmQgcHJpdmF0ZSBzdHVkeS4gVW5kZXIgSGFydmFyZCdzIGxpY2Vuc2VzIGZvciBlbGVjdHJvbmljIHJlc291cmNlcywgdXNlcnMgZ2VuZXJhbGx5IG1heSBub3Q6IHBlcm1pdCBhbnlvbmUgb3RoZXIgdGhhbiBhdXRob3JpemVkIHVzZXJzIHRvIHVzZSB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzOyBtb2RpZnkgb3IgY3JlYXRlIGEgZGVyaXZhdGl2ZSB3b3JrIG9mIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHMgd2l0aG91dCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgbGljZW5zb3I7IHJlbW92ZSwgb2JzY3VyZSBvciBtb2RpZnkgYW55IGNvcHlyaWdodCBvciBvdGhlciBub3RpY2VzIGluY2x1ZGVkIGluIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHM7IHVzZSB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSBzYWxlIG9mIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHMuIFVzZXJzIGFyZSBpbmRpdmlkdWFsbHkgcmVzcG9uc2libGUgZm9yIGNvbXBsaWFuY2Ugd2l0aCB0aGVzZSB0ZXJtcy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCIgZm9yPSJndWVzdGJvb2tfdG9hIj4KICAgICAgICAgICAgICAgICAgICBUZXJtcyBvZiBBY2Nlc3MKICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkgcmVhZC10ZXJtcyI+VGhpcyBkYXRhc2V0IGlzIHJlc3RyaWN0ZWQgdG8gbWVtYmVycyBvZiB0aGUgSGFydmFyZCBjb21tdW5pdHkgZm9yIHB1cnBvc2VzIG9mIHJlc2VhcmNoLCB0ZWFjaGluZywgYW5kIHByaXZhdGUgc3R1ZHkuIEhhcnZhcmQgYWZmaWxpYXRlcyBtYXkgYWNjZXNzIHRoZSBkYXRhIGJ5IGxvZ2dpbmcgaW50byB0aGlzIHN5c3RlbSB2aWEgdGhlIGluc3RpdHV0aW9uYWwgbG9naW4gYW5kIHNlbGVjdGluZyBIYXJ2YXJkIFVuaXZlcnNpdHkuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBpZD0iZGF0YXNldEZvcm06al9pZHQxNzExIiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE3MTEmcXVvdDssdTomcXVvdDtAKFtpZCQ9cmVxdWVzdEFjY2Vzc1BvcHVwQnV0dG9uXSkmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdyZXF1ZXN0QWNjZXNzUG9wdXAnKS5oaWRlKCk7O319KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgQWNjZXB0CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdyZXF1ZXN0QWNjZXNzUG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB2YWx1ZT0iQ2FuY2VsIj5DYW5jZWw8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwicmVxdWVzdEFjY2Vzc1BvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkRGF0YVN1YnNldFBvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWREYXRhU3Vic2V0UG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRvd25sb2FkIERhdGEgU3Vic2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZERhdGFTdWJzZXRQb3B1cF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkb3dubG9hZERhdGFTdWJzZXRQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpkb3dubG9hZERhdGFTdWJzZXRQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTcxOCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MThfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRhdGEgTm90IFB1Ymxpc2hlZDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEluIG9yZGVyIHRvIG1hcCB5b3VyIGRhdGEgd2l0aCBXb3JsZE1hcCwgeW91ciBkYXRhIG11c3QgYmUgcHVibGlzaGVkLiBQbGVhc2UgcHVibGlzaCB0aGlzIGRhdGFzZXQsIHRoZW4gcmV0cnkgdGhlIE1hcCBEYXRhIGZlYXR1cmUuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ21hcERhdGFfcG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTcxOF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJtYXBEYXRhX3BvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTcxOCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmxpbmtEYXRhc2V0Rm9ybSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpsaW5rRGF0YXNldEZvcm1fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkxpbmsgRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2xpbmtEYXRhc2V0Rm9ybScpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmxpbmtEYXRhc2V0Rm9ybV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJsaW5rRGF0YXNldEZvcm0iLHtpZDoiZGF0YXNldEZvcm06bGlua0RhdGFzZXRGb3JtIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06YWNjZXNzUG9wdXAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06YWNjZXNzUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkZpbGUgUmVzdHJpY3Rpb25zPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX1Rlcm1zQWNjZXNzIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJJbmZvcm1hdGlvbiBvbiBob3cgYW5kIGlmIHVzZXJzIGNhbiBnYWluIGFjY2VzcyB0byB0aGUgcmVzdHJpY3RlZCBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXJtcyBvZiBBY2Nlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjx0ZXh0YXJlYSBpZD0iZGF0YXNldEZvcm06al9pZHQxNzQ1IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NDUiIGNvbHM9IjIwIiByb3dzPSI1IiBtYXhsZW5ndGg9IjIxNDc0ODM2NDciIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dGFyZWEgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiPlRoaXMgZGF0YXNldCBpcyByZXN0cmljdGVkIHRvIG1lbWJlcnMgb2YgdGhlIEhhcnZhcmQgY29tbXVuaXR5IGZvciBwdXJwb3NlcyBvZiByZXNlYXJjaCwgdGVhY2hpbmcsIGFuZCBwcml2YXRlIHN0dWR5LiBIYXJ2YXJkIGFmZmlsaWF0ZXMgbWF5IGFjY2VzcyB0aGUgZGF0YSBieSBsb2dnaW5nIGludG8gdGhpcyBzeXN0ZW0gdmlhIHRoZSBpbnN0aXR1dGlvbmFsIGxvZ2luIGFuZCBzZWxlY3RpbmcgSGFydmFyZCBVbml2ZXJzaXR5Lg0KDQo8L3RleHRhcmVhPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc0NV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJJbnB1dFRleHRhcmVhIiwiaW5wdXR0b2EiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNzQ1IixhdXRvUmVzaXplOmZhbHNlfSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9SZXF1ZXN0QWNjZXNzIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJJZiBjaGVja2VkLCB1c2VycyBjYW4gcmVxdWVzdCBhY2Nlc3MgdG8gdGhlIHJlc3RyaWN0ZWQgZmlsZXMgaW4gdGhpcyBkYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdCBBY2Nlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3MiIGNsYXNzPSJ1aS1jaGtib3ggdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc19pbnB1dCIgbmFtZT0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc19pbnB1dCIgdHlwZT0iY2hlY2tib3giIGF1dG9jb21wbGV0ZT0ib2ZmIiBhcmlhLWNoZWNrZWQ9ImZhbHNlIiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1sYWJlbCI+RW5hYmxlIGFjY2VzcyByZXF1ZXN0PC9zcGFuPjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJTZWxlY3RCb29sZWFuQ2hlY2tib3giLCJpbnB1dGZhciIse2lkOiJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NDkiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTc0OSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdhY2Nlc3NQb3B1cCcpLmhpZGUoKTtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTc0OSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtIG1lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc0OV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNzQ5Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTc0OSJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NTIiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTc1MiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdhY2Nlc3NQb3B1cCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNzUyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE3NTIiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNzUyIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06YWNjZXNzUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiYWNjZXNzUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06YWNjZXNzUG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTppbnJldmlldyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTppbnJldmlld190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U3VibWl0IGZvciBSZXZpZXc8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBZb3Ugd2lsbCBub3QgYmUgYWJsZSB0byBtYWtlIGNoYW5nZXMgdG8gdGhpcyBkYXRhc2V0IHdoaWxlIGl0IGlzIGluIHJldmlldy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc1NSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNzU1IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2lucmV2aWV3JykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE3NTUmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5TdWJtaXQ8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNzU1X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE3NTUiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNzU1In0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc1NiIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNzU2IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2lucmV2aWV3JykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NTZfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTc1NiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE3NTYifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmlucmV2aWV3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImlucmV2aWV3Iix7aWQ6ImRhdGFzZXRGb3JtOmlucmV2aWV3Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gUHVibGlzaC9TdWJtaXQgZm9yIFJldmlldyBEaWFsb2dzIC0tPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc1OSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NTlfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBwdWJsaXNoIHRoaXMgZGF0YXNldD8gT25jZSB5b3UgZG8gc28gaXQgbXVzdCByZW1haW4gcHVibGlzaGVkLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+PGRpdiBpZD0idGVybXMtYWdyZWVtZW50LWJsb2NrIiBjbGFzcz0id2VsbCI+QnkgZGVmYXVsdCBkYXRhc2V0cyBhcmUgcHVibGlzaGVkIHdpdGggdGhlIENDMC3igJxQdWJsaWMgRG9tYWluIERlZGljYXRpb27igJ0gd2FpdmVyLiBMZWFybiBtb3JlIGFib3V0IHRoZSBDQzAgd2FpdmVyIDxhIHRhcmdldD1fYmxhbmsgaHJlZj0naHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvY2hvb3NlL3plcm8vJz5oZXJlPC9hPi4gPGJyPjxicj4gVG8gcHVibGlzaCB3aXRoIGN1c3RvbSBUZXJtcyBvZiBVc2UsIGNsaWNrIHRoZSBDYW5jZWwgYnV0dG9uIGFuZCBnbyB0byB0aGUgVGVybXMgdGFiIGZvciB0aGlzIGRhdGFzZXQuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNzY0IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NjQiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRigncHVibGlzaENvbmZpcm0nKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTc2NCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc2NF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNzY0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTc2NCJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NjUiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTc2NSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdwdWJsaXNoQ29uZmlybScpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNzY1X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE3NjUiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNzY1In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NTlfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwicHVibGlzaENvbmZpcm0iLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNzU5Iixtb2RhbDp0cnVlLHdpZHRoOiI3MCUifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNzY3IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc2N190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UHVibGlzaCBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj5UaGlzIGRhdGFzZXQgY2Fubm90IGJlIHB1Ymxpc2hlZCB1bnRpbCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2RhdGF2ZXJzZS9uZHMiIHRpdGxlPSJOdW1lcmljIERhdGEgU2VydmljZXMgRGF0YXZlcnNlIj5OdW1lcmljIERhdGEgU2VydmljZXMgRGF0YXZlcnNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4gaXMgcHVibGlzaGVkLiBXb3VsZCB5b3UgbGlrZSB0byBwdWJsaXNoIGJvdGggcmlnaHQgbm93PwogICAgICAgICAgICAgICAgICAgICAgICA8L3A+PGRpdiBpZD0idGVybXMtYWdyZWVtZW50LWJsb2NrIiBjbGFzcz0id2VsbCI+QnkgZGVmYXVsdCBkYXRhc2V0cyBhcmUgcHVibGlzaGVkIHdpdGggdGhlIENDMC3igJxQdWJsaWMgRG9tYWluIERlZGljYXRpb27igJ0gd2FpdmVyLiBMZWFybiBtb3JlIGFib3V0IHRoZSBDQzAgd2FpdmVyIAo8YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9jaG9vc2UvemVyby8iIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPi4gCjxicj4KPGJyPiBUbyBwdWJsaXNoIHdpdGggY3VzdG9tIFRlcm1zIG9mIFVzZSwgY2xpY2sgdGhlIENhbmNlbCBidXR0b24gYW5kIGdvIHRvIHRoZSBUZXJtcyB0YWIgZm9yIHRoaXMgZGF0YXNldC48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IE9uY2UgeW91IHB1Ymxpc2ggdGhpcyBkYXRhc2V0IGl0IG11c3QgcmVtYWluIHB1Ymxpc2hlZC4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc3OCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNzc4IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3B1Ymxpc2hQYXJlbnQnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTc3OCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPlllcywgUHVibGlzaCBCb3RoPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc3OF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNzc4Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTc3OCJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NzkiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTc3OSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdwdWJsaXNoUGFyZW50JykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3NzlfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTc3OSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE3NzkifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc2N19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJwdWJsaXNoUGFyZW50Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTc2NyIsbW9kYWw6dHJ1ZSx3aWR0aDoiNzAlIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc4MSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3ODFfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXB1Ymxpc2ggdGhpcyBkYXRhc2V0PwogICAgICAgICAgICAgICAgICAgICAgICA8L3A+PGRpdiBpZD0idGVybXMtYWdyZWVtZW50LWJsb2NrIiBjbGFzcz0id2VsbCI+QnkgZGVmYXVsdCBkYXRhc2V0cyBhcmUgcHVibGlzaGVkIHdpdGggdGhlIENDMC3igJxQdWJsaWMgRG9tYWluIERlZGljYXRpb27igJ0gd2FpdmVyLiBMZWFybiBtb3JlIGFib3V0IHRoZSBDQzAgd2FpdmVyIAo8YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9jaG9vc2UvemVyby8iIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPi4gCjxicj4KPGJyPiBUbyBwdWJsaXNoIHdpdGggY3VzdG9tIFRlcm1zIG9mIFVzZSwgY2xpY2sgdGhlIENhbmNlbCBidXR0b24gYW5kIGdvIHRvIHRoZSBUZXJtcyB0YWIgZm9yIHRoaXMgZGF0YXNldC48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gU2VsZWN0IGlmIHRoaXMgaXMgYSBtaW5vciBvciBtYWpvciB2ZXJzaW9uIHVwZGF0ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD48dGFibGUgaWQ9ImRhdGFzZXRGb3JtOm9wdGlvbnMiIGNsYXNzPSJ1aS1zZWxlY3RvbmVyYWRpbyB1aS13aWRnZXQiPjx0cj48dGQ+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24gdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06b3B0aW9uczowIiBuYW1lPSJkYXRhc2V0Rm9ybTpvcHRpb25zIiB0eXBlPSJyYWRpbyIgdmFsdWU9IjEiIGNoZWNrZWQ9ImNoZWNrZWQiIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24tYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQgdWktc3RhdGUtYWN0aXZlIj48c3BhbiBjbGFzcz0idWktcmFkaW9idXR0b24taWNvbiB1aS1pY29uIHVpLWljb24tYnVsbGV0IHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L3RkPjx0ZD48bGFiZWwgZm9yPSJkYXRhc2V0Rm9ybTpvcHRpb25zOjAiPk1pbm9yIFJlbGVhc2UgKDEuMSk8L2xhYmVsPjwvdGQ+PHRkPjxkaXYgY2xhc3M9InVpLXJhZGlvYnV0dG9uIHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgaWQ9ImRhdGFzZXRGb3JtOm9wdGlvbnM6MSIgbmFtZT0iZGF0YXNldEZvcm06b3B0aW9ucyIgdHlwZT0icmFkaW8iIHZhbHVlPSIyIiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLXJhZGlvYnV0dG9uLWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktcmFkaW9idXR0b24taWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkPjxsYWJlbCBmb3I9ImRhdGFzZXRGb3JtOm9wdGlvbnM6MSI+TWFqb3IgUmVsZWFzZSAoMi4wKTwvbGFiZWw+PC90ZD48L3RyPjwvdGFibGU+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06b3B0aW9uc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJTZWxlY3RPbmVSYWRpbyIsIndpZGdldF9kYXRhc2V0Rm9ybV9vcHRpb25zIix7aWQ6ImRhdGFzZXRGb3JtOm9wdGlvbnMifSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNzkzIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE3OTMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRigncmVsZWFzZURyYWZ0JykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTc5MyZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc5M19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNzkzIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTc5MyJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3OTUiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTc5NSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdyZWxlYXNlRHJhZnQnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc5NV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNzk1Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTc5NSJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNzgxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInJlbGVhc2VEcmFmdCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE3ODEiLG1vZGFsOnRydWUsd2lkdGg6IjcwJSJ9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3OTciIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNzk3X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5QdWJsaXNoIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPlRoaXMgZGF0YXNldCBjYW5ub3QgYmUgcHVibGlzaGVkIHVudGlsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvZGF0YXZlcnNlLnhodG1sP2FsaWFzPW5kcyIgdGl0bGU9Ik51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UiPk51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiAgaXMgcHVibGlzaGVkIGJ5IGl0cyBhZG1pbmlzdHJhdG9yLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxODA1IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MDUiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignbWF5Tm90UmVsZWFzZScpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODA1X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE4MDUiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODA1In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3OTdfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwibWF5Tm90UmVsZWFzZSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE3OTciLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MDciIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxODA3X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5QdWJsaXNoIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPlRoaXMgZGF0YXNldCBjYW5ub3QgYmUgcHVibGlzaGVkIHVudGlsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvZGF0YXZlcnNlL25kcyIgdGl0bGU9Ik51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UiPk51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiBhbmQgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9kYXRhdmVyc2UvSGFydmFyZFN1YnNjcmlwdGlvbkRhdGEiIHRpdGxlPSJIYXJ2YXJkIFN1YnNjcmlwdGlvbiBEYXRhIERhdGF2ZXJzZSI+SGFydmFyZCBTdWJzY3JpcHRpb24gRGF0YSBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiAgYXJlIHB1Ymxpc2hlZC4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTgxOSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxODE5IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ21heW5vdFB1Ymxpc2hQYXJlbnQnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTgxOV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxODE5Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTgxOSJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODA3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsIm1heW5vdFB1Ymxpc2hQYXJlbnQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODA3Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxODIxIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTgyMV90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmV0dXJuIHRvIEF1dGhvcjwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IFJldHVybiB0aGlzIGRhdGFzZXQgdG8gY29udHJpYnV0b3IgZm9yIG1vZGlmaWNhdGlvbi4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxODIzIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MjMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignc2VuZEJhY2tUb0NvbnRyaWJ1dG9yJykuaGlkZSgpO1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxODIzJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODIzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE4MjMiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODIzIn0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTgyNCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxODI0IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3NlbmRCYWNrVG9Db250cmlidXRvcicpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODI0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE4MjQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODI0In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MjFfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VuZEJhY2tUb0NvbnRyaWJ1dG9yIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTgyMSIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZXR1cm5Ub0F1dGhvckNvbW1hbmQgPSBmdW5jdGlvbigpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDE4MjYiLGY6ImRhdGFzZXRGb3JtIixwYTphcmd1bWVudHNbMF19KTt9PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZW50ZXJSZXR1cm5SZWFzb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsImVudGVyUmV0dXJuUmVhc29uIix7aWQ6ImRhdGFzZXRGb3JtOmVudGVyUmV0dXJuUmVhc29uIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmVudGVyUmV0dXJuUmVhc29uIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVxdWlyZWQgZW50cnk8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tYWxlcnQgdWktY29uZmlybS1kaWFsb2ctc2V2ZXJpdHkiPjwvc3Bhbj48c3BhbiBjbGFzcz0idWktY29uZmlybS1kaWFsb2ctbWVzc2FnZSI+UmVhc29uIGZvciByZXR1cm4gdG8gYXV0aG9yIGlzIHJlcXVpcmVkPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1idXR0b25wYW5lIHVpLWRpYWxvZy1mb290ZXIgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4Ij48L2Rpdj48L2Rpdj4gICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIDwhLS0gRU5EOiBQdWJsaXNoL1N1Ym1pdCBmb3IgUmV2aWV3IERpYWxvZ3MgLS0+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iamF2YXguZmFjZXMuVmlld1N0YXRlIiBpZD0ial9pZDE6amF2YXguZmFjZXMuVmlld1N0YXRlOjAiIHZhbHVlPSItNDQ0MjA1MTA5NTkxNjM1MjMxMjotMjA1MzI4Mzg5NjU5NjI4MzY2NyIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CjwvZm9ybT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9yZXNvdXJjZXMvanMvZHJvcGlucy5qcyIgaWQ9ImRyb3Bib3hqcyI+PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBwb3BvdmVySFRNTCgnQWxsb3dlZCBIVE1MIFRhZ3MnKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0UmV0dXJuUmVhc29uKCl7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXR1cm5SZWFzb25UZXh0ID0gUEYoJ3JldHVyblJlYXNvbicpLmpxLnZhbCgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0dXJuUmVhc29uVGV4dC5sZW5ndGg9PT0wKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdlbnRlclJldHVyblJlYXNvbicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdzZW5kQmFja1RvQ29udHJpYnV0b3InKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5Ub0F1dGhvckNvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBvcGVuRGlhbG9nKCkgewogICAgICAgICAgICAgICAgICAgICAgICBQRignZGV0YWlscycpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gb3BlbkNvbXBhcmVUd28oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdjb21wYXJlVHdvJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0Q2hlY2tCb3hlcygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gUEYoJ3ZlcnNpb25zVGFibGUnKS5nZXRTZWxlY3RlZFJvd3NDb3VudCgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgIT09IDIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdjb21wYXJlVHdvJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnYnV0dG9uW2lkJD0iY29tcGFyZVZlcnNpb25zIl0nKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RGaWxlc1NlbGVjdGVkRm9yUmVzdHJpY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IFBGKCdmaWxlc1RhYmxlJykuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignc2VsZWN0RmlsZXNGb3JSZXN0cmljdCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdhY2Nlc3NQb3B1cCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEZpbGVzU2VsZWN0ZWRGb3JUYWdzKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBQRignZmlsZXNUYWJsZScpLmdldFNlbGVjdGVkUm93c0NvdW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3NlbGVjdEZpbGVzRm9yRWRpdFRhZ3MnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoVGFnc0NvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0RmlsZXNTZWxlY3RlZEZvckRlbGV0ZSgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gUEYoJ2ZpbGVzVGFibGUnKS5nZXRTZWxlY3RlZFJvd3NDb3VudCgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdzZWxlY3RGaWxlc0ZvckRlbGV0ZScpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb24nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEZpbGVzU2VsZWN0ZWRGb3JFZGl0TWV0YWRhdGEoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IFBGKCdmaWxlc1RhYmxlJykuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignc2VsZWN0RmlsZXNGb3JFZGl0TWV0YWRhdGEnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gLy9lbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gSSBjb21tZW50ZWQgb3V0IHRoZSBjb2RlIGJlbG93OyBpZiB0aGVyZSdzCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEgb3IgbW9yZSBmaWxlIHNlbGVjdGVkLCBJIGRvbid0IHdhbnQgdGhpcwogICAgICAgICAgICAgICAgICAgICAgICAvLyBtZXRob2QgdG8gYWN0aXZhdGUgdGhlIHA6cmVtb3RlQ29tbWFuZCB0aGF0CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlzc3VlcyB0aGUgcmVkaXJlY3QgdG8gdGhlIGVkaXQgcGFnZSAob3IKICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG8gYW55dGhpbmcgZWxzZSBmb3IgdGhhdCBtYXR0ZXIpLiBEb2luZwogICAgICAgICAgICAgICAgICAgICAgICAvLyBpdCB0aGlzIHdheSB3YXMsIGZvciBzb21lIHJlYXNvbiwgY2F1c2luZwogICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIHBhZ2UgdG8gc3RpbGwgdHJ5IHRvIHJlbmRlciAoPz8pLCBpbgogICAgICAgICAgICAgICAgICAgICAgICAvLyBzb21lIHBhcnRpYWwsIGhhbGYtYmFrZWQgc3RhdGUgLSB3aXRoIG5vCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdvcmtpbmdWZXJzaW9uIHByZXNlbnQsIGV0Yy4gLSB0aGF0IHJlc3VsdGVkCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluIHNvbWUgTlVMTCBwb2ludGVycyBpbiB0aGUgbG9ncy4uLiBTbywKICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW5zdGVhZCwgdGhlIHJlZGlyZWN0IHdpbGwgYmUgZG9uZSBieSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGlyZWN0IGFjdGlvbj0gYXR0cmlidXRlIGluIHRoZSBvcmlnaW5hbAogICAgICAgICAgICAgICAgICAgICAgICAvLyBjb21tYW5kQnV0dG9uLiAtLSBMLkEuIDQuMi4xCiAgICAgICAgICAgICAgICAgICAgICAgIC8vb3BlbkVkaXRGaWxlc1BhZ2VDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB1cGRhdGVUZW1wbGF0ZSgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnYnV0dG9uW2lkJD0idXBkYXRlVGVtcGxhdGUiXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHJlZ2lzdGVyRGF0YXNldCgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnYnV0dG9uW2lkJD0icmVnaXN0ZXJEYXRhc2V0Il0nKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBjaGVja05ld2x5UmVzdHJpY3RlZCgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoJ2lucHV0W2lkJD0ic2hvd0FjY2Vzc1BvcHVwIl0nKS52YWwoKSA9PT0gJ3RydWUnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYWNjZXNzUG9wdXAnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdidXR0b25baWQkPSJkYXRhc2V0U2F2ZSJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB1cGRhdGVIaWRkZW5SZWFzb24odGV4dEFyZWEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnaW5wdXRbaWQkPSJoaWRkZW5SZWFzb25JbnB1dCJdJykudmFsKHRleHRBcmVhLnZhbHVlKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdERlYWNjZXNzaW9uVmVyc2lvblNlbGVjdGlvbih0ZXN0VmVyc2lvbikgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGVhY2Nlc3Npb25UZXh0ID0gJCgnaW5wdXRbaWQkPSJoaWRkZW5SZWFzb25JbnB1dCJdJykudmFsKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmxFbnRyeSA9ICQoJ2lucHV0W2lkJD0iZm9yd2FyZFVSTEZvckRlYWNjZXNzaW9uIl0nKS52YWwoKTsKICAgICAgICAgICAgICAgICAgICAgICAgOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsaWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFZlcnNpb24gPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IFBGKCd2ZXJzaW9uRGVhY2Nlc3Npb25UYWJsZScpLmdldFNlbGVjdGVkUm93c0NvdW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRlVVJMKHVybEVudHJ5KSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZW50ZXJGb3J3YXJkVXJsJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZCA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoInNlbGVjdFtpZCQ9J3JlYXNvbk9wdGlvbnMnXSBvcHRpb246c2VsZWN0ZWQiKS52YWwoKSA9PT0gJzcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlYWNjZXNzaW9uVGV4dCA9PT0gJycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2VudGVyT3RoZXJSZWFzb24nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWFjY2Vzc2lvblRleHQubGVuZ3RoID49IDEwMDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRigncmVhc29uVG9vTWFueUNoYXJhY3RlcnMnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgic2VsZWN0W2lkJD0ncmVhc29uT3B0aW9ucyddIG9wdGlvbjpzZWxlY3RlZCIpLnZhbCgpID09PSAnMCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdzZWxlY3REZWFjY2Vzc2lvblJlYXNvbicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWQgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0VmVyc2lvbiA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignc2VsZWN0RGVhY2Nlc3Npb25WZXJzaW9uJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdmFsaWRhdGVVUkwodGV4dHZhbCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGV4dHZhbCA9PT0gJycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmxyZWdleCA9IG5ldyBSZWdFeHAoIl4oaHR0cHxodHRwc3xmdHApXDovLyhbYS16QS1aMC05XC5cLV0rKFw6W2EtekEtWjAtOVwuJiUkXC1dKykqQCkqKCgyNVswLTVdfDJbMC00XVswLTldfFswLTFdezF9WzAtOV17Mn18WzEtOV17MX1bMC05XXsxfXxbMS05XSlcLigyNVswLTVdfDJbMC00XVswLTldfFswLTFdezF9WzAtOV17Mn18WzEtOV17MX1bMC05XXsxfXxbMS05XXwwKVwuKDI1WzAtNV18MlswLTRdWzAtOV18WzAtMV17MX1bMC05XXsyfXxbMS05XXsxfVswLTldezF9fFsxLTldfDApXC4oMjVbMC01XXwyWzAtNF1bMC05XXxbMC0xXXsxfVswLTldezJ9fFsxLTldezF9WzAtOV17MX18WzAtOV0pfChbYS16QS1aMC05XC1dK1wuKSpbYS16QS1aMC05XC1dK1wuKGNvbXxlZHV8Z292fGludHxtaWx8bmV0fG9yZ3xiaXp8YXJwYXxpbmZvfG5hbWV8cHJvfGFlcm98Y29vcHxtdXNldW18W2EtekEtWl17Mn0pKShcOlswLTldKykqKC8oJHxbYS16QS1aMC05XC5cLFw/XCdcXFwrJiUkI1w9fl9cLV0rKSkqJCIpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJscmVnZXgudGVzdCh0ZXh0dmFsKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gb3BlbkRyb3Bib3hDaG9vc2VyKCkgewogICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVxdWlyZWQuIENhbGxlZCB3aGVuIGEgdXNlciBzZWxlY3RzIGFuIGl0ZW0gaW4gdGhlIENob29zZXIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZmlsZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYXNzIHRoZSBKU09OLWl6ZWQgb3V0cHV0IG9mIHRoZSBDaG9vc2VyIHRvIHRoZSBiYWNraW5nIGJlYW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmlhIGEgaGlkZGVuIGlucHV0IGZpZWxkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2lucHV0W2lkJD0iZHJvcEJveFNlbGVjdGlvbklucHV0Il0nKS52YWwoSlNPTi5zdHJpbmdpZnkoZmlsZXMpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2FsZXJ0KEpTT04uc3RyaW5naWZ5KGZpbGVzKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVHJpZ2dlciB0aGUgdXBsb2FkIHByb2Nlc3NpbmcgbWV0aG9kIGluIHRoZSBiYWNraW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVhbiwgdmlhIGFuIGludmlzaWJsZSBjb21tYW5kQnV0dG9uOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9ImRyb3BCb3hCdXR0b24iXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua1R5cGU6ICJkaXJlY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlzZWxlY3Q6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIERyb3Bib3guY2hvb3NlKG9wdGlvbnMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgIDwvZGl2PgogICAgICAgIDwhLS0gRk9PVEVSIEJMT0NLIC0tPgoKICAgIDxkaXYgaWQ9ImZvb3RlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtc20tOCBzbWFsbCI+CiAgICAgICAgICAgICAgICAgICAgPHA+Q29weXJpZ2h0ICYjMTY5OyAyMDE4LCBUaGUgUHJlc2lkZW50ICYjMzg7IEZlbGxvd3Mgb2YgSGFydmFyZCBDb2xsZWdlwqB8wqAgPGEgaHJlZj0iaHR0cDovL2Jlc3QtcHJhY3RpY2VzLmRhdGF2ZXJzZS5vcmcvaGFydmFyZC1wb2xpY2llcy9oYXJ2YXJkLXByaXZhY3ktcG9saWN5Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5Qcml2YWN5IFBvbGljeTwvYT4KICAgICAgICAgICAgICAgICAgICA8L3A+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNCB0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3dlcmVkYnlsb2dvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+UG93ZXJlZCBieTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2RhdGF2ZXJzZS5vcmcvIiB0aXRsZT0iVGhlIERhdGF2ZXJzZSBQcm9qZWN0IiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Ii9yZXNvdXJjZXMvaW1hZ2VzL2RhdGF2ZXJzZXByb2plY3RfbG9nby5wbmciIGFsdD0iVGhlIERhdGF2ZXJzZSBQcm9qZWN0IiAvPjwvYT48c3BhbiBjbGFzcz0idmVyc2lvbiI+di4gNC44LjQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48c3R5bGU+CiNmZWVkYmFja1RhYiB7CiAgICBwb3NpdGlvbjpmaXhlZDsKICAgIGJvdHRvbTowOwogICAgcmlnaHQ6NTBweDsKfQojZmVlZGJhY2tUYWIgYnV0dG9uLmJ0bi1mZWVkYmFjayB7CiAgICBtYXJnaW4tcmlnaHQ6ODlweDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKfQouYnRuLWZlZWRiYWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzU1QjI4OwogIGJvcmRlci1jb2xvcjogI0M1NUIyODsKICBjb2xvcjogI2ZmZjsKfQouYnRuLWZlZWRiYWNrOmhvdmVyLAouYnRuLWZlZWRiYWNrOmZvY3VzLAouYnRuLWZlZWRiYWNrOmFjdGl2ZSwKLmJ0bi1mZWVkYmFjay5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6ICNiMDUxMjQ7CiAgYm9yZGVyLWNvbG9yOiAjOWI0NzFmOwogIGNvbG9yOiAjZmZmOwp9Ci5idG4tZmVlZGJhY2suZGlzYWJsZWQ6aG92ZXIsCi5idG4tZmVlZGJhY2suZGlzYWJsZWQ6Zm9jdXMsCi5idG4tZmVlZGJhY2suZGlzYWJsZWQ6YWN0aXZlLAouYnRuLWZlZWRiYWNrLmRpc2FibGVkLmFjdGl2ZSwKLmJ0bi1mZWVkYmFja1tkaXNhYmxlZF06aG92ZXIsCi5idG4tZmVlZGJhY2tbZGlzYWJsZWRdOmZvY3VzLAouYnRuLWZlZWRiYWNrW2Rpc2FibGVkXTphY3RpdmUsCi5idG4tZmVlZGJhY2tbZGlzYWJsZWRdLmFjdGl2ZSwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZmVlZGJhY2s6aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWZlZWRiYWNrOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1mZWVkYmFjazphY3RpdmUsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWZlZWRiYWNrLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI0M1NUIyODsKICBib3JkZXItY29sb3I6ICNDNTVCMjg7Cn0KI2ZlZWRiYWNrVGFiQm9keSBkaXYucGFuZWwgewogICAgd2lkdGg6MTkwcHg7CiAgICBtYXJnaW46MDsKICAgIGJhY2tncm91bmQ6I0Y4RjhGODsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7Cn0KPC9zdHlsZT4KCjxkaXYgaWQ9ImZlZWRiYWNrVGFiIj4KICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1mZWVkYmFjayIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI2ZlZWRiYWNrVGFiQm9keSI+CiAgICAgICAgRmVlZGJhY2sKICAgIDwvYnV0dG9uPgogICAgPGRpdiBpZD0iZmVlZGJhY2tUYWJCb2R5IiBjbGFzcz0iY29sbGFwc2UiPgogICAgICAgIDxkaXYgY2xhc3M9InBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgSGVscCBpbXByb3ZlIERhdGF2ZXJzZTogVm9sdW50ZWVyIGZvciBvbmxpbmUgdXNhYmlsaXR5IHJlc2VhcmNoIQogICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1mZWVkYmFjayIgaHJlZj0iaHR0cHM6Ly9nb28uZ2wvZm9ybXMvcDd1dTNHZmlXWVNsSnJzaTEiIHJvbGU9ImJ1dHRvbiIgdGFyZ2V0PSJfYmxhbmsiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNmZWVkYmFja1RhYkJvZHkiPgogICAgICAgICAgICAgICAgICBMZWFybiBNb3JlCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KPGRpdiBpZD0iYWpheFN0YXR1c1BhbmVsIj48ZGl2IGlkPSJhamF4U3RhdHVzUGFuZWxfc3RhcnQiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxpbWcgc3JjPSIvcmVzb3VyY2VzL2ltYWdlcy9hamF4LWxvYWRpbmcuZ2lmO2pzZXNzaW9uaWQ9MDc2NGViZWE5ZWYzNjFiNzRjMGJiZTg0Mzk5MSIgYWx0PSJMb2FkaW5nIiAvPjwvZGl2PjxkaXYgaWQ9ImFqYXhTdGF0dXNQYW5lbF9jb21wbGV0ZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICAgICAgICAgICAgICA8IS0tIERPIE5PVEhJTkcgLS0+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iYWpheFN0YXR1c1BhbmVsX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkFqYXhTdGF0dXMiLCJ3aWRnZXRfYWpheFN0YXR1c1BhbmVsIix7aWQ6ImFqYXhTdGF0dXNQYW5lbCJ9KTt9KTs8L3NjcmlwdD4KICAgIDwhLS0gRGlhbG9nIENvbnRhY3QgRm9ybSAtLT48ZGl2IGlkPSJjb250YWN0RGlhbG9nIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImNvbnRhY3REaWFsb2dfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkNvbnRhY3QgSGFydmFyZCBEYXRhdmVyc2UgU3VwcG9ydDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+PGRpdiBpZD0ial9pZHQxODU1Ij4KPGZvcm0gaWQ9ImVtYWlsRm9ybSIgbmFtZT0iZW1haWxGb3JtIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD0wNzY0ZWJlYTllZjM2MWI3NGMwYmJlODQzOTkxP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzIiBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJlbWFpbEZvcm0iIHZhbHVlPSJlbWFpbEZvcm0iIC8+CgogICAgICAgICAgICAgICAgPCEtLSB0bzogU3VwcG9ydCAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1lc3NhZ2VUbyIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPlRvPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJtZXNzYWdlVG8iIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj5IYXJ2YXJkIERhdGF2ZXJzZSBTdXBwb3J0PC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIGZyb20gZW1haWwgKG5vdCBsb2dnZWQgaW4pIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJ1c2VyRW1haWwiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj5Gcm9tIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWFzdGVyaXNrIHRleHQtZGFuZ2VyIiB0aXRsZT0iUmVxdWlyZWQgZmllbGQiPjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PGlucHV0IGlkPSJlbWFpbEZvcm06dXNlckVtYWlsIiBuYW1lPSJlbWFpbEZvcm06dXNlckVtYWlsIiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiBzaXplPSIzMCIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0IHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIiAvPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTp1c2VyRW1haWxfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJJbnB1dFRleHQiLCJ3aWRnZXRfZW1haWxGb3JtX3VzZXJFbWFpbCIse2lkOiJlbWFpbEZvcm06dXNlckVtYWlsIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gc3ViamVjdCAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1lc3NhZ2VTdWJqZWN0IiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+U3ViamVjdCA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PGlucHV0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1YmplY3QiIG5hbWU9ImVtYWlsRm9ybTptZXNzYWdlU3ViamVjdCIgdHlwZT0idGV4dCIgdmFsdWU9IiIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0IHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIiAvPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTptZXNzYWdlU3ViamVjdF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIklucHV0VGV4dCIsIndpZGdldF9lbWFpbEZvcm1fbWVzc2FnZVN1YmplY3QiLHtpZDoiZW1haWxGb3JtOm1lc3NhZ2VTdWJqZWN0In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+ICAgCiAgICAgICAgICAgICAgICA8IS0tIG1lc3NhZ2UgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJ1c2VyTWVzc2FnZSIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPk1lc3NhZ2UgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tYXN0ZXJpc2sgdGV4dC1kYW5nZXIiIHRpdGxlPSJSZXF1aXJlZCBmaWVsZCI+PC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjx0ZXh0YXJlYSBpZD0iZW1haWxGb3JtOnVzZXJNZXNzYWdlIiBuYW1lPSJlbWFpbEZvcm06dXNlck1lc3NhZ2UiIGNvbHM9IjIwIiByb3dzPSIxMCIgbWF4bGVuZ3RoPSIyMTQ3NDgzNjQ3IiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHRhcmVhIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIj48L3RleHRhcmVhPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTp1c2VyTWVzc2FnZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJJbnB1dFRleHRhcmVhIiwid2lkZ2V0X2VtYWlsRm9ybV91c2VyTWVzc2FnZSIse2lkOiJlbWFpbEZvcm06dXNlck1lc3NhZ2UiLGF1dG9SZXNpemU6ZmFsc2V9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSB2YWxpZGF0aW9uIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLW9mZnNldC0zIGNvbC1zbS05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+PHNwYW4gY2xhc3M9ImhpZ2hsaWdodEJvbGQiPlBsZWFzZSBmaWxsIHRoaXMgb3V0IHRvIHByb3ZlIHlvdSBhcmUgbm90IGEgcm9ib3QuPC9zcGFuPiA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4gKyAgPSA8aW5wdXQgaWQ9ImVtYWlsRm9ybTptZXNzYWdlU3VtIiBuYW1lPSJlbWFpbEZvcm06bWVzc2FnZVN1bSIgdHlwZT0idGV4dCIgc2l6ZT0iNCIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0IHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiIC8+PHNjcmlwdCBpZD0iZW1haWxGb3JtOm1lc3NhZ2VTdW1fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJJbnB1dFRleHQiLCJ3aWRnZXRfZW1haWxGb3JtX21lc3NhZ2VTdW0iLHtpZDoiZW1haWxGb3JtOm1lc3NhZ2VTdW0ifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gc2VuZCB8IGNhbmNlbCBidXR0b25zIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBpZD0iZW1haWxGb3JtOmpfaWR0MTg3MyIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZW1haWxGb3JtOmpfaWR0MTg3MyZxdW90Oyx1OiZxdW90O2VtYWlsRm9ybSZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyl7aWYgKGFyZ3MgJmFtcDsmYW1wOyAhYXJncy52YWxpZGF0aW9uRmFpbGVkKSBQRignY29udGFjdEZvcm0nKS5oaWRlKCk7O30scGE6W3tuYW1lOiZxdW90O0RPX1ZBTElEQVRJT04mcXVvdDssdmFsdWU6JnF1b3Q7dHJ1ZSZxdW90O31dLGZpOiZxdW90O2pfaWR0MTg1NSZxdW90O30pO3JldHVybiBmYWxzZTsiPlNlbmQgTWVzc2FnZTwvYT4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iUEYoJ2NvbnRhY3RGb3JtJykuaGlkZSgpIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB2YWx1ZT0iQ2FuY2VsIj4KICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqYXZheC5mYWNlcy5WaWV3U3RhdGUiIGlkPSJqX2lkMTpqYXZheC5mYWNlcy5WaWV3U3RhdGU6MCIgdmFsdWU9Ii00NDQyMDUxMDk1OTE2MzUyMzEyOi0yMDUzMjgzODk2NTk2MjgzNjY3IiBhdXRvY29tcGxldGU9Im9mZiIgLz4KPC9mb3JtPjwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImNvbnRhY3REaWFsb2dfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29udGFjdEZvcm0iLHtpZDoiY29udGFjdERpYWxvZyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9InN0YXR1c0luZm8iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0ic3RhdHVzSW5mb190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgPHA+PC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IlBGKCdzdGF0dXNJbmZvJykuaGlkZSgpIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB2YWx1ZT0iQ2xvc2UiPgogICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0ic3RhdHVzSW5mb19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzdGF0dXNJbmZvIix7aWQ6InN0YXR1c0luZm8iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgZGVmZXI9ImRlZmVyIiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9icy9qcy9ib290c3RyYXAubWluLmpzLnhodG1sP3ZlcnNpb249NC44LjQiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2JzL2pzL2Jvb3RzdHJhcC1ob3Zlci1kcm9wZG93bi5taW4uanMueGh0bWw/dmVyc2lvbj00LjguNCI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvaWUtY29tcGF0LmpzLnhodG1sP3ZlcnNpb249NC44LjQiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2R2X3JlYmluZF9ib290c3RyYXBfdWkuanMueGh0bWw/dmVyc2lvbj00LjguNCI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvb3dsLmNhcm91c2VsLmpzLnhodG1sP3ZlcnNpb249NC44LjQiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2pxdWVyeS5tYXRjaEhlaWdodC5qcy54aHRtbD92ZXJzaW9uPTQuOC40Ij48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgZGVmZXI9ImRlZmVyIiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcy9qcXVlcnkuc2hhcnJyZS5qcy54aHRtbD92ZXJzaW9uPTQuOC40Ij48L3NjcmlwdD4gIAogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2NsaXBib2FyZC5taW4uanMueGh0bWw/dmVyc2lvbj00LjguNCI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgLy88IVtDREFUQVsKICAgICAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgLy8gTmF2YmFyIFNlYXJjaCBUb2dnbGUKICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICcjbmF2YmFyLXNlYXJjaC10b2dnbGUnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCJsaSIpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAkKCJmb3JtLm5hdmJhci1mb3JtW3JvbGU9J3NlYXJjaCddIikuc2hvdygpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAkKCdib2R5JykuY2xpY2soZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoISQoZS50YXJnZXQpLmNsb3Nlc3QoImZvcm0ubmF2YmFyLWZvcm1bcm9sZT0nc2VhcmNoJ10iKS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiZm9ybS5uYXZiYXItZm9ybVtyb2xlPSdzZWFyY2gnXSIpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiI25hdmJhci1zZWFyY2gtdG9nZ2xlIikucGFyZW50KCJsaSIpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgLy8gUmViaW5kIGJvb3RzdHJhcCBVSSBjb21wb25lbnRzCiAgICAgICAgICAgICAgICBiaW5kX2JzdWlfY29tcG9uZW50cygpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAvL11dPgogICAgICAgIDwvc2NyaXB0PgogICAgPHNjcmlwdD48IS0tIEdvb2dsZSBBbmFseXRpY3MgU25pcHBldCAtLT4KICAgICAgICAoZnVuY3Rpb24oaSxzLG8sZyxyLGEsbSl7aVsnR29vZ2xlQW5hbHl0aWNzT2JqZWN0J109cjtpW3JdPWlbcl18fGZ1bmN0aW9uKCl7CiAgICAgICAgIChpW3JdLnE9aVtyXS5xfHxbXSkucHVzaChhcmd1bWVudHMpfSxpW3JdLmw9MSpuZXcgRGF0ZSgpO2E9cy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pCiAgICAgICAgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsKIAogICAgICAgICAgZ2EoJ2NyZWF0ZScsICJVQS02MTc1MzMzNC0xIiwgJ2F1dG8nKTsKCiAgICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycsIHsKICAgICAgICAgICAgJ2hpdFR5cGUnOiAnc29jaWFsJywKICAgICAgICAgICAgJ3NvY2lhbE5ldHdvcmsnOiAnZmFjZWJvb2snLAogICAgICAgICAgICAnc29jaWFsQWN0aW9uJzogJ3NlbmQnLAogICAgICAgICAgICAnc29jaWFsVGFyZ2V0JzogJ2h0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1JywKICAgICAgICAgICAgJ3BhZ2UnOiAnL2RhdGFzZXQueGh0bWw/cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAlMkZEVk4lMkZHQU9DMDMnCiAgICAgICAgICB9LCB7CiAgICAgICAgICAgICdoaXRUeXBlJzogJ3NvY2lhbCcsCiAgICAgICAgICAgICdzb2NpYWxOZXR3b3JrJzogJ3R3aXR0ZXInLAogICAgICAgICAgICAnc29jaWFsQWN0aW9uJzogJ3R3ZWV0JywKICAgICAgICAgICAgJ3NvY2lhbFRhcmdldCc6ICdodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdScsCiAgICAgICAgICAgICdwYWdlJzogJy9kYXRhc2V0LnhodG1sP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzJwogICAgICAgICAgfSk7CiAgICAgICAgCgk8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4=
|
34
|
+
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnID8+CjwhRE9DVFlQRSBodG1sPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgbGFuZz0iZW4iPjxoZWFkPgogICAgICAgICAgICA8dGl0bGU+VGhlIE5hdGlvbmFsIExhYm9yIEZvcmNlIDogU0FLRVJOQVMsIDIwMDggLSBOdW1lcmljIERhdGEgU2VydmljZXMgRGF0YXZlcnNlPC90aXRsZT4KCSAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KCSAgICA8bWV0YSBuYW1lPSJEQy5pZGVudGlmaWVyIiBjb250ZW50PSJkb2k6MTAuNzkxMC9EVk4vR0FPQzAzIiAvPgoJICAgIDxtZXRhIG5hbWU9IkRDLnR5cGUiIGNvbnRlbnQ9IkRhdGFzZXQiIC8+CgkgICAgPG1ldGEgbmFtZT0iREMudGl0bGUiIGNvbnRlbnQ9IlRoZSBOYXRpb25hbCBMYWJvciBGb3JjZSA6IFNBS0VSTkFTLCAyMDA4IiAvPgogICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5kYXRlIiBjb250ZW50PSIyMDE4LTAzLTE2IiAvPgoJICAgIDxtZXRhIG5hbWU9IkRDLnB1Ymxpc2hlciIgY29udGVudD0iSGFydmFyZCBEYXRhdmVyc2UiIC8+CiAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLmRlc2NyaXB0aW9uIiBjb250ZW50PSJOYXRpb25hbCBsYWJvciBmb3JjZSBzdXJ2ZXkgaW4gSW5kb25lc2lhLiBTdXJ2ZWkgYW5na2F0YW4ga2VyamEgbmFzaW9uYWwuIDIwMDgiIC8+CiAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkJhZGFuIFB1c2F0IFN0YXRpc3RpayIgLz4KICAgICAgICAgICAgPG1ldGEgbmFtZT0iREMuc3ViamVjdCIgY29udGVudD0iU29jaWFsIFNjaWVuY2VzIiAvPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj57IkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmciLCJAdHlwZSI6IkRhdGFzZXQiLCJpZGVudGlmaWVyIjoiaHR0cDovL2R4LmRvaS5vcmcvMTAuNzkxMC9EVk4vR0FPQzAzIiwibmFtZSI6IlRoZSBOYXRpb25hbCBMYWJvciBGb3JjZSA6IFNBS0VSTkFTLCAyMDA4IiwiYXV0aG9yIjpbeyJuYW1lIjoiQmFkYW4gUHVzYXQgU3RhdGlzdGlrIn1dLCJkYXRlUHVibGlzaGVkIjoiMjAxOC0wMy0xNiIsImRhdGVNb2RpZmllZCI6IjIwMTgtMDMtMTYiLCJ2ZXJzaW9uIjoiMSIsImRlc2NyaXB0aW9uIjoiTmF0aW9uYWwgbGFib3IgZm9yY2Ugc3VydmV5IGluIEluZG9uZXNpYS4gU3VydmVpIGFuZ2thdGFuIGtlcmphIG5hc2lvbmFsLiAyMDA4Iiwia2V5d29yZHMiOlsiU29jaWFsIFNjaWVuY2VzIiwiTGFib3IgU3VwcGx5LCBJbmRvbmVzaWEsIFN0YXRpc3RpY3MiXSwic2NoZW1hVmVyc2lvbiI6Imh0dHBzOi8vc2NoZW1hLm9yZy92ZXJzaW9uLzMuMyIsImxpY2Vuc2UiOnsiQHR5cGUiOiJEYXRhc2V0IiwidGV4dCI6IkxpY2Vuc2VkIGVsZWN0cm9uaWMgcmVzb3VyY2VzIGFyZSByZXN0cmljdGVkIHRvIG1lbWJlcnMgb2YgdGhlIEhhcnZhcmQgY29tbXVuaXR5IGZvciBwdXJwb3NlcyBvZiByZXNlYXJjaCwgdGVhY2hpbmcsIGFuZCBwcml2YXRlIHN0dWR5LiBVbmRlciBIYXJ2YXJkJ3MgbGljZW5zZXMgZm9yIGVsZWN0cm9uaWMgcmVzb3VyY2VzLCB1c2VycyBnZW5lcmFsbHkgbWF5IG5vdDogcGVybWl0IGFueW9uZSBvdGhlciB0aGFuIGF1dGhvcml6ZWQgdXNlcnMgdG8gdXNlIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHM7IG1vZGlmeSBvciBjcmVhdGUgYSBkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIGxpY2Vuc2VkIG1hdGVyaWFscyB3aXRob3V0IHRoZSBwZXJtaXNzaW9uIG9mIHRoZSBsaWNlbnNvcjsgcmVtb3ZlLCBvYnNjdXJlIG9yIG1vZGlmeSBhbnkgY29weXJpZ2h0IG9yIG90aGVyIG5vdGljZXMgaW5jbHVkZWQgaW4gdGhlIGxpY2Vuc2VkIG1hdGVyaWFsczsgdXNlIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHMgZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gdGhlIHNhbGUgb2YgdGhlIGxpY2Vuc2VkIG1hdGVyaWFscy4gVXNlcnMgYXJlIGluZGl2aWR1YWxseSByZXNwb25zaWJsZSBmb3IgY29tcGxpYW5jZSB3aXRoIHRoZXNlIHRlcm1zLiJ9LCJpbmNsdWRlZEluRGF0YUNhdGFsb2ciOnsiQHR5cGUiOiJEYXRhQ2F0YWxvZyIsIm5hbWUiOiJIYXJ2YXJkIERhdGF2ZXJzZSIsInVybCI6Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1In0sInByb3ZpZGVyIjp7IkB0eXBlIjoiT3JnYW5pemF0aW9uIiwibmFtZSI6IkRhdGF2ZXJzZSJ9fQoKICAgICAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbiIgLz4KICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiIC8+CiAgICAgICAgICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJUaGUgRGF0YXZlcnNlIFByb2plY3QgaXMgYW4gb3BlbiBzb3VyY2Ugc29mdHdhcmUgYXBwbGljYXRpb24gdG8gc2hhcmUsIGNpdGUgYW5kIGFyY2hpdmUgZGF0YS4gRGF0YXZlcnNlIHByb3ZpZGVzIGEgcm9idXN0IGluZnJhc3RydWN0dXJlIGZvciBkYXRhIHN0ZXdhcmRzIHRvIGhvc3QgYW5kIGFyY2hpdmUgZGF0YSwgd2hpbGUgb2ZmZXJpbmcgcmVzZWFyY2hlcnMgYW4gZWFzeSB3YXkgdG8gc2hhcmUgYW5kIGdldCBjcmVkaXQgZm9yIHRoZWlyIGRhdGEuIiAvPjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS90aGVtZS5jc3MueGh0bWw/bG49cHJpbWVmYWNlcy1ib290c3RyYXAiIC8+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pxdWVyeS9qcXVlcnkuanMueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P2xuPXByaW1lZmFjZXMmYW1wO3Y9NS4zIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanF1ZXJ5L2pxdWVyeS1wbHVnaW5zLmpzLnhodG1sO2pzZXNzaW9uaWQ9MGI0ZGVhMDI1ODIzZWY5MzBkZTIyMTI5ZjkzNj9sbj1wcmltZWZhY2VzJmFtcDt2PTUuMyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL3ByaW1lZmFjZXMuanMueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P2xuPXByaW1lZmFjZXMmYW1wO3Y9NS4zIj48L3NjcmlwdD48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvcHJpbWVmYWNlcy5jc3MueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P2xuPXByaW1lZmFjZXMmYW1wO3Y9NS4zIiAvPjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS93YXRlcm1hcmsvd2F0ZXJtYXJrLmNzcy54aHRtbDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/bG49cHJpbWVmYWNlcyZhbXA7dj01LjMiIC8+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL3dhdGVybWFyay93YXRlcm1hcmsuanMueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P2xuPXByaW1lZmFjZXMmYW1wO3Y9NS4zIj48L3NjcmlwdD48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvZmlsZXVwbG9hZC9maWxldXBsb2FkLmNzcy54aHRtbDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/bG49cHJpbWVmYWNlcyZhbXA7dj01LjMiIC8+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ZpbGV1cGxvYWQvZmlsZXVwbG9hZC5qcy54aHRtbDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/bG49cHJpbWVmYWNlcyZhbXA7dj01LjMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZih3aW5kb3cuUHJpbWVGYWNlcyl7fTwvc2NyaXB0PgogICAgICAgIDxsaW5rIHR5cGU9ImltYWdlL3BuZyIgcmVsPSJpY29uIiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvaW1hZ2VzL2Zhdmljb25kYXRhdmVyc2UucG5nLnhodG1sIiAvPgogICAgICAgIDxsaW5rIHR5cGU9ImltYWdlL3BuZyIgcmVsPSJpbWFnZV9zcmMiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9pbWFnZXMvZGF0YXZlcnNlcHJvamVjdC5wbmcueGh0bWwiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2JzL2Nzcy9ib290c3RyYXAubWluLmNzcy54aHRtbD92ZXJzaW9uPTQuOC42IiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9icy9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MueGh0bWw/dmVyc2lvbj00LjguNiIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL2llLWNvbXBhdC5jc3MueGh0bWw/dmVyc2lvbj00LjguNiIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL293bC5jYXJvdXNlbC5jc3MueGh0bWw/dmVyc2lvbj00LjguNiIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL2ZvbnRjdXN0b20uY3NzLnhodG1sP3ZlcnNpb249NC44LjYiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2Nzcy9zb2NpY29uLmNzcy54aHRtbD92ZXJzaW9uPTQuOC42IiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jc3Mvc3RydWN0dXJlLmNzcy54aHRtbD92ZXJzaW9uPTQuOC42IiAvPgogICAgICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgICAgLy8gQnJlYWsgb3V0IG9mIGlmcmFtZQogICAgICAgICAgICAgICAgaWYgKHdpbmRvdyAhPT0gdG9wKSB0b3AubG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb247CiAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgICAgICAvKiBDdXN0b20gQ1NTICovCiAgICAgICAgICAgICAgICAjbmF2YmFyRml4ZWQgZGl2Lm5hdmJhci1oZWFkZXIgaW1nLm5hdmJhci1icmFuZC5jdXN0b20tbG9nbyB7aGVpZ2h0OjUwcHggIWltcG9ydGFudDt9CiNkYXRhdmVyc2VEZXNjIHNwYW4gPiBzcGFuID4gc3BhbiA+IGgzIHtmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7fQoKICAgICAgICAgICAgPC9zdHlsZT48L2hlYWQ+PGJvZHk+Cgk8YSBocmVmPSIjY29udGVudCIgY2xhc3M9InNyLW9ubHkiPlNraXAgdG8gbWFpbiBjb250ZW50PC9hPgogICAgCiAgICA8ZGl2IGlkPSJkYXRhdmVyc2UtaGVhZGVyLWJsb2NrIj48bmF2IHJvbGU9Im5hdmlnYXRpb24iIGlkPSJuYXZiYXJGaXhlZCIgY2xhc3M9Im5hdmJhciBuYXZiYXItZGVmYXVsdCBuYXZiYXItZml4ZWQtdG9wIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3RvcE5hdkJhciIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5Ub2dnbGUgbmF2aWdhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4gICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8iPjxpbWcgc3JjPSIvbG9nb3MvbmF2YmFyL2xvZ28ucG5nO2pzZXNzaW9uaWQ9MGI0ZGVhMDI1ODIzZWY5MzBkZTIyMTI5ZjkzNiIgY2xhc3M9Im5hdmJhci1icmFuZCBjdXN0b20tbG9nbyIgLz4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSIgaWQ9InRvcE5hdkJhciI+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXZiYXItcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgaWQ9Im5hdmJhci1zZWFyY2gtdG9nZ2xlIiB0aXRsZT0iU2VhcmNoIGFsbCBkYXRhdmVyc2VzLi4uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9Im5hdmJhci1mb3JtIG5hdmJhci1sZWZ0IiByb2xlPSJzZWFyY2giIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0ic3Itb25seSIgZm9yPSJuYXZiYXJzZWFyY2giPlNlYXJjaDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJuYXZiYXJzZWFyY2giIHR5cGU9InRleHQiIGNsYXNzPSJzZWFyY2gtaW5wdXQgdWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHQgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIgc2l6ZT0iMjgiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJTZWFyY2ggYWxsIGRhdGF2ZXJzZXMuLi4iIC8+ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0id2luZG93LmxvY2F0aW9uID0gJy9kYXRhdmVyc2UvaGFydmFyZD9xPScgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmF2YmFyc2VhcmNoJykudmFsdWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNlYXJjaCI+PC9zcGFuPiBGaW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2Uub3JnIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWJvdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4gICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2d1aWRlcy5kYXRhdmVyc2Uub3JnL2VuLzQuOC42L3VzZXIiIHRhcmdldD0iX2JsYW5rIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VyIEd1aWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+Cjxmb3JtIGlkPSJqX2lkdDYyIiBuYW1lPSJqX2lkdDYyIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzIiBjbGFzcz0ibmF2YmFyLWZvcm0gbmF2YmFyLWxlZnQgbmF2YmFyLWZvcm0tbGluayI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImpfaWR0NjIiIHZhbHVlPSJqX2lkdDYyIiAvPgo8YSBpZD0ial9pZHQ2MjpqX2lkdDYzIiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2pfaWR0NjI6al9pZHQ2MyZxdW90Oyx1OiZxdW90O2NvbnRhY3REaWFsb2cmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdjb250YWN0Rm9ybScpLnNob3coKTt9fSk7cmV0dXJuIGZhbHNlOyI+U3VwcG9ydDwvYT48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqYXZheC5mYWNlcy5WaWV3U3RhdGUiIGlkPSJqX2lkMTpqYXZheC5mYWNlcy5WaWV3U3RhdGU6MCIgdmFsdWU9IjczMzM0NDUzNzAwMTE3NzA2NjI6LTU4MDcyNTEzOTk1MTIwNzEyOTUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgo8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2RhdGF2ZXJzZXVzZXIueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P2VkaXRNb2RlPUNSRUFURSZhbXA7cmVkaXJlY3RQYWdlPSUyRmRhdGFzZXQueGh0bWwlM0ZwZXJzaXN0ZW50SWQlM0Rkb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2lnbiBVcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2xvZ2lucGFnZS54aHRtbDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/cmVkaXJlY3RQYWdlPSUyRmRhdGFzZXQueGh0bWwlM0ZwZXJzaXN0ZW50SWQlM0Rkb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nIEluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvbmF2PjxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I0Y1RjVGNTsiIGlkPSJkYXRhdmVyc2VIZWFkZXIiIGNsYXNzPSJjb250YWluZXIgYmctbXV0ZWQiPjxkaXYgc3R5bGU9InRleHQtYWxpZ246TEVGVDtiYWNrZ3JvdW5kOiNmZmZmZmY7IiBjbGFzcz0iZGF0YXZlcnNlSGVhZGVyTG9nbyI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iL2xvZ29zLzE3OS9uZHMuZ2lmIiBhbHQ9Ik51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UiIC8+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhdGF2ZXJzZUhlYWRlckJsb2NrIj48ZGl2IGNsYXNzPSJkYXRhdmVyc2VIZWFkZXJDZWxsIGRhdGF2ZXJzZUhlYWRlck5hbWUiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9kYXRhdmVyc2UvbmRzIiBjbGFzcz0iZGF0YXZlcnNlSGVhZGVyRGF0YXZlcnNlTmFtZSIgc3R5bGU9ImNvbG9yOiM5YTM4Mzg7Ij5OdW1lcmljIERhdGEgU2VydmljZXMgRGF0YXZlcnNlPC9hPjxzcGFuIHN0eWxlPSJjb2xvcjojODg4ODg4OyI+IChIYXJ2YXJkIFVuaXZlcnNpdHkpPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImRhdGF2ZXJzZUhlYWRlckNlbGwgZGF0YXZlcnNlSGVhZGVyTGluayI+PGEgaHJlZj0iaHR0cDovL2hjbC5oYXJ2YXJkLmVkdS9saWJyYXJpZXMvbGFtb250L2NvbGxlY3Rpb25zL251bWVyaWNkYXRhL3NlcnZpY2VzLmNmbSIgc3R5bGU9ImNvbG9yOiM5YTM4Mzg7IiB0YXJnZXQ9Il9ibGFuayI+SG9tZSBQYWdlPC9hPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L2Rpdj48ZGl2IGlkPSJicmVhZGNydW1iTmF2QmxvY2siIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYkJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJicmVhZGNydW1iTG5rMCIgaHJlZj0iL2RhdGF2ZXJzZS9oYXJ2YXJkIj5IYXJ2YXJkIERhdGF2ZXJzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+PHNwYW4gY2xhc3M9ImJyZWFkY3J1bWJDYXJyb3QiPiAmZ3Q7IDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWJCbG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBpZD0iYnJlYWRjcnVtYkxuazEiIGhyZWY9Ii9kYXRhdmVyc2UvSGFydmFyZFN1YnNjcmlwdGlvbkRhdGEiPkhhcnZhcmQgU3Vic2NyaXB0aW9uIERhdGEgRGF0YXZlcnNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj48c3BhbiBjbGFzcz0iYnJlYWRjcnVtYkNhcnJvdCI+ICZndDsgPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYkJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJicmVhZGNydW1iTG5rMiIgaHJlZj0iL2RhdGF2ZXJzZS9uZHMiPk51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PjxzcGFuIGNsYXNzPSJicmVhZGNydW1iQ2Fycm90Ij4gJmd0OyA8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJicmVhZGNydW1iQmxvY2siPjxzcGFuIGNsYXNzPSJicmVhZGNydW1iQWN0aXZlIj5UaGUgTmF0aW9uYWwgTGFib3IgRm9yY2UgOiBTQUtFUk5BUywgMjAwODwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjxkaXYgaWQ9Im1lc3NhZ2VQYW5lbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBtZXNzYWdlUGFuZWwiPgogICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciIgaWQ9ImNvbnRlbnQiPgo8Zm9ybSBpZD0iZGF0YXNldEZvcm0iIG5hbWU9ImRhdGFzZXRGb3JtIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iL2RhdGFzZXQueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYXRhc2V0Rm9ybSIgdmFsdWU9ImRhdGFzZXRGb3JtIiAvPgo8ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0b3BEYXRhc2V0QmxvY2tGcmFnbWVudCI+PGRpdiBpZD0idG9wRGF0YXNldEJsb2NrIj48ZGl2IGlkPSJhY3Rpb25CdXR0b25CbG9jayIgY2xhc3M9ImJ1dHRvbi1ibG9jayBjbGVhcmZpeCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAgcHVsbC1yaWdodCIgcm9sZT0iZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuLWdyb3VwIHB1bGwtcmlnaHQiIGlkPSJkYXRhc2V0QnV0dG9uQmFyIiByb2xlPSJncm91cCI+PGEgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MjQ3IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IHRleHQtYnV0dG9uIGJvb3RzdHJhcC1idXR0b24tdG9vbHRpcCIgYXJpYS1sYWJlbD0iRW1haWwgRGF0YXNldCBDb250YWN0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjQ3JnF1b3Q7LHU6JnF1b3Q7Y29udGFjdERpYWxvZyZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyl7UEYoJ2NvbnRhY3RGb3JtJykuc2hvdygpO30sZmk6JnF1b3Q7ZGF0YXNldEZvcm06dG9wRGF0YXNldEJsb2NrRnJhZ21lbnQmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iRW1haWwgRGF0YXNldCBDb250YWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZW52ZWxvcGUiPjwvc3Bhbj4gQ29udGFjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48YSBpZD0iZGF0YXNldEZvcm06al9pZHQyNDkiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgdGV4dC1idXR0b24gYm9vdHN0cmFwLWJ1dHRvbi10b29sdGlwIiBhcmlhLWxhYmVsPSJTaGFyZSBEYXRhc2V0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MjQ5JnF1b3Q7LG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzKXtQRignc2hhcmVEaWFsb2cnKS5zaG93KCk7c2hhcnJyZSgpOzt9LGZpOiZxdW90O2RhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IlNoYXJlIERhdGFzZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zaGFyZSI+PC9zcGFuPiBTaGFyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNoYXJlRGlhbG9nIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnNoYXJlRGlhbG9nX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TaGFyZSBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IFNoYXJlIHRoaXMgZGF0YXNldCBvbiB5b3VyIGZhdm9yaXRlIHNvY2lhbCBtZWRpYSBuZXR3b3Jrcy48L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNoYXJycmUtd2lkZ2V0IiBkYXRhLXVybD0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvZGF0YXNldC54aHRtbD9wZXJzaXN0ZW50SWQ9ZG9pOjEwLjc5MTAvRFZOL0dBT0MwMyIgZGF0YS10ZXh0PSJWaWV3IHRoaXMgZGF0YXNldC4iPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iUEYoJ3NoYXJlRGlhbG9nJykuaGlkZSgpIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB2YWx1ZT0iQ2xvc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2hhcmVEaWFsb2dfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2hhcmVEaWFsb2ciLHtpZDoiZGF0YXNldEZvcm06c2hhcmVEaWFsb2ciLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJtZXRyaWNzLWJsb2NrIiBjbGFzcz0iY29sLXhzLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im1ldHJpY3MtbGFiZWwiIGNsYXNzPSJjb2wteHMtNCBzbWFsbCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXN0YXRzIj48L3NwYW4+IE1ldHJpY3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtZXRyaWNzLWNvbnRlbnQiIGNsYXNzPSJjb2wteHMtOCBzbWFsbCB0ZXh0LWNlbnRlciI+PHNwYW4gY2xhc3M9Im1ldHJpY3MtZG93bmxvYWRzIj4wIERvd25sb2Fkczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImRhdGFzZXRWZXJzaW9uQmxvY2siIGNsYXNzPSJjb250YWluZXItZmx1aWQiPjxkaXYgaWQ9InRpdGxlLWJsb2NrIiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMSB2Y2VudGVyIHRpdGxlLXByZXZpZXctaWNvbi1ibG9jayI+PHNwYW4gY2xhc3M9Imljb24tZGF0YXNldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMSB2Y2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9InRpdGxlIj5UaGUgTmF0aW9uYWwgTGFib3IgRm9yY2UgOiBTQUtFUk5BUywgMjAwODwvc3Bhbj48c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtZGVmYXVsdCI+VmVyc2lvbiAxLjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAKICAgIDxkaXYgaWQ9ImNpdGF0aW9uLWJsb2NrIiBjbGFzcz0icm93Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgIGFsZXJ0IGFsZXJ0LWluZm8gYmctY2l0YXRpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgIj4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNpdGF0aW9uIiBjbGFzcz0iY29sLXhzLTcgY29sLW1kLTgiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJjaXRhdGlvbi1zZWxlY3QiIG9uY2xpY2s9ImlmIChldmVudC50YXJnZXQpIHsgc2VsZWN0VGV4dChldmVudC50YXJnZXQpOyB9IGVsc2V7IHNlbGVjdFRleHQodGhpcyk7IH0iPkJhZGFuIFB1c2F0IFN0YXRpc3RpaywgMjAxOCwgIlRoZSBOYXRpb25hbCBMYWJvciBGb3JjZSA6IFNBS0VSTkFTLCAyMDA4IiwgPGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjc5MTAvRFZOL0dBT0MwMyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZG9pLm9yZy8xMC43OTEwL0RWTi9HQU9DMDM8L2E+LCBIYXJ2YXJkIERhdGF2ZXJzZSwgVjEKICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGlkPSJjaXRhdGlvbi1kb3dubG9hZCIgY2xhc3M9ImNvbC1zbS01IGNvbC1tZC00IHRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJkb3dubG9hZENpdGF0aW9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWxpc3QiPjwvc3Bhbj4gQ2l0ZSBEYXRhc2V0IDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IHB1bGwtcmlnaHQgdGV4dC1sZWZ0IiByb2xlPSJtZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzZi5qcy54aHRtbD9sbj1qYXZheC5mYWNlcyI+PC9zY3JpcHQ+DQo8YSBpZD0iZGF0YXNldEZvcm06ZW5kTm90ZUxpbmsiIGhyZWY9IiMiIG9uY2xpY2s9Im1vamFycmEuanNmY2xqcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0YXNldEZvcm0nKSx7J2RhdGFzZXRGb3JtOmVuZE5vdGVMaW5rJzonZGF0YXNldEZvcm06ZW5kTm90ZUxpbmsnfSwnJyk7cmV0dXJuIGZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5kTm90ZSBYTUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGlkPSJkYXRhc2V0Rm9ybTpyaXNMaW5rIiBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTpyaXNMaW5rJzonZGF0YXNldEZvcm06cmlzTGluayd9LCcnKTtyZXR1cm4gZmFsc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSSVMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGlkPSJkYXRhc2V0Rm9ybTpiaWJMaW5rIiBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTpiaWJMaW5rJzonZGF0YXNldEZvcm06YmliTGluayd9LCdfYmxhbmsnKTtyZXR1cm4gZmFsc2UiIHRhcmdldD0iX2JsYW5rIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmliVGVYCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjaXRhdGlvbi1zdGFuZGFyZHMiIGNsYXNzPSJzbWFsbCB0ZXh0LW11dGVkIHRleHQtcmlnaHQiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWluZm8tc2lnbiI+PC9zcGFuPiBMZWFybiBhYm91dCA8YSBocmVmPSJodHRwOi8vYmVzdC1wcmFjdGljZXMuZGF0YXZlcnNlLm9yZy9kYXRhLWNpdGF0aW9uLyIgdGl0bGU9IkdldCBSZWNvZ25pdGlvbjogRGF0YSBDaXRhdGlvbiAgLSBEYXRhdmVyc2UgQmVzdCBQcmFjdGljZXMiIHRhcmdldD0iX2JsYW5rIj5EYXRhIENpdGF0aW9uIFN0YW5kYXJkczwvYT4uPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PGRpdiBpZD0iZGF0YXNldC1zdW1tYXJ5LW1ldGFkYXRhIiBjbGFzcz0icm93IHBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkgbWV0YWRhdGEtcGFuZWwtYm9keSI+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfZHNEZXNjcmlwdGlvbiIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJBIHN1bW1hcnkgZGVzY3JpYmluZyB0aGUgcHVycG9zZSwgbmF0dXJlLCBhbmQgc2NvcGUgb2YgdGhlIERhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pk5hdGlvbmFsIGxhYm9yIGZvcmNlIHN1cnZleSBpbiBJbmRvbmVzaWEuIFN1cnZlaSBhbmdrYXRhbiBrZXJqYSBuYXNpb25hbC4gMjAwOAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfc3ViamVjdCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJEb21haW4tc3BlY2lmaWMgU3ViamVjdCBDYXRlZ29yaWVzIHRoYXQgYXJlIHRvcGljYWxseSByZWxldmFudCB0byB0aGUgRGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGRpdiBjbGFzcz0iY29sLXNtLTkiPlNvY2lhbCBTY2llbmNlczwvZGl2PjwvZGl2PjxkaXYgaWQ9ImtleXdvcmRzIiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iS2V5IHRlcm1zIHRoYXQgZGVzY3JpYmUgaW1wb3J0YW50IGFzcGVjdHMgb2YgdGhlIERhdGFzZXQuIj5LZXl3b3JkPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPkxhYm9yIFN1cHBseSwgSW5kb25lc2lhLCBTdGF0aXN0aWNzPC9kaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBpZD0iY29udGVudFRhYnMiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnBhZ2VSZWZyZXNoRnJhZ21lbnQiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06ZGF0YXNldExvY2tlZEZvckluZ2VzdFZhcmlhYmxlIiB0eXBlPSJoaWRkZW4iIG5hbWU9ImRhdGFzZXRGb3JtOmRhdGFzZXRMb2NrZWRGb3JJbmdlc3RWYXJpYWJsZSIgdmFsdWU9ImZhbHNlIiAvPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06ZGF0YXNldFN0YXRlQ2hhbmdlZFZhcmlhYmxlIiB0eXBlPSJoaWRkZW4iIG5hbWU9ImRhdGFzZXRGb3JtOmRhdGFzZXRTdGF0ZUNoYW5nZWRWYXJpYWJsZSIgdmFsdWU9ImZhbHNlIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZWZyZXNoSW5nZXN0TG9ja0NvbW1hbmQgPSBmdW5jdGlvbigpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDQ1MiIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOmpfaWR0NDUyIix1OiJkYXRhc2V0Rm9ybTpwYWdlUmVmcmVzaEZyYWdtZW50IixwYTphcmd1bWVudHNbMF0sZmk6ImRhdGFzZXRGb3JtOnBhZ2VSZWZyZXNoRnJhZ21lbnQifSk7fTwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZWZyZXNoQWxsQ29tbWFuZCA9IGZ1bmN0aW9uKCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOmpfaWR0NDUzIixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06al9pZHQ0NTMiLHU6ImRhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50IGRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSBtZXNzYWdlUGFuZWwiLHBhOmFyZ3VtZW50c1swXSxmaToiZGF0YXNldEZvcm06cGFnZVJlZnJlc2hGcmFnbWVudCJ9KTt9PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiIgbmFtZT0iZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiIgY2xhc3M9IiIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpyZWZyZXNoQnV0dG9uJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50IGRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSBtZXNzYWdlUGFuZWwmcXVvdDssZmk6JnF1b3Q7ZGF0YXNldEZvcm06cGFnZVJlZnJlc2hGcmFnbWVudCZxdW90O30pO3JldHVybiBmYWxzZTsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPnVpLWJ1dHRvbjwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpyZWZyZXNoQnV0dG9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsInJlZnJlc2hCdXR0b24iLHtpZDoiZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiJ9KTs8L3NjcmlwdD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZWFkeShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hJZlN0aWxsTG9ja2VkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHJlZnJlc2hJZlN0aWxsTG9ja2VkKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnaW5wdXRbaWQkPSJkYXRhc2V0TG9ja2VkRm9ySW5nZXN0VmFyaWFibGUiXScpLnZhbCgpID09PSAndHJ1ZScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGRhdGFzZXQgaXMgbG9ja2VkLCBpbnN0cnVjdCB0aGUgcGFnZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2FpdCBhbmQgY2hlY2sgYWdhaW46CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0QW5kQ2hlY2tMb2NrQWdhaW4oKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIG5vdCBsb2NrZWQsIGhhcyBpdCBqdXN0IGJlZW4gdW5sb2NrZWQ/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnaW5wdXRbaWQkPSJkYXRhc2V0U3RhdGVDaGFuZ2VkVmFyaWFibGUiXScpLnZhbCgpID09PSAndHJ1ZScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3Igd2hhdGV2ZXIgdW5rbm93biBQcmltZUZhY2VzIHJlYXNvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBwYWdlIG5lZWRzIHRvIGJlIHJlZnJlc2hlZCB0d2ljZSwgZm9yIGFsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBwdWxsIGRvd24gbWVudXMgdG8gdXBkYXRlIHByb3Blcmx5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hBbGxDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gWW91IGNhbid0IGp1c3QgcnVuIDIgcmVmcmVzaEFsbENvbW1hbmQoKXMgaW4gYSByb3cKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlaXRoZXI7IGJlY2F1c2UgdGhlIGNvbW1hbmQgaGFzIGFuICJ1cGRhdGU9QGFsbCIgb24gaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc28gSSBndWVzcyBpZiB5b3UgdHJ5IHRvIGV4ZWN1dGUgdGhlIDJuZCBvbmUgcmlnaHQgYWZ0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZmlyc3Qgb25lLCB0aGlzIGZyYWdtZW50IGlzIHN0aWxsIGdvaW5nIHRvIGJlIGxvYWRpbmcgLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIHRoZXJlIHdvdWxkIG5vdCB5ZXQgYmUgYSBjb21tYW5kIHRvIHJ1biEgKGl0IG5lZWRzIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmUgcmVuZGVyZWQsIGJlZm9yZSB5b3UgY2FuIGV4ZWN1dGUgaXQsIHRoYXQgaXMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgYnV0dG9uIGRvZXNuJ3QgZG8gYW55dGhpbmcsIGJ1dCBpdCBoYXMgYW4gdXBkYXRlPSJAYWxsIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhdHRyaWJ1dGU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9InJlZnJlc2hCdXR0b24iXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmVmcmVzaEFsbENvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxNTAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gd2FpdEFuZENoZWNrTG9ja0FnYWluKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlZnJlc2ggdGhlIGxvY2sgaW4gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNraW5nIGJlYW47IGkuZS4sIGNoZWNrLCBpZiB0aGUgaW5nZXN0IGhhcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWxyZWFkeSBjb21wbGV0ZWQgaW4gdGhlIGJhY2tncm91bmQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyQoJ2J1dHRvbltpZCQ9InJlZnJlc2hCdXR0b24iXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3JlZnJlc2hMb2NrQ29tbWFuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaEluZ2VzdExvY2tDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEwMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD48L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3IiBjbGFzcz0idWktdGFicyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1oaWRkZW4tY29udGFpbmVyIHVpLXRhYnMtdG9wIiBkYXRhLXdpZGdldD0iY29udGVudCI+PHVsIGNsYXNzPSJ1aS10YWJzLW5hdiB1aS1oZWxwZXItcmVzZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCIgcm9sZT0idGFibGlzdCI+PGxpIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IHVpLXRhYnMtc2VsZWN0ZWQgdWktc3RhdGUtYWN0aXZlIHVpLWNvcm5lci10b3AiIHJvbGU9InRhYiIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1zZWxlY3RlZD0idHJ1ZSI+PGEgaHJlZj0iI2RhdGFzZXRGb3JtOnRhYlZpZXc6ZGF0YUZpbGVzVGFiIiB0YWJpbmRleD0iLTEiPkZpbGVzPC9hPjwvbGk+PGxpIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiIHJvbGU9InRhYiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48YSBocmVmPSIjZGF0YXNldEZvcm06dGFiVmlldzptZXRhZGF0YU1hcFRhYiIgdGFiaW5kZXg9Ii0xIj5NZXRhZGF0YTwvYT48L2xpPjxsaSBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIiByb2xlPSJ0YWIiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+PGEgaHJlZj0iI2RhdGFzZXRGb3JtOnRhYlZpZXc6dGVybXNUYWIiIHRhYmluZGV4PSItMSI+VGVybXM8L2E+PC9saT48bGkgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCIgcm9sZT0idGFiIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPjxhIGhyZWY9IiNkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFiIiB0YWJpbmRleD0iLTEiPlZlcnNpb25zPC9hPjwvbGk+PC91bD48ZGl2IGNsYXNzPSJ1aS10YWJzLXBhbmVscyI+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpkYXRhRmlsZXNUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20iIHJvbGU9InRhYnBhbmVsIiBhcmlhLWhpZGRlbj0iZmFsc2UiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIgY2xhc3M9InVpLWRhdGF0YWJsZSB1aS13aWRnZXQgdWktZGF0YXRhYmxlLXNjcm9sbGFibGUiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MXB4OyI+PGRpdiBjbGFzcz0idWktZGF0YXRhYmxlLWhlYWRlciB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci10b3AiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpmaWxlc0hlYWRlckJsb2NrIiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy02Ij4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6c2VhcmNoRmlsZXMiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlcyIgdHlwZT0idGV4dCIgb25rZXlwcmVzcz0iaWYgKGV2ZW50LmtleUNvZGUgPT0gMTMpIHsgc3VibWl0c2VhcmNoKCk7IHJldHVybiBmYWxzZTsgfSIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0IHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIiAvPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzZWFyY2hGaWxlc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIklucHV0VGV4dCIsImlucHV0U2VhcmNoVGVybSIse2lkOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6c2VhcmNoRmlsZXMifSk7PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0NjQ3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIldhdGVybWFyayIsIndpZGdldF9kYXRhc2V0Rm9ybV90YWJWaWV3X2ZpbGVzVGFibGVfal9pZHQ2NDciLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0NjQ3Iix2YWx1ZToiU2VhcmNoIHRoaXMgZGF0YXNldC4uLiIsdGFyZ2V0OiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6c2VhcmNoRmlsZXMifSwid2F0ZXJtYXJrIik7fSk7PC9zY3JpcHQ+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6c2hvd0FjY2Vzc1BvcHVwIiB0eXBlPSJoaWRkZW4iIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpzaG93QWNjZXNzUG9wdXAiIHZhbHVlPSJmYWxzZSIgLz48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+c3VibWl0c2VhcmNoID0gZnVuY3Rpb24oKSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0NjQ4IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0NjQ4IEB3aWRnZXRWYXIoaW5wdXRTZWFyY2hUZXJtKSIsdToiZGF0YXNldEZvcm0iLHBzOnRydWUscGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWJ0biI+PGEgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDY1MCIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0NjUwJnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0NjUwIEB3aWRnZXRWYXIoaW5wdXRTZWFyY2hUZXJtKSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7LHBzOnRydWV9KTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giPjwvc3Bhbj4gRmluZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTo2cHg7Ij4KICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImZpbGVzSGVhZGVyQ291bnQiIGNsYXNzPSJjb2wteHMtMiB0ZXh0LWxlZnQiPjxzcGFuIGNsYXNzPSJoaWdobGlnaHRCb2xkIj41IEZpbGVzPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmaWxlc0J1dHRvbnMiIGNsYXNzPSJjb2wteHMtMTAiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTp1cGxvYWRDb21wdXRlQmxvY2siIGNsYXNzPSJidXR0b24tYmxvY2sgdGFiLWhlYWRlciBwdWxsLXJpZ2h0IHRleHQtcmlnaHQiPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InVpLXdpZGdldC1oZWFkZXIgdWktZGF0YXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyIj48ZGl2IGNsYXNzPSJ1aS1kYXRhdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXItYm94Ij48dGFibGUgcm9sZT0iZ3JpZCI+PHRoZWFkIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfaGVhZCI+PHRyIHJvbGU9InJvdyI+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ2OTMiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IHVpLXNlbGVjdGlvbi1jb2x1bW4gdGV4dC1jZW50ZXIiIHJvbGU9ImNvbHVtbmhlYWRlciIgc3R5bGU9IndpZHRoOjIwcHggIWltcG9ydGFudDsiPjxzcGFuIGNsYXNzPSJ1aS1jb2x1bW4tdGl0bGUiPjwvc3Bhbj48ZGl2IGNsYXNzPSJ1aS1jaGtib3ggdWktY2hrYm94LWFsbCB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfY2hlY2tib3giIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktY2hrYm94LWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktY2hrYm94LWljb24gdWktaWNvbiB1aS1pY29uLWJsYW5rIHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L3RoPjx0aCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0Njk0IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtZmlsZS10aHVtYiIgcm9sZT0iY29sdW1uaGVhZGVyIiBzdHlsZT0id2lkdGg6NjRweCAhaW1wb3J0YW50OyI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ3MDYiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1maWxlLW1ldGFkYXRhIiByb2xlPSJjb2x1bW5oZWFkZXIiPjxzcGFuIGNsYXNzPSJ1aS1jb2x1bW4tdGl0bGUiPjwvc3Bhbj48L3RoPjx0aCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0NzM1IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtZmlsZS1hY3Rpb24gdGV4dC1yaWdodCAiIHJvbGU9ImNvbHVtbmhlYWRlciI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+PC9zcGFuPjwvdGg+PC90cj48L3RoZWFkPjwvdGFibGU+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idWktZGF0YXRhYmxlLXNjcm9sbGFibGUtYm9keSIgdGFiaW5kZXg9Ii0xIj48dGFibGUgcm9sZT0iZ3JpZCI+PHRib2R5IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfZGF0YSIgY2xhc3M9InVpLWRhdGF0YWJsZS1kYXRhIHVpLXdpZGdldC1jb250ZW50Ij48dHIgZGF0YS1yaT0iMCIgZGF0YS1yaz0iczM6Ly9kdm4tY2xvdWQ6MTYyMGI5ZDJjZGMtMmRhMjU5ODI2ZmU4IiBjbGFzcz0idWktd2lkZ2V0LWNvbnRlbnQgdWktZGF0YXRhYmxlLWV2ZW4gdWktZGF0YXRhYmxlLXNlbGVjdGFibGUiIHJvbGU9InJvdyIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPjx0ZCByb2xlPSJncmlkY2VsbCIgc3R5bGU9IndpZHRoOjIwcHggIWltcG9ydGFudDsiIGNsYXNzPSJ1aS1zZWxlY3Rpb24tY29sdW1uIHRleHQtY2VudGVyIj48ZGl2IGNsYXNzPSJ1aS1jaGtib3ggdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX2NoZWNrYm94IiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PC9kaXY+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDo2NHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0iY29sLWZpbGUtdGh1bWIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwtYmxvY2sgdGV4dC1jZW50ZXIiPjxzcGFuIGNsYXNzPSJpY29uLWRvY3VtZW50IGZpbGUtdGh1bWJuYWlsLWljb24gdGV4dC1tdXRlZCI+PC9zcGFuPjxkaXYgY2xhc3M9ImZpbGUtaWNvbi1yZXN0cmljdGVkLWJsb2NrIj4gICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1sb2NrIHRleHQtZGFuZ2VyIj48L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtbWV0YWRhdGEiPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlTmFtZUxpbmsiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVOYW1lTGluayIgaHJlZj0iL2ZpbGUueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P2ZpbGVJZD0zMTMxODU0JmFtcDt2ZXJzaW9uPVJFTEVBU0VEJmFtcDt2ZXJzaW9uPS4wIj5LdWVzaW9uZXIgU2FrZXJuYXMgMjAwOC5wZGY8L2E+CgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1tdXRlZCBzbWFsbCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVUeXBlT3V0cHV0UmVndWxhciI+QWRvYmUgUERGPC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlU2l6ZSI+IC0gMzczLjYgS0I8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVDcmVhdGVQdWJsaXNoRGF0ZSI+IC0gTWFyIDE2LCAyMDE4PC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlRG93bmxvYWRDb3VudCI+IC0gMCBEb3dubG9hZHM8L3NwYW4+PGRpdiBjbGFzcz0iY2hlY2tzdW0tYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlLWNoZWNrc3VtIj5NRDU6IGM3Njg5ZjA0N2VjZDg1YTIwN2MxYWI3YTEzZWUzMmQ1PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLWFjdGlvbiB0ZXh0LXJpZ2h0ICI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj48L2Rpdj48L3RkPjwvdHI+PHRyIGRhdGEtcmk9IjEiIGRhdGEtcms9InMzOi8vZHZuLWNsb3VkOjE2MjBiOWNiYjNkLTY2MWZkNWUyMGNlMiIgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHVpLWRhdGF0YWJsZS1vZGQgdWktZGF0YXRhYmxlLXNlbGVjdGFibGUiIHJvbGU9InJvdyIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPjx0ZCByb2xlPSJncmlkY2VsbCIgc3R5bGU9IndpZHRoOjIwcHggIWltcG9ydGFudDsiIGNsYXNzPSJ1aS1zZWxlY3Rpb24tY29sdW1uIHRleHQtY2VudGVyIj48ZGl2IGNsYXNzPSJ1aS1jaGtib3ggdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX2NoZWNrYm94IiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PC9kaXY+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDo2NHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0iY29sLWZpbGUtdGh1bWIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwtYmxvY2sgdGV4dC1jZW50ZXIiPjxzcGFuIGNsYXNzPSJpY29uLWRvY3VtZW50IGZpbGUtdGh1bWJuYWlsLWljb24gdGV4dC1tdXRlZCI+PC9zcGFuPjxkaXYgY2xhc3M9ImZpbGUtaWNvbi1yZXN0cmljdGVkLWJsb2NrIj4gICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1sb2NrIHRleHQtZGFuZ2VyIj48L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtbWV0YWRhdGEiPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlTmFtZUxpbmsiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVOYW1lTGluayIgaHJlZj0iL2ZpbGUueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P2ZpbGVJZD0zMTMxODU1JmFtcDt2ZXJzaW9uPVJFTEVBU0VEJmFtcDt2ZXJzaW9uPS4wIj5MYXlvdXQgU2FrZXJuYXMgMjAwOCBBZ3VzdHVzLmRvYzwvYT4KCiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LW11dGVkIHNtYWxsIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6ZmlsZVR5cGVPdXRwdXRSZWd1bGFyIj5NUyBXb3JkPC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlU2l6ZSI+IC0gMTQ4LjUgS0I8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVDcmVhdGVQdWJsaXNoRGF0ZSI+IC0gTWFyIDE2LCAyMDE4PC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlRG93bmxvYWRDb3VudCI+IC0gMCBEb3dubG9hZHM8L3NwYW4+PGRpdiBjbGFzcz0iY2hlY2tzdW0tYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlLWNoZWNrc3VtIj5NRDU6IGQ5MDA1ODA1OTY5MjczZTk0YTY0YzEzMjhhNTg2NWYyPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLWFjdGlvbiB0ZXh0LXJpZ2h0ICI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj48L2Rpdj48L3RkPjwvdHI+PHRyIGRhdGEtcmk9IjIiIGRhdGEtcms9InMzOi8vZHZuLWNsb3VkOjE2MjBiOWNiZDBhLWJhYzU4NWFjMDRjNiIgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHVpLWRhdGF0YWJsZS1ldmVuIHVpLWRhdGF0YWJsZS1zZWxlY3RhYmxlIiByb2xlPSJyb3ciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDoyMHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9jaGVja2JveCIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6NjRweCAhaW1wb3J0YW50OyIgY2xhc3M9ImNvbC1maWxlLXRodW1iIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj48c3BhbiBjbGFzcz0iaWNvbi1kb2N1bWVudCBmaWxlLXRodW1ibmFpbC1pY29uIHRleHQtbXV0ZWQiPjwvc3Bhbj48ZGl2IGNsYXNzPSJmaWxlLWljb24tcmVzdHJpY3RlZC1ibG9jayI+ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tbG9jayB0ZXh0LWRhbmdlciI+PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLW1ldGFkYXRhIj48YSBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6ZmlsZU5hbWVMaW5rIiBuYW1lPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlTmFtZUxpbmsiIGhyZWY9Ii9maWxlLnhodG1sO2pzZXNzaW9uaWQ9MGI0ZGVhMDI1ODIzZWY5MzBkZTIyMTI5ZjkzNj9maWxlSWQ9MzEzMTg1NiZhbXA7dmVyc2lvbj1SRUxFQVNFRCZhbXA7dmVyc2lvbj0uMCI+UV9TQUswODA4LnBkZjwvYT4KCiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LW11dGVkIHNtYWxsIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6ZmlsZVR5cGVPdXRwdXRSZWd1bGFyIj5BZG9iZSBQREY8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVTaXplIj4gLSAxNDMuMCBLQjwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6ZmlsZUNyZWF0ZVB1Ymxpc2hEYXRlIj4gLSBNYXIgMTYsIDIwMTg8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVEb3dubG9hZENvdW50Ij4gLSAwIERvd25sb2Fkczwvc3Bhbj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGUtY2hlY2tzdW0iPk1ENTogMmNkOThmNzQ1MjQ3NzMyMzhkYmRiZmYwZTMyNjAwNzg8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtYWN0aW9uIHRleHQtcmlnaHQgIj48ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPjwvZGl2PjwvdGQ+PC90cj48dHIgZGF0YS1yaT0iMyIgZGF0YS1yaz0iczM6Ly9kdm4tY2xvdWQ6MTYyMGI5ZDE5ZTMtOTQ2ZmRiZWJlYWQxIiBjbGFzcz0idWktd2lkZ2V0LWNvbnRlbnQgdWktZGF0YXRhYmxlLW9kZCB1aS1kYXRhdGFibGUtc2VsZWN0YWJsZSIgcm9sZT0icm93IiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6MjBweCAhaW1wb3J0YW50OyIgY2xhc3M9InVpLXNlbGVjdGlvbi1jb2x1bW4gdGV4dC1jZW50ZXIiPjxkaXYgY2xhc3M9InVpLWNoa2JveCB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfY2hlY2tib3giIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktY2hrYm94LWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktY2hrYm94LWljb24gdWktaWNvbiB1aS1pY29uLWJsYW5rIHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgc3R5bGU9IndpZHRoOjY0cHggIWltcG9ydGFudDsiIGNsYXNzPSJjb2wtZmlsZS10aHVtYiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbC1ibG9jayB0ZXh0LWNlbnRlciI+PHNwYW4gY2xhc3M9Imljb24tb3RoZXIgZmlsZS10aHVtYm5haWwtaWNvbiB0ZXh0LW11dGVkIj48L3NwYW4+PGRpdiBjbGFzcz0iZmlsZS1pY29uLXJlc3RyaWN0ZWQtYmxvY2siPiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWxvY2sgdGV4dC1kYW5nZXIiPjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIGNsYXNzPSJjb2wtZmlsZS1tZXRhZGF0YSI+PGEgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTozOmZpbGVOYW1lTGluayIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjM6ZmlsZU5hbWVMaW5rIiBocmVmPSIvZmlsZS54aHRtbDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/ZmlsZUlkPTMxMzE4NTcmYW1wO3ZlcnNpb249UkVMRUFTRUQmYW1wO3ZlcnNpb249LjAiPnNhazA4YWd0X3RyYW5zZmVydWxhbmcuZGJmPC9hPgoKICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbXV0ZWQgc21hbGwiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MzpmaWxlVHlwZU91dHB1dFJlZ3VsYXIiPlVua25vd248L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTozOmZpbGVTaXplIj4gLSAzMjMuNSBNQjwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjM6ZmlsZUNyZWF0ZVB1Ymxpc2hEYXRlIj4gLSBNYXIgMTYsIDIwMTg8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTozOmZpbGVEb3dubG9hZENvdW50Ij4gLSAwIERvd25sb2Fkczwvc3Bhbj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTozOmZpbGUtY2hlY2tzdW0iPk1ENTogYmE2YTVmNjNlMTBkZWU0NmEwMDI1ZjEyZjc1YTRhMGY8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtYWN0aW9uIHRleHQtcmlnaHQgIj48ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPjwvZGl2PjwvdGQ+PC90cj48dHIgZGF0YS1yaT0iNCIgZGF0YS1yaz0iczM6Ly9kdm4tY2xvdWQ6MTYyMGI5ZDVjMGQtZTkxODkyYjQ5ODBhIiBjbGFzcz0idWktd2lkZ2V0LWNvbnRlbnQgdWktZGF0YXRhYmxlLWV2ZW4gdWktZGF0YXRhYmxlLXNlbGVjdGFibGUiIHJvbGU9InJvdyIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPjx0ZCByb2xlPSJncmlkY2VsbCIgc3R5bGU9IndpZHRoOjIwcHggIWltcG9ydGFudDsiIGNsYXNzPSJ1aS1zZWxlY3Rpb24tY29sdW1uIHRleHQtY2VudGVyIj48ZGl2IGNsYXNzPSJ1aS1jaGtib3ggdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX2NoZWNrYm94IiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PC9kaXY+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDo2NHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0iY29sLWZpbGUtdGh1bWIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWwtYmxvY2sgdGV4dC1jZW50ZXIiPjxzcGFuIGNsYXNzPSJpY29uLW90aGVyIGZpbGUtdGh1bWJuYWlsLWljb24gdGV4dC1tdXRlZCI+PC9zcGFuPjxkaXYgY2xhc3M9ImZpbGUtaWNvbi1yZXN0cmljdGVkLWJsb2NrIj4gICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1sb2NrIHRleHQtZGFuZ2VyIj48L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtbWV0YWRhdGEiPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6NDpmaWxlTmFtZUxpbmsiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTo0OmZpbGVOYW1lTGluayIgaHJlZj0iL2ZpbGUueGh0bWw7anNlc3Npb25pZD0wYjRkZWEwMjU4MjNlZjkzMGRlMjIxMjlmOTM2P2ZpbGVJZD0zMTMxODU4JmFtcDt2ZXJzaW9uPVJFTEVBU0VEJmFtcDt2ZXJzaW9uPS4wIj5zYWswOGZlYi5kYmY8L2E+CgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1tdXRlZCBzbWFsbCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTo0OmZpbGVUeXBlT3V0cHV0UmVndWxhciI+VW5rbm93bjwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjQ6ZmlsZVNpemUiPiAtIDMzLjIgTUI8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTo0OmZpbGVDcmVhdGVQdWJsaXNoRGF0ZSI+IC0gTWFyIDE2LCAyMDE4PC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6NDpmaWxlRG93bmxvYWRDb3VudCI+IC0gMCBEb3dubG9hZHM8L3NwYW4+PGRpdiBjbGFzcz0iY2hlY2tzdW0tYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6NDpmaWxlLWNoZWNrc3VtIj5NRDU6IDM4ZWU1YjNjMTAwMWY0ZTYxZWY1MmI4M2I1NjdlODMxPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLWFjdGlvbiB0ZXh0LXJpZ2h0ICI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj48L2Rpdj48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxkaXYgY2xhc3M9InVpLXdpZGdldC1oZWFkZXIgdWktZGF0YXRhYmxlLXNjcm9sbGFibGUtZm9vdGVyIj48ZGl2IGNsYXNzPSJ1aS1kYXRhdGFibGUtc2Nyb2xsYWJsZS1mb290ZXItYm94Ij48dGFibGUgcm9sZT0iZ3JpZCI+PC90YWJsZT48L2Rpdj48L2Rpdj48aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3NlbGVjdGlvbiIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3NlbGVjdGlvbiIgYXV0b2NvbXBsZXRlPSJvZmYiIHZhbHVlPSIiIC8+PGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9zY3JvbGxTdGF0ZSIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX3Njcm9sbFN0YXRlIiBhdXRvY29tcGxldGU9Im9mZiIgdmFsdWU9IjAsMCIgLz48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGF0YVRhYmxlIiwiZmlsZXNUYWJsZSIse2lkOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHNlbGVjdGlvbk1vZGU6ImNoZWNrYm94IixzY3JvbGxhYmxlOnRydWUsbGl2ZVNjcm9sbDp0cnVlLHNjcm9sbFN0ZXA6MjUsc2Nyb2xsTGltaXQ6NSxzY3JvbGxXaWR0aDoiMTAwJSIsc2Nyb2xsSGVpZ2h0OiI5MCUiLGxpdmVTY3JvbGxCdWZmZXI6MCxiZWhhdmlvcnM6e3Jvd1Vuc2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToicm93VW5zZWxlY3QiLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIn0sZXh0KTt9LHJvd1Vuc2VsZWN0Q2hlY2tib3g6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dVbnNlbGVjdENoZWNrYm94IixwOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSJ9LGV4dCk7fSxyb3dEYmxzZWxlY3Q6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dEYmxzZWxlY3QiLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIn0sZXh0KTt9LHJvd1NlbGVjdDpmdW5jdGlvbihleHQsZXZlbnQpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLGU6InJvd1NlbGVjdCIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUifSxleHQpO30sdG9nZ2xlU2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToidG9nZ2xlU2VsZWN0IixwOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUifSxleHQpO30scm93U2VsZWN0Q2hlY2tib3g6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dTZWxlY3RDaGVja2JveCIscDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIix1OiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUifSxleHQpO319fSk7fSk7PC9zY3JpcHQ+PC9kaXY+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzptZXRhZGF0YU1hcFRhYiIgY2xhc3M9InVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSB1aS1oZWxwZXItaGlkZGVuIiByb2xlPSJ0YWJwYW5lbCIgYXJpYS1oaWRkZW49InRydWUiPjxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayB0YWItaGVhZGVyIG1hcmdpbi1ib3R0b20gdGV4dC1yaWdodCI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBkcm9wZG93bi10b2dnbGUiIHR5cGU9ImJ1dHRvbiIgc3R5bGVDbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4cG9ydCI+PC9zcGFuPiBFeHBvcnQgTWV0YWRhdGEgPHNwYW4gY2xhc3M9ImNhcmV0Ij48L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/ZXhwb3J0ZXI9ZGN0ZXJtcyZhbXA7cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAvRFZOL0dBT0MwMyIgdGFyZ2V0PSJfYmxhbmsiPkR1YmxpbiBDb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/ZXhwb3J0ZXI9ZGRpJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vR0FPQzAzIiB0YXJnZXQ9Il9ibGFuayI+RERJPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/ZXhwb3J0ZXI9ZGF0YXZlcnNlX2pzb24mYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9HQU9DMDMiIHRhcmdldD0iX2JsYW5rIj5KU09OPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvYXBpL2RhdGFzZXRzL2V4cG9ydDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/ZXhwb3J0ZXI9c2NoZW1hLm9yZyZhbXA7cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAvRFZOL0dBT0MwMyIgdGFyZ2V0PSJfYmxhbmsiPlNjaGVtYS5vcmcgSlNPTi1MRDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icGFuZWwtZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICAgICAgIDxkaXYgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3BhbmVsQ29sbGFwc2UwIiBjbGFzcz0icGFuZWwtaGVhZGluZyB0ZXh0LWluZm8iPgogICAgICAgICAgICAgICAgICAgIENpdGF0aW9uIE1ldGFkYXRhIMKgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tY2hldnJvbi11cCI+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwYW5lbENvbGxhcHNlMCIgY2xhc3M9ImNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5IG1ldGFkYXRhLXBhbmVsLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfcHVibGljYXRpb25EYXRlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSB1bmlxdWUgcGVyc2lzdGVudCBpZGVudGlmaWVyIGZvciBhIERhdGFzZXQsIHdoaWNoIGNhbiBiZSBhIEhhbmRsZSBvciBET0kgaW4gRGF0YXZlcnNlLiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhc2V0IFBlcnNpc3RlbnQgSUQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2k6MTAuNzkxMC9EVk4vR0FPQzAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9wdWJsaWNhdGlvbkRhdGUiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIHB1YmxpY2F0aW9uIGRhdGUgb2YgYSBkYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWNhdGlvbiBEYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxOC0wMy0xNgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfdGl0bGUiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iRnVsbCB0aXRsZSBieSB3aGljaCB0aGUgRGF0YXNldCBpcyBrbm93bi4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGl0bGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGRpdiBjbGFzcz0iY29sLXNtLTkiPlRoZSBOYXRpb25hbCBMYWJvciBGb3JjZSA6IFNBS0VSTkFTLCAyMDA4PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2F1dGhvciIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgcGVyc29uKHMpLCBjb3Jwb3JhdGUgYm9keShpZXMpLCBvciBhZ2VuY3koaWVzKSByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHdvcmsuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+QmFkYW4gUHVzYXQgU3RhdGlzdGlrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfZGF0YXNldENvbnRhY3QiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIGNvbnRhY3QocykgZm9yIHRoaXMgRGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGFjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IFVzZSBlbWFpbCBidXR0b24gYWJvdmUgdG8gY29udGFjdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5CYWxkaXNzZXJvdHRvLCBKb2huIChIYXJ2YXJkIFVuaXZlcnNpdHkpIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2RzRGVzY3JpcHRpb24iIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQSBzdW1tYXJ5IGRlc2NyaWJpbmcgdGhlIHB1cnBvc2UsIG5hdHVyZSwgYW5kIHNjb3BlIG9mIHRoZSBEYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+TmF0aW9uYWwgbGFib3IgZm9yY2Ugc3VydmV5IGluIEluZG9uZXNpYS4gU3VydmVpIGFuZ2thdGFuIGtlcmphIG5hc2lvbmFsLiAyMDA4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfc3ViamVjdCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJEb21haW4tc3BlY2lmaWMgU3ViamVjdCBDYXRlZ29yaWVzIHRoYXQgYXJlIHRvcGljYWxseSByZWxldmFudCB0byB0aGUgRGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ViamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+U29jaWFsIFNjaWVuY2VzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2tleXdvcmQiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iS2V5IHRlcm1zIHRoYXQgZGVzY3JpYmUgaW1wb3J0YW50IGFzcGVjdHMgb2YgdGhlIERhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtleXdvcmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGRpdiBjbGFzcz0iY29sLXNtLTkiPkxhYm9yIFN1cHBseSwgSW5kb25lc2lhLCBTdGF0aXN0aWNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfZGVwb3NpdG9yIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSBwZXJzb24gKEZhbWlseSBOYW1lLCBHaXZlbiBOYW1lKSBvciB0aGUgbmFtZSBvZiB0aGUgb3JnYW5pemF0aW9uIHRoYXQgZGVwb3NpdGVkIHRoaXMgRGF0YXNldCB0byB0aGUgcmVwb3NpdG9yeS4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwb3NpdG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPjxkaXYgY2xhc3M9ImNvbC1zbS05Ij5CYWxkaXNzZXJvdHRvLCBKb2huPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2RhdGVPZkRlcG9zaXQiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iRGF0ZSB0aGF0IHRoZSBEYXRhc2V0IHdhcyBkZXBvc2l0ZWQgaW50byB0aGUgcmVwb3NpdG9yeS4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwb3NpdCBEYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPjxkaXYgY2xhc3M9ImNvbC1zbS05Ij4yMDE4LTAzLTA5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnRlcm1zVGFiIiBjbGFzcz0idWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVpLWhlbHBlci1oaWRkZW4iIHJvbGU9InRhYnBhbmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ncm91cCI+CiAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICA8ZGl2IGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNwYW5lbENvbGxhcHNlVE9VIiBjbGFzcz0icGFuZWwtaGVhZGluZyB0ZXh0LWluZm8iPgogICAgICAgICAgICAgICBUZXJtcyBvZiBVc2UgwqA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLXVwIj48L3NwYW4+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPGRpdiBpZD0icGFuZWxDb2xsYXBzZVRPVSIgY2xhc3M9ImNvbGxhcHNlIGluIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnRvdUZyYWdtZW50Ij4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9UZXJtcyIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIHdhaXZlciBpbmZvcm1zIGRhdGEgZG93bmxvYWRlcnMgaG93IHRoZXkgY2FuIHVzZSB0aGlzIGRhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYWl2ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj5PdXIgPGEgaHJlZj0iaHR0cDovL2Jlc3QtcHJhY3RpY2VzLmRhdGF2ZXJzZS5vcmcvaGFydmFyZC1wb2xpY2llcy9jb21tdW5pdHktbm9ybXMuaHRtbCIgdGl0bGU9IkRhdGF2ZXJzZSBDb21tdW5pdHkgTm9ybXMgLSBEYXRhdmVyc2UgQmVzdCBQcmFjdGljZXMiIHRhcmdldD0iX2JsYW5rIj5Db21tdW5pdHkgTm9ybXM8L2E+IGFzIHdlbGwgYXMgZ29vZCBzY2llbnRpZmljIHByYWN0aWNlcyBleHBlY3QgdGhhdCBwcm9wZXIgY3JlZGl0IGlzIGdpdmVuIHZpYSBjaXRhdGlvbi4gUGxlYXNlIHVzZSB0aGUgZGF0YSBjaXRhdGlvbiBhYm92ZSwgZ2VuZXJhdGVkIGJ5IHRoZSBEYXRhdmVyc2UuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk5vIHdhaXZlciBoYXMgYmVlbiBzZWxlY3RlZCBmb3IgdGhpcyBkYXRhc2V0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX1Rlcm1zVXNlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJPdXRsaW5lcyBob3cgdGhpcyBkYXRhIGNhbiBiZSB1c2VkIG9uY2UgZG93bmxvYWRlZC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlcm1zIG9mIFVzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+TGljZW5zZWQgZWxlY3Ryb25pYyByZXNvdXJjZXMgYXJlIHJlc3RyaWN0ZWQgdG8gbWVtYmVycyBvZiB0aGUgSGFydmFyZCBjb21tdW5pdHkgZm9yIHB1cnBvc2VzIG9mIHJlc2VhcmNoLCB0ZWFjaGluZywgYW5kIHByaXZhdGUgc3R1ZHkuIFVuZGVyIEhhcnZhcmQncyBsaWNlbnNlcyBmb3IgZWxlY3Ryb25pYyByZXNvdXJjZXMsIHVzZXJzIGdlbmVyYWxseSBtYXkgbm90OiBwZXJtaXQgYW55b25lIG90aGVyIHRoYW4gYXV0aG9yaXplZCB1c2VycyB0byB1c2UgdGhlIGxpY2Vuc2VkIG1hdGVyaWFsczsgbW9kaWZ5IG9yIGNyZWF0ZSBhIGRlcml2YXRpdmUgd29yayBvZiB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzIHdpdGhvdXQgdGhlIHBlcm1pc3Npb24gb2YgdGhlIGxpY2Vuc29yOyByZW1vdmUsIG9ic2N1cmUgb3IgbW9kaWZ5IGFueSBjb3B5cmlnaHQgb3Igb3RoZXIgbm90aWNlcyBpbmNsdWRlZCBpbiB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzOyB1c2UgdGhlIGxpY2Vuc2VkIG1hdGVyaWFscyBmb3IgY29tbWVyY2lhbCBwdXJwb3NlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byB0aGUgc2FsZSBvZiB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzLiBVc2VycyBhcmUgaW5kaXZpZHVhbGx5IHJlc3BvbnNpYmxlIGZvciBjb21wbGlhbmNlIHdpdGggdGhlc2UgdGVybXMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICA8ZGl2IGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNwYW5lbENvbGxhcHNlVE9BIiBjbGFzcz0icGFuZWwtaGVhZGluZyB0ZXh0LWluZm8iPlJlc3RyaWN0ZWQgRmlsZXMgKyBUZXJtcyBvZiBBY2Nlc3MKICAgICAgICAgICAgICAgwqA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLXVwIj48L3NwYW4+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPGRpdiBpZD0icGFuZWxDb2xsYXBzZVRPQSIgY2xhc3M9ImNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSI+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX1Jlc3RyaWN0ZWRGaWxlcyIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIG51bWJlciBvZiByZXN0cmljdGVkIGZpbGVzIGluIHRoaXMgZGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc3RyaWN0ZWQgRmlsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlcmUgYXJlIDUgcmVzdHJpY3RlZCBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9UZXJtc0FjY2VzcyIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iSW5mb3JtYXRpb24gb24gaG93IGFuZCBpZiB1c2VycyBjYW4gZ2FpbiBhY2Nlc3MgdG8gdGhlIHJlc3RyaWN0ZWQgZmlsZXMgaW4gdGhpcyBkYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgQWNjZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoaXMgZGF0YXNldCBpcyByZXN0cmljdGVkIHRvIG1lbWJlcnMgb2YgdGhlIEhhcnZhcmQgY29tbXVuaXR5IGZvciBwdXJwb3NlcyBvZiByZXNlYXJjaCwgdGVhY2hpbmcsIGFuZCBwcml2YXRlIHN0dWR5LiBIYXJ2YXJkIGFmZmlsaWF0ZXMgbWF5IGFjY2VzcyB0aGUgZGF0YSBieSBsb2dnaW5nIGludG8gdGhpcyBzeXN0ZW0gdmlhIHRoZSBpbnN0aXR1dGlvbmFsIGxvZ2luIGFuZCBzZWxlY3RpbmcgSGFydmFyZCBVbml2ZXJzaXR5LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX1JlcXVlc3RBY2Nlc3MiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IklmIGNoZWNrZWQsIHVzZXJzIGNhbiByZXF1ZXN0IGFjY2VzcyB0byB0aGUgcmVzdHJpY3RlZCBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1ZXN0IEFjY2VzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Vc2VycyBtYXkgbm90IHJlcXVlc3QgYWNjZXNzIHRvIGZpbGVzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICA8ZGl2IGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNwYW5lbENvbGxhcHNlR3Vlc3Rib29rIiBjbGFzcz0icGFuZWwtaGVhZGluZyB0ZXh0LWluZm8iPgogICAgICAgICAgICAgICBHdWVzdGJvb2sgwqA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLXVwIj48L3NwYW4+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPGRpdiBpZD0icGFuZWxDb2xsYXBzZUd1ZXN0Ym9vayIgY2xhc3M9ImNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSI+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9HdWVzdGJvb2siIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVXNlciBpbmZvcm1hdGlvbiAoaS5lLiwgbmFtZSwgZW1haWwsIGluc3RpdHV0aW9uLCBhbmQgcG9zaXRpb24pIHdpbGwgYmUgY29sbGVjdGVkIHdoZW4gZmlsZXMgYXJlIGRvd25sb2FkZWQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1ZXN0Ym9vawogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Tm8gZ3Vlc3Rib29rIGlzIGFzc2lnbmVkIHRvIHRoaXMgZGF0YXNldCwgeW91IHdpbGwgbm90IGJlIHByb21wdGVkIHRvIHByb3ZpZGUgYW55IGluZm9ybWF0aW9uIG9uIGZpbGUgZG93bmxvYWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwvZGl2PjwvZGl2PiAKICAgIDwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9vayIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9va190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UHJldmlldyBHdWVzdGJvb2s8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgIFVwb24gZG93bmxvYWRpbmcgZmlsZXMgdGhlIGd1ZXN0Ym9vayBhc2tzIGZvciB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICBHdWVzdGJvb2sgTmFtZQogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS04Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZm9ybS1jb250cm9sLXN0YXRpYyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlVzZXIgZGF0YSBjb2xsZWN0ZWQgYnkgdGhlIGd1ZXN0Ym9vay4iPgogICAgICAgICAgICAgICAgICAgICAgIENvbGxlY3RlZCBEYXRhCiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS04Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZm9ybS1jb250cm9sLXN0YXRpYyI+QWNjb3VudCBJbmZvcm1hdGlvbgogICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSJQRigndmlld0d1ZXN0Ym9vaycpLmhpZGUoKSIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdmFsdWU9IkNsb3NlIj4KICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9va19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJ2aWV3R3Vlc3Rib29rIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9vayIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KCiAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgIC8qIFZlcnNpb24gdGFiOiBSZXRyaWV2ZSBkYXRhIGFmdGVyIHBhZ2UgbG9hZCAqLwogICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcHJlbG9hZF9tZXNzYWdlID0gIihMb2FkaW5nIHZlcnNpb25zLi4uKSI7CiAgICAgICAgICAgICQoJyNkYXRhc2V0Rm9ybVxcOnRhYlZpZXdcXDp2ZXJzaW9uc1RhYmxlX2RhdGEgdHIudWktZGF0YXRhYmxlLWVtcHR5LW1lc3NhZ2UgdGQnKS50ZXh0KHByZWxvYWRfbWVzc2FnZSk7CiAgICAgICAgICAgIHBvc3RMb2FkVmVyc2lvblRhYkxpc3QoKTsKICAgICAgIH0pOwogICA8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+cG9zdExvYWRWZXJzaW9uVGFiTGlzdCA9IGZ1bmN0aW9uKCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6al9pZHQxMTk2IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDExOTYiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIscGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PgogICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCBtYXJnaW4tYm90dG9tIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9ucyIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6Y29tcGFyZVZlcnNpb25zJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdkZXRhaWxzQmxvY2tzJykuc2hvdygpO3Bvc3RfZGlmZmVyZW5jZXMoKTs7fX0pO3JldHVybiBmYWxzZTsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkRpcmVjdDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9uc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fdGFiVmlld19jb21wYXJlVmVyc2lvbnMiLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnMifSk7PC9zY3JpcHQ+CiAgICA8L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGUiIGNsYXNzPSJ1aS1kYXRhdGFibGUgdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1kYXRhdGFibGUtdGFibGV3cmFwcGVyIj48dGFibGUgcm9sZT0iZ3JpZCI+PHRoZWFkIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGVfaGVhZCI+PHRyIHJvbGU9InJvdyI+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxMjAyIiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtc20tMSB0ZXh0LWNlbnRlciIgcm9sZT0iY29sdW1uaGVhZGVyIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5EYXRhc2V0PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxMjE0IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCIgcm9sZT0iY29sdW1uaGVhZGVyIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5TdW1tYXJ5PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxMjU2IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtc20tMyIgcm9sZT0iY29sdW1uaGVhZGVyIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5Db250cmlidXRvcnM8L3NwYW4+PC90aD48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZTpqX2lkdDEyNTkiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1zbS0yIiByb2xlPSJjb2x1bW5oZWFkZXIiPjxzcGFuIGNsYXNzPSJ1aS1jb2x1bW4tdGl0bGUiPlB1Ymxpc2hlZDwvc3Bhbj48L3RoPjwvdHI+PC90aGVhZD48dGJvZHkgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZV9kYXRhIiBjbGFzcz0idWktZGF0YXRhYmxlLWRhdGEgdWktd2lkZ2V0LWNvbnRlbnQiPjx0ciBjbGFzcz0idWktd2lkZ2V0LWNvbnRlbnQgdWktZGF0YXRhYmxlLWVtcHR5LW1lc3NhZ2UiPjx0ZCBjb2xzcGFuPSI0Ij5ObyByZWNvcmRzIGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYmxlX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRhdGFUYWJsZSIsInZlcnNpb25zVGFibGUiLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYmxlIn0pO30pOzwvc2NyaXB0PjwvZGl2PjwvZGl2PjxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3X2FjdGl2ZUluZGV4IiBuYW1lPSJkYXRhc2V0Rm9ybTp0YWJWaWV3X2FjdGl2ZUluZGV4IiB2YWx1ZT0iMCIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlld19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIlRhYlZpZXciLCJjb250ZW50Iix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXciLGVmZmVjdER1cmF0aW9uOiJub3JtYWwiLHNjcm9sbGFibGU6ZmFsc2UsYmVoYXZpb3JzOnt0YWJDaGFuZ2U6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldyIsZToidGFiQ2hhbmdlIixwOiJkYXRhc2V0Rm9ybTp0YWJWaWV3Iix1OiJkYXRhc2V0Rm9ybTp0YWJWaWV3IixvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyl7YmluZF9ic3VpX2NvbXBvbmVudHMoKTs7fX0sZXh0KTt9fX0pOzwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI2NCIgY2xhc3M9InVpLWJsb2NrdWktY29udGVudCB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1oZWxwZXItaGlkZGVuIHVpLXNoYWRvdyI+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMjY0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkJsb2NrVUkiLCJibG9ja0RhdGFzZXRGb3JtIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTI2NCIsYmxvY2s6ImRhdGFzZXRGb3JtIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI2NSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI2NV90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVzdHJpY3RlZCBGaWxlcyBTZWxlY3RlZDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBUaGUgcmVzdHJpY3RlZCBmaWxlKHMpIHNlbGVjdGVkIG1heSBub3QgYmUgZG93bmxvYWRlZCBiZWNhdXNlIHlvdSBoYXZlIG5vdCBiZWVuIGdyYW50ZWQgYWNjZXNzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEyNzAiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTI3MCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdkb3dubG9hZEludmFsaWQnKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI3MF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxMjcwIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTI3MCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMjY1X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkSW52YWxpZCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEyNjUiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEyNzIiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEyNzJfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlJlc3RyaWN0ZWQgRmlsZXMgU2VsZWN0ZWQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gVGhlIHJlc3RyaWN0ZWQgZmlsZShzKSBzZWxlY3RlZCBtYXkgbm90IGJlIGRvd25sb2FkZWQgYmVjYXVzZSB5b3UgaGF2ZSBub3QgYmVlbiBncmFudGVkIGFjY2Vzcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gQ2xpY2sgQ29udGludWUgdG8gZG93bmxvYWQgdGhlIGZpbGVzIHlvdSBoYXZlIGFjY2VzcyB0byBkb3dubG9hZC48L3A+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMjgwIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEyODAiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignZG93bmxvYWRNaXhlZCcpLmhpZGUoKTtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTI4MCZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMjgwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDEyODAiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxMjgwIn0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI4MSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxMjgxIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2Rvd25sb2FkTWl4ZWQnKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI4MV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxMjgxIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTI4MSJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMjcyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkTWl4ZWQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxMjcyIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxMjgzIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMjgzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWxldGUgRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZGF0YXNldD8gWW91IGNhbm5vdCB1bmRlbGV0ZSB0aGlzIGRhdGFzZXQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI4NSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxMjg1IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2RlbGV0ZUNvbmZpcm1hdGlvbicpLmhpZGUoKTtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTI4NSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI4NV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxMjg1Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTI4NSJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEyODYiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTI4NiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdkZWxldGVDb25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI4Nl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxMjg2Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTI4NiJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMjgzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlbGV0ZUNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEyODMiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEyODgiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEyODhfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRlbGV0ZSBEcmFmdCBWZXJzaW9uPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBkcmFmdCB2ZXJzaW9uPyBZb3UgY2Fubm90IHVuZGVsZXRlIHRoaXMgZHJhZnQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTI5MCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxMjkwIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2RlbGV0ZVZlcnNpb25Db25maXJtYXRpb24nKS5oaWRlKCk7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDEyOTAmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5Db250aW51ZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEyOTBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTI5MCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEyOTAifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMjkxIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEyOTEiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbicpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMjkxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDEyOTEiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxMjkxIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEyODhfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEyODgiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpwcml2YXRlVXJsSWQiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpwcml2YXRlVXJsSWRfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlVucHVibGlzaGVkIERhdGFzZXQgUHJpdmF0ZSBVUkw8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxQYW5lbENhbm5vdENyZWF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUHJpdmF0ZSBVUkwgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHVucHVibGlzaGVkIHZlcnNpb25zIG9mIGRhdGFzZXRzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzEwIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMTAiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ3ByaXZhdGVVcmxDb25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTMxMF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxMzEwIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTMxMCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJwcml2YXRlVXJsQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTMxMiIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTMxMl90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+VW5wdWJsaXNoZWQgRGF0YXNldCBQcml2YXRlIFVSTDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGlzYWJsZSB0aGUgUHJpdmF0ZSBVUkw/IElmIHlvdSBoYXZlIHNoYXJlZCB0aGUgUHJpdmF0ZSBVUkwgd2l0aCBvdGhlcnMgdGhleSB3aWxsIG5vIGxvbmdlciBiZSBhYmxlIHRvIHVzZSBpdCB0byBhY2Nlc3MgeW91ciB1bnB1Ymxpc2hlZCBkYXRhc2V0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMTQiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTMxNCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb24nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxMzE0JnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm06cHJpdmF0ZVVybFBhbmVsIG1lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPlllcywgRGlzYWJsZSBQcml2YXRlIFVSTDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMTRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTMxNCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzMTQifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzE1IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMTUiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2Rpc2FibGVQcml2YXRlVXJsQ29uZmlybWF0aW9uJykuaGlkZSgpO1BGKCdwcml2YXRlVXJsQ29uZmlybWF0aW9uJykuc2hvdygpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMTVfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTMxNSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzMTUifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTMxMl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkaXNhYmxlUHJpdmF0ZVVybENvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzMTIiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMTciIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMTdfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRlbGV0ZSBGaWxlczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBUaGUgZmlsZShzKSB3aWxsIGJlIGRlbGV0ZWQgYWZ0ZXIgeW91IGNsaWNrIG9uIHRoZSBEZWxldGUgYnV0dG9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBGaWxlcyB3aWxsIG5vdCBiZSByZW1vdmVkIGZyb20gcHJldmlvdXNseSBwdWJsaXNoZWQgdmVyc2lvbnMgb2YgdGhlIGRhdGFzZXQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTMyMiIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxMzIyIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2RlbGV0ZVNlbGVjdGVkRmlsZUNvbmZpcm1hdGlvbicpLmhpZGUoKTtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTMyMiZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkRlbGV0ZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMjJfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTMyMiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzMjIifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzIzIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMjMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignZGVsZXRlU2VsZWN0ZWRGaWxlQ29uZmlybWF0aW9uJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMzIzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDEzMjMiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxMzIzIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMTdfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVsZXRlU2VsZWN0ZWRGaWxlQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTMxNyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTMyNSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTMyNV90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RGF0YXNldCBDb21wdXRlIE5vdCBTdXBwb3J0ZWQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gWW91IGNhbm5vdCBjb21wdXRlIG9uIHRoaXMgZGF0YXNldCBiZWNhdXNlIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZW5hYmxlZCB5ZXQuIFBsZWFzZSBjbGljayBvbiBhIGZpbGUgdG8gYWNjZXNzIGNvbXB1dGluZyBmZWF0dXJlcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzI3IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMjciIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignZGF0YXNldENvbXB1dGVBY2Nlc3NEZW5pZWRQb3B1cCcpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxMzI3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDEzMjciLHtpZDoiZGF0YXNldEZvcm06al9pZHQxMzI3In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzMjVfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGF0YXNldENvbXB1dGVBY2Nlc3NEZW5pZWRQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzMjUiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkJsb2NrIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQmxvY2tfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRlYWNjZXNzaW9uIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gT25jZSB5b3UgZGVhY2Nlc3Npb24gdGhpcyBkYXRhc2V0IGl0IHdpbGwgbm8gbG9uZ2VyIGJlIHZpZXdhYmxlIGJ5IHRoZSBwdWJsaWMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9InJlYXNvbk9wdGlvbnMiPldoYXQgaXMgdGhlIHJlYXNvbiBmb3IgZGVhY2Nlc3Npb24/IDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWFzdGVyaXNrIHRleHQtZGFuZ2VyIiB0aXRsZT0iUmVxdWlyZWQgZmllbGQiPjwvc3Bhbj48L2xhYmVsPjxzZWxlY3QgaWQ9ImRhdGFzZXRGb3JtOnJlYXNvbk9wdGlvbnMiIG5hbWU9ImRhdGFzZXRGb3JtOnJlYXNvbk9wdGlvbnMiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHNpemU9IjEiPgk8b3B0aW9uIHZhbHVlPSIwIiBzZWxlY3RlZD0ic2VsZWN0ZWQiPlNlbGVjdC4uLjwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMSI+VGhlcmUgaXMgaWRlbnRpZmlhYmxlIGRhdGEgaW4gb25lIG9yIG1vcmUgZmlsZXM8L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IjIiPlRoZSByZXNlYXJjaCBhcnRpY2xlIGhhcyBiZWVuIHJldHJhY3RlZDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMyI+VGhlIGRhdGFzZXQgaGFzIGJlZW4gdHJhbnNmZXJyZWQgdG8gYW5vdGhlciByZXBvc2l0b3J5PC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSI0Ij5JUkIgcmVxdWVzdDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iNSI+TGVnYWwgaXNzdWUgb3IgRGF0YSBVc2FnZSBBZ3JlZW1lbnQ8L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IjYiPk5vdCBhIHZhbGlkIGRhdGFzZXQ8L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IjciPk90aGVyIChQbGVhc2UgdHlwZSByZWFzb24gaW4gc3BhY2UgcHJvdmlkZWQgYmVsb3cpPC9vcHRpb24+Cjwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJyZWFzb25Gb3JEZWFjY2Vzc2lvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGxlYXNlIGVudGVyIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlYXNvbiBmb3IgZGVhY2Nlc3Npb24uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPjx0ZXh0YXJlYSBpZD0iZGF0YXNldEZvcm06cmVhc29uRm9yRGVhY2Nlc3Npb24iIG5hbWU9ImRhdGFzZXRGb3JtOnJlYXNvbkZvckRlYWNjZXNzaW9uIiBjb2xzPSI0MCIgcm93cz0iMiIgbWF4bGVuZ3RoPSIyMTQ3NDgzNjQ3IiBvbmtleXVwPSJ1cGRhdGVIaWRkZW5SZWFzb24odGhpcyk7IiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHRhcmVhIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIj48L3RleHRhcmVhPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlYXNvbkZvckRlYWNjZXNzaW9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIklucHV0VGV4dGFyZWEiLCJyZWFzb25Gb3JEZWFjY2Vzc2lvbiIse2lkOiJkYXRhc2V0Rm9ybTpyZWFzb25Gb3JEZWFjY2Vzc2lvbiIsYXV0b1Jlc2l6ZTpmYWxzZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTM0NSIgYXJpYS1saXZlPSJwb2xpdGUiIGNsYXNzPSJ1aS1tZXNzYWdlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iZm9yd2FyZFVSTEZvckRlYWNjZXNzaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBhcHBsaWNhYmxlLCBwbGVhc2UgbGVhdmUgYSBVUkwgd2hlcmUgdGhpcyBkYXRhc2V0IGNhbiBiZSBhY2Nlc3NlZCBhZnRlciBkZWFjY2Vzc2lvbmluZy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpmb3J3YXJkVVJMRm9yRGVhY2Nlc3Npb24iIG5hbWU9ImRhdGFzZXRGb3JtOmZvcndhcmRVUkxGb3JEZWFjY2Vzc2lvbiIgdHlwZT0idGV4dCIgdmFsdWU9IiIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0IHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIiAvPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmZvcndhcmRVUkxGb3JEZWFjY2Vzc2lvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIklucHV0VGV4dCIsImZvcndhcmRVUkxGb3JEZWFjY2Vzc2lvbiIse2lkOiJkYXRhc2V0Rm9ybTpmb3J3YXJkVVJMRm9yRGVhY2Nlc3Npb24ifSk7PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06d2F0ZXJtYXJrX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIldhdGVybWFyayIsIndpZGdldF9kYXRhc2V0Rm9ybV93YXRlcm1hcmsiLHtpZDoiZGF0YXNldEZvcm06d2F0ZXJtYXJrIix2YWx1ZToiT3B0aW9uYWwgZGF0YXNldCBzaXRlLCBodHRwOlwvXC8uLi4iLHRhcmdldDoiZGF0YXNldEZvcm06Zm9yd2FyZFVSTEZvckRlYWNjZXNzaW9uIn0sIndhdGVybWFyayIpO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBpZD0iZGF0YXNldEZvcm06al9pZHQxMzUwIiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2RlYWNjZXNzaW9uQmxvY2snKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxMzUwJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0iYnV0dG9uIj5DYW5jZWw8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQmxvY2tfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVhY2Nlc3Npb25CbG9jayIse2lkOiJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkJsb2NrIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25Db25maXJtYXRpb24iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25Db25maXJtYXRpb25fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRlYWNjZXNzaW9uIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlYWNjZXNzaW9uPyBUaGUgc2VsZWN0ZWQgdmVyc2lvbihzKSB3aWxsIG5vIGxvbmdlciBiZSB2aWV3YWJsZSBieSB0aGUgcHVibGljLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNTMiIHZhbHVlPSJZZXMiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbicpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2RlYWNjZXNzaW9uQmxvY2snKS5oaWRlKCkiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdmFsdWU9Ik5vIiBvbmNsaWNrPSJQRignZGVhY2Nlc3Npb25Db25maXJtYXRpb24nKS5oaWRlKCkiPk5vPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRlYWNjZXNzaW9uQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQ29uZmlybWF0aW9uIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb25fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRlYWNjZXNzaW9uIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlYWNjZXNzaW9uIHRoaXMgZGF0YXNldD8gSXQgd2lsbCBubyBsb25nZXIgYmUgdmlld2FibGUgYnkgdGhlIHB1YmxpYy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxMzU2IiB2YWx1ZT0iWWVzIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24nKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkZWFjY2Vzc2lvbkJsb2NrJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdmFsdWU9Ik5vIiBvbmNsaWNrPSJQRignZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24nKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyI+Tm88L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25BbGxDb25maXJtYXRpb24iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3REZWFjY2Vzc2lvblZlcnNpb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsInNlbGVjdERlYWNjZXNzaW9uVmVyc2lvbiIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3REZWFjY2Vzc2lvblZlcnNpb24ifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25WZXJzaW9uIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UGxlYXNlIFNlbGVjdCBWZXJzaW9uKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWFsZXJ0IHVpLWNvbmZpcm0tZGlhbG9nLXNldmVyaXR5Ij48L3NwYW4+PHNwYW4gY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2UiPlBsZWFzZSBzZWxlY3QgdmVyc2lvbihzKSBmb3IgZGVhY2Nlc3Npb25pbmcuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1idXR0b25wYW5lIHVpLWRpYWxvZy1mb290ZXIgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4Ij48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3REZWFjY2Vzc2lvblJlYXNvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb25maXJtRGlhbG9nIiwic2VsZWN0RGVhY2Nlc3Npb25SZWFzb24iLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25SZWFzb24ifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25SZWFzb24iIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZyB1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5QbGVhc2UgU2VsZWN0IFJlYXNvbjwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1hbGVydCB1aS1jb25maXJtLWRpYWxvZy1zZXZlcml0eSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZy1tZXNzYWdlIj5QbGVhc2Ugc2VsZWN0IHJlYXNvbiBmb3IgZGVhY2Nlc3Npb25pbmcuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1idXR0b25wYW5lIHVpLWRpYWxvZy1mb290ZXIgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4Ij48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTplbnRlckZvcndhcmRVcmxfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsImVudGVyRm9yd2FyZFVybCIse2lkOiJkYXRhc2V0Rm9ybTplbnRlckZvcndhcmRVcmwifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZW50ZXJGb3J3YXJkVXJsIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+SW52YWxpZCBVUkw8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tYWxlcnQgdWktY29uZmlybS1kaWFsb2ctc2V2ZXJpdHkiPjwvc3Bhbj48c3BhbiBjbGFzcz0idWktY29uZmlybS1kaWFsb2ctbWVzc2FnZSI+UGxlYXNlIGVudGVyIHZhbGlkIGZvcndhcmRpbmcgVVJMLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctYnV0dG9ucGFuZSB1aS1kaWFsb2ctZm9vdGVyIHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCI+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZW50ZXJPdGhlclJlYXNvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb25maXJtRGlhbG9nIiwiZW50ZXJPdGhlclJlYXNvbiIse2lkOiJkYXRhc2V0Rm9ybTplbnRlck90aGVyUmVhc29uIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmVudGVyT3RoZXJSZWFzb24iIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZyB1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5FbnRlciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWFsZXJ0IHVpLWNvbmZpcm0tZGlhbG9nLXNldmVyaXR5Ij48L3NwYW4+PHNwYW4gY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2UiPlBsZWFzZSBlbnRlciB0ZXh0IGZvciByZWFzb24gZm9yIGRlYWNjZXNzaW9uaW5nLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctYnV0dG9ucGFuZSB1aS1kaWFsb2ctZm9vdGVyIHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCI+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06cmVhc29uVG9vTWFueUNoYXJhY3RlcnNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsInJlYXNvblRvb01hbnlDaGFyYWN0ZXJzIix7aWQ6ImRhdGFzZXRGb3JtOnJlYXNvblRvb01hbnlDaGFyYWN0ZXJzIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnJlYXNvblRvb01hbnlDaGFyYWN0ZXJzIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+TGltaXQgMTAwMCBjaGFyYWN0ZXJzPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWFsZXJ0IHVpLWNvbmZpcm0tZGlhbG9nLXNldmVyaXR5Ij48L3NwYW4+PHNwYW4gY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2UiPlRleHQgZm9yIHJlYXNvbiBmb3IgZGVhY2Nlc3Npb25pbmcgbWF5IGJlIG5vIGxvbmdlciB0aGFuIDEwMDAgY2hhcmFjdGVycy48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktZGlhbG9nLWZvb3RlciB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXgiPjwvZGl2PjwvZGl2PjxpbnB1dCBpZD0iZGF0YXNldEZvcm06aGlkZGVuUmVhc29uSW5wdXQiIG5hbWU9ImRhdGFzZXRGb3JtOmhpZGRlblJlYXNvbklucHV0IiB0eXBlPSJ0ZXh0IiBzdHlsZT0iZGlzcGxheTpub25lIiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHQgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIgLz48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpoaWRkZW5SZWFzb25JbnB1dF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIklucHV0VGV4dCIsImhpZGRlblJlYXNvbklucHV0Iix7aWQ6ImRhdGFzZXRGb3JtOmhpZGRlblJlYXNvbklucHV0In0pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmNvbXBhcmVUd28iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06Y29tcGFyZVR3b190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+VmVyc2lvbiBEaWZmZXJlbmNlcyBEZXRhaWxzPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiB0ZXh0LWRhbmdlciI+PC9zcGFuPiA8c3BhbiBjbGFzcz0idGV4dC1kYW5nZXIiPlBsZWFzZSBzZWxlY3QgdHdvIHZlcnNpb25zIHRvIHZpZXcgdGhlIGRpZmZlcmVuY2VzLjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxMzU5IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNTkiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignY29tcGFyZVR3bycpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDEzNTlfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTM1OSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDEzNTkifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmNvbXBhcmVUd29fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29tcGFyZVR3byIse2lkOiJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZGV0YWlsc0Jsb2NrcyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRldGFpbHNCbG9ja3NfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlZlcnNpb24gRGlmZmVyZW5jZXMgRGV0YWlsczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InZlcnNpb24tdGl0bGUiIGNsYXNzPSJtYXJnaW4tYm90dG9tLWhhbGYiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ2ZXJzaW9uLWRldGFpbHMtYmxvY2siIGNsYXNzPSIgY2xlYXJmaXggbWFyZ2luLWJvdHRvbS1oYWxmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgwqAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uOiA8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXN0IFVwZGF0ZWQ6IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLWxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb246IDxiciAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExhc3QgVXBkYXRlZDogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayBtYXJnaW4tYm90dG9tIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MzYiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQzNiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdkZXRhaWxzQmxvY2tzJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkRvbmU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDM2X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0MzYiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDM2In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkZXRhaWxzQmxvY2tzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRldGFpbHNCbG9ja3MiLHtpZDoiZGF0YXNldEZvcm06ZGV0YWlsc0Jsb2NrcyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWQiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRvd25sb2FkX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvciBmaWxlcyB0byBiZSBkb3dubG9hZGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MzkiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQzOSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdzZWxlY3RGaWxlc0ZvckRvd25sb2FkJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTQzOSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQzOV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNDM5Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQzOSJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEb3dubG9hZF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvckRvd25sb2FkIix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWQiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3NfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFBsZWFzZSBzZWxlY3QgYSBmaWxlIG9yIGZpbGVzIGZvciBhY2Nlc3MgcmVxdWVzdC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDQyIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NDIiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignc2VsZWN0RmlsZXNGb3JSZXF1ZXN0QWNjZXNzJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE0NDImcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NDJfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTQ0MiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE0NDIifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2Vzc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3MiLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JSZXF1ZXN0QWNjZXNzIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEZWxldGUiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRlbGV0ZV90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U2VsZWN0IEZpbGUocyk8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCBhIGZpbGUgb3IgZmlsZXMgdG8gYmUgZGVsZXRlZC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDQ1IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NDUiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignc2VsZWN0RmlsZXNGb3JEZWxldGUnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNDQ1JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDQ1X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0NDUiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDQ1In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRlbGV0ZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvckRlbGV0ZSIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRlbGV0ZSIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVzdHJpY3QiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlc3RyaWN0X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBQbGVhc2Ugc2VsZWN0IHVucmVzdHJpY3RlZCBmaWxlKHMpIHRvIGJlIHJlc3RyaWN0ZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ0OCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDQ4IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3NlbGVjdEZpbGVzRm9yUmVzdHJpY3QnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNDQ4JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDQ4X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0NDgiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDQ4In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlc3RyaWN0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbGVjdEZpbGVzRm9yUmVzdHJpY3QiLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JSZXN0cmljdCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yVW5SZXN0cmljdCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yVW5SZXN0cmljdF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U2VsZWN0IEZpbGUocyk8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCByZXN0cmljdGVkIGZpbGUocykgdG8gYmUgdW5yZXN0cmljdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NTEiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQ1MSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdzZWxlY3RGaWxlc0ZvclVuUmVzdHJpY3QnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNDUxJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDUxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0NTEiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDUxIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclVuUmVzdHJpY3RfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VsZWN0RmlsZXNGb3JVblJlc3RyaWN0Iix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yVW5SZXN0cmljdCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRWRpdE1ldGFkYXRhIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JFZGl0TWV0YWRhdGFfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFBsZWFzZSBzZWxlY3QgYSBmaWxlIG9yIGZpbGVzIHRvIGJlIGVkaXRlZC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDU0IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NTQiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignc2VsZWN0RmlsZXNGb3JFZGl0TWV0YWRhdGEnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNDU0JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDU0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0NTQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDU0In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRNZXRhZGF0YV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvckVkaXRNZXRhZGF0YSIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRNZXRhZGF0YSIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRWRpdFRhZ3MiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRUYWdzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvciBmaWxlcyB0byBiZSBlZGl0ZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ1NyIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDU3IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3NlbGVjdEZpbGVzRm9yRWRpdFRhZ3MnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNDU3JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDU3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0NTciLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDU3In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRUYWdzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbGVjdEZpbGVzRm9yRWRpdFRhZ3MiLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JFZGl0VGFncyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZWZyZXNoVGFnc0NvbW1hbmQgPSBmdW5jdGlvbigpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDE0NTkiLGY6ImRhdGFzZXRGb3JtIix1OiJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwIixvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyl7UEYoJ2ZpbGVUYWdzUG9wdXAnKS5zaG93KCk7O30scGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5FZGl0IFRhZ3M8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IFNlbGVjdCBleGlzdGluZyBmaWxlIHRhZ3Mgb3IgY3JlYXRlIG5ldyB0YWdzIHRvIGRlc2NyaWJlIHlvdXIgZmlsZXMuIEVhY2ggZmlsZSBjYW4gaGF2ZSBtb3JlIHRoYW4gb25lIHRhZy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24mcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUgZGF0YXNldEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdmaWxlVGFnc1BvcHVwJykuaGlkZSgpO319KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5TYXZlIENoYW5nZXM8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2ZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uIix7aWQ6ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uIn0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBDYW5jZWxCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBDYW5jZWxCdXR0b24iIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2ZpbGVUYWdzUG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwQ2FuY2VsQnV0dG9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9maWxlVGFnc1BvcHVwQ2FuY2VsQnV0dG9uIix7aWQ6ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBDYW5jZWxCdXR0b24ifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZmlsZVRhZ3NQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cnN5bmNVcGxvYWRJbmZvUG9wdXAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpyc3luY1VwbG9hZEluZm9Qb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+VXBsb2FkIEZpbGVzPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24gdGV4dC1kYW5nZXIiPjwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1kYW5nZXIiPiBZb3UgY2FuIG5vdCB1cGxvYWQgYWRkaXRpb25hbCBmaWxlcyB0byB0aGlzIGRhdGFzZXQuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUxMSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNTExIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3JzeW5jVXBsb2FkX3BvcHVwJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTUxMSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtIG1lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUxMV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNTExIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTUxMSJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06cnN5bmNVcGxvYWRJbmZvUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwicnN5bmNVcGxvYWRfcG9wdXAiLHtpZDoiZGF0YXNldEZvcm06cnN5bmNVcGxvYWRJbmZvUG9wdXAiLG1vZGFsOnRydWUsYmVoYXZpb3JzOntjbG9zZTpmdW5jdGlvbihleHQsZXZlbnQpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpyc3luY1VwbG9hZEluZm9Qb3B1cCIsZToiY2xvc2UiLHA6ImRhdGFzZXRGb3JtOnJzeW5jVXBsb2FkSW5mb1BvcHVwIix1OiJkYXRhc2V0Rm9ybSBtZXNzYWdlUGFuZWwifSxleHQpO319fSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNTEzIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUxM190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVxdWVzdCBBY2Nlc3M8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24gdGV4dC1kYW5nZXIiPjwvc3Bhbj7CoAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtZGFuZ2VyIj5Zb3UgbmVlZCB0byA8YSBocmVmPSIvZGF0YXZlcnNldXNlci54aHRtbD9yZWRpcmVjdFBhZ2U9JTJGZGF0YXNldC54aHRtbCUzRnBlcnNpc3RlbnRJZCUzRGRvaSUzQTEwLjc5MTAlMkZEVk4lMkZHQU9DMDMmYW1wO2VkaXRNb2RlPUNSRUFURSIgdGFyZ2V0PSJfc2VsZiIgdGl0bGU9IlNpZ24gVXAgZm9yIGEgRGF0YXZlcnNlIEFjY291bnQiPlNpZ24gVXA8L2E+IG9yIDxhIGhyZWY9Ii9sb2dpbnBhZ2UueGh0bWw/cmVkaXJlY3RQYWdlPSUyRmRhdGFzZXQueGh0bWwlM0ZwZXJzaXN0ZW50SWQlM0Rkb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzIiB0YXJnZXQ9Il9zZWxmIiB0aXRsZT0iTG9nIGludG8geW91ciBEYXRhdmVyc2UgQWNjb3VudCI+TG9nIEluPC9hPiB0byByZXF1ZXN0IGFjY2VzcyB0byB0aGlzIGZpbGUuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNTE5IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE1MTkiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignYWNjZXNzU2lnblVwTG9nSW5fcG9wdXAnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOztQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTUxOSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUxOV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNTE5Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTUxOSJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNTEzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImFjY2Vzc1NpZ25VcExvZ0luX3BvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTUxMyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmNvbmZpZ3VyZVRvb2xQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmNvbmZpZ3VyZVRvb2xQb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KCiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPjxzcGFuIGNsYXNzPSJ0ZXh0LWxlZnQiPiA8L3NwYW4+CiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGEgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUyNCIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdjb25maWd1cmVUb29sUG9wdXAnKS5oaWRlKCk7d2luZG93Lm9wZW4oJycsICdfYmxhbmsnKTtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTUyNCZxdW90Oyx1OiZxdW90O21lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9ImJ1dHRvbiI+Q29udGludWU8L2E+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignY29uZmlndXJlVG9vbFBvcHVwJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdmFsdWU9IkNhbmNlbCI+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06Y29uZmlndXJlVG9vbFBvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNvbmZpZ3VyZVRvb2xQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpjb25maWd1cmVUb29sUG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIGxhcmdlUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWRQb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RGF0YXNldCBUZXJtczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIGNvbmZpcm0gYW5kL29yIGNvbXBsZXRlIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgYmVsb3cgaW4gb3JkZXIgdG8gY29udGludWUuCiAgICAgICAgPC9wPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmd1ZXN0Ym9va01lc3NhZ2VzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIG1lc3NhZ2VQYW5lbCI+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiIGZvcj0iZ3Vlc3Rib29rX3RvdSI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgb2YgVXNlCiAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5IHJlYWQtdGVybXMiPkxpY2Vuc2VkIGVsZWN0cm9uaWMgcmVzb3VyY2VzIGFyZSByZXN0cmljdGVkIHRvIG1lbWJlcnMgb2YgdGhlIEhhcnZhcmQgY29tbXVuaXR5IGZvciBwdXJwb3NlcyBvZiByZXNlYXJjaCwgdGVhY2hpbmcsIGFuZCBwcml2YXRlIHN0dWR5LiBVbmRlciBIYXJ2YXJkJ3MgbGljZW5zZXMgZm9yIGVsZWN0cm9uaWMgcmVzb3VyY2VzLCB1c2VycyBnZW5lcmFsbHkgbWF5IG5vdDogcGVybWl0IGFueW9uZSBvdGhlciB0aGFuIGF1dGhvcml6ZWQgdXNlcnMgdG8gdXNlIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHM7IG1vZGlmeSBvciBjcmVhdGUgYSBkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIGxpY2Vuc2VkIG1hdGVyaWFscyB3aXRob3V0IHRoZSBwZXJtaXNzaW9uIG9mIHRoZSBsaWNlbnNvcjsgcmVtb3ZlLCBvYnNjdXJlIG9yIG1vZGlmeSBhbnkgY29weXJpZ2h0IG9yIG90aGVyIG5vdGljZXMgaW5jbHVkZWQgaW4gdGhlIGxpY2Vuc2VkIG1hdGVyaWFsczsgdXNlIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHMgZm9yIGNvbW1lcmNpYWwgcHVycG9zZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gdGhlIHNhbGUgb2YgdGhlIGxpY2Vuc2VkIG1hdGVyaWFscy4gVXNlcnMgYXJlIGluZGl2aWR1YWxseSByZXNwb25zaWJsZSBmb3IgY29tcGxpYW5jZSB3aXRoIHRoZXNlIHRlcm1zLgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIiBmb3I9Imd1ZXN0Ym9va190b2EiPgogICAgICAgICAgICAgICAgICAgIFRlcm1zIG9mIEFjY2VzcwogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSByZWFkLXRlcm1zIj5UaGlzIGRhdGFzZXQgaXMgcmVzdHJpY3RlZCB0byBtZW1iZXJzIG9mIHRoZSBIYXJ2YXJkIGNvbW11bml0eSBmb3IgcHVycG9zZXMgb2YgcmVzZWFyY2gsIHRlYWNoaW5nLCBhbmQgcHJpdmF0ZSBzdHVkeS4gSGFydmFyZCBhZmZpbGlhdGVzIG1heSBhY2Nlc3MgdGhlIGRhdGEgYnkgbG9nZ2luZyBpbnRvIHRoaXMgc3lzdGVtIHZpYSB0aGUgaW5zdGl0dXRpb25hbCBsb2dpbiBhbmQgc2VsZWN0aW5nIEhhcnZhcmQgVW5pdmVyc2l0eS4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxhIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2MDIiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTYwMiZxdW90OyxwOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTYwMiZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtOmd1ZXN0Ym9va1VJRnJhZ21lbnQmcXVvdDsscGE6W3tuYW1lOiZxdW90O0RPX0dCX1ZBTElEQVRJT04mcXVvdDssdmFsdWU6JnF1b3Q7dHJ1ZSZxdW90O31dfSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0iYnV0dG9uIj5BY2NlcHQ8L2E+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZG93bmxvYWRQb3B1cCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHZhbHVlPSJDYW5jZWwiPkNhbmNlbDwvYnV0dG9uPgogICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZG93bmxvYWRQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpkb3dubG9hZFBvcHVwIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIGxhcmdlUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc1BvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXF1ZXN0IEFjY2Vzczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIGNvbmZpcm0gYW5kL29yIGNvbXBsZXRlIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgYmVsb3cgaW4gb3JkZXIgdG8gcmVxdWVzdCBhY2Nlc3MgdG8gZmlsZXMgaW4gdGhpcyBkYXRhc2V0LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhvcml6b250YWwiPjxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIiBmb3I9Imd1ZXN0Ym9va190b3UiPgogICAgICAgICAgICAgICAgICAgIFRlcm1zIG9mIFVzZQogICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSByZWFkLXRlcm1zIj5MaWNlbnNlZCBlbGVjdHJvbmljIHJlc291cmNlcyBhcmUgcmVzdHJpY3RlZCB0byBtZW1iZXJzIG9mIHRoZSBIYXJ2YXJkIGNvbW11bml0eSBmb3IgcHVycG9zZXMgb2YgcmVzZWFyY2gsIHRlYWNoaW5nLCBhbmQgcHJpdmF0ZSBzdHVkeS4gVW5kZXIgSGFydmFyZCdzIGxpY2Vuc2VzIGZvciBlbGVjdHJvbmljIHJlc291cmNlcywgdXNlcnMgZ2VuZXJhbGx5IG1heSBub3Q6IHBlcm1pdCBhbnlvbmUgb3RoZXIgdGhhbiBhdXRob3JpemVkIHVzZXJzIHRvIHVzZSB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzOyBtb2RpZnkgb3IgY3JlYXRlIGEgZGVyaXZhdGl2ZSB3b3JrIG9mIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHMgd2l0aG91dCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgbGljZW5zb3I7IHJlbW92ZSwgb2JzY3VyZSBvciBtb2RpZnkgYW55IGNvcHlyaWdodCBvciBvdGhlciBub3RpY2VzIGluY2x1ZGVkIGluIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHM7IHVzZSB0aGUgbGljZW5zZWQgbWF0ZXJpYWxzIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSBzYWxlIG9mIHRoZSBsaWNlbnNlZCBtYXRlcmlhbHMuIFVzZXJzIGFyZSBpbmRpdmlkdWFsbHkgcmVzcG9uc2libGUgZm9yIGNvbXBsaWFuY2Ugd2l0aCB0aGVzZSB0ZXJtcy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCIgZm9yPSJndWVzdGJvb2tfdG9hIj4KICAgICAgICAgICAgICAgICAgICBUZXJtcyBvZiBBY2Nlc3MKICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkgcmVhZC10ZXJtcyI+VGhpcyBkYXRhc2V0IGlzIHJlc3RyaWN0ZWQgdG8gbWVtYmVycyBvZiB0aGUgSGFydmFyZCBjb21tdW5pdHkgZm9yIHB1cnBvc2VzIG9mIHJlc2VhcmNoLCB0ZWFjaGluZywgYW5kIHByaXZhdGUgc3R1ZHkuIEhhcnZhcmQgYWZmaWxpYXRlcyBtYXkgYWNjZXNzIHRoZSBkYXRhIGJ5IGxvZ2dpbmcgaW50byB0aGlzIHN5c3RlbSB2aWEgdGhlIGluc3RpdHV0aW9uYWwgbG9naW4gYW5kIHNlbGVjdGluZyBIYXJ2YXJkIFVuaXZlcnNpdHkuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBpZD0iZGF0YXNldEZvcm06al9pZHQxNjIzIiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE2MjMmcXVvdDssdTomcXVvdDtAKFtpZCQ9cmVxdWVzdEFjY2Vzc1BvcHVwQnV0dG9uXSkmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdyZXF1ZXN0QWNjZXNzUG9wdXAnKS5oaWRlKCk7O319KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgQWNjZXB0CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdyZXF1ZXN0QWNjZXNzUG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB2YWx1ZT0iQ2FuY2VsIj5DYW5jZWw8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwicmVxdWVzdEFjY2Vzc1BvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkRGF0YVN1YnNldFBvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWREYXRhU3Vic2V0UG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRvd25sb2FkIERhdGEgU3Vic2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZERhdGFTdWJzZXRQb3B1cF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkb3dubG9hZERhdGFTdWJzZXRQb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpkb3dubG9hZERhdGFTdWJzZXRQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmxpbmtEYXRhc2V0Rm9ybSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpsaW5rRGF0YXNldEZvcm1fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkxpbmsgRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2xpbmtEYXRhc2V0Rm9ybScpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmxpbmtEYXRhc2V0Rm9ybV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJsaW5rRGF0YXNldEZvcm0iLHtpZDoiZGF0YXNldEZvcm06bGlua0RhdGFzZXRGb3JtIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06YWNjZXNzUG9wdXAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06YWNjZXNzUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkZpbGUgUmVzdHJpY3Rpb25zPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX1Rlcm1zQWNjZXNzIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJJbmZvcm1hdGlvbiBvbiBob3cgYW5kIGlmIHVzZXJzIGNhbiBnYWluIGFjY2VzcyB0byB0aGUgcmVzdHJpY3RlZCBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXJtcyBvZiBBY2Nlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjx0ZXh0YXJlYSBpZD0iZGF0YXNldEZvcm06al9pZHQxNjU1IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NTUiIGNvbHM9IjIwIiByb3dzPSI1IiBtYXhsZW5ndGg9IjIxNDc0ODM2NDciIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dGFyZWEgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiPlRoaXMgZGF0YXNldCBpcyByZXN0cmljdGVkIHRvIG1lbWJlcnMgb2YgdGhlIEhhcnZhcmQgY29tbXVuaXR5IGZvciBwdXJwb3NlcyBvZiByZXNlYXJjaCwgdGVhY2hpbmcsIGFuZCBwcml2YXRlIHN0dWR5LiBIYXJ2YXJkIGFmZmlsaWF0ZXMgbWF5IGFjY2VzcyB0aGUgZGF0YSBieSBsb2dnaW5nIGludG8gdGhpcyBzeXN0ZW0gdmlhIHRoZSBpbnN0aXR1dGlvbmFsIGxvZ2luIGFuZCBzZWxlY3RpbmcgSGFydmFyZCBVbml2ZXJzaXR5Lg0KDQo8L3RleHRhcmVhPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY1NV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJJbnB1dFRleHRhcmVhIiwiaW5wdXR0b2EiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNjU1IixhdXRvUmVzaXplOmZhbHNlfSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9SZXF1ZXN0QWNjZXNzIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJJZiBjaGVja2VkLCB1c2VycyBjYW4gcmVxdWVzdCBhY2Nlc3MgdG8gdGhlIHJlc3RyaWN0ZWQgZmlsZXMgaW4gdGhpcyBkYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWVzdCBBY2Nlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3MiIGNsYXNzPSJ1aS1jaGtib3ggdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc19pbnB1dCIgbmFtZT0iZGF0YXNldEZvcm06cmVxdWVzdEFjY2Vzc19pbnB1dCIgdHlwZT0iY2hlY2tib3giIGF1dG9jb21wbGV0ZT0ib2ZmIiBhcmlhLWNoZWNrZWQ9ImZhbHNlIiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1sYWJlbCI+RW5hYmxlIGFjY2VzcyByZXF1ZXN0PC9zcGFuPjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJTZWxlY3RCb29sZWFuQ2hlY2tib3giLCJpbnB1dGZhciIse2lkOiJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NTkiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTY1OSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdhY2Nlc3NQb3B1cCcpLmhpZGUoKTtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTY1OSZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtIG1lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY1OV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNjU5Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTY1OSJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NjIiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTY2MiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdhY2Nlc3NQb3B1cCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNjYyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE2NjIiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNjYyIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06YWNjZXNzUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiYWNjZXNzUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06YWNjZXNzUG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTppbnJldmlldyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTppbnJldmlld190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U3VibWl0IGZvciBSZXZpZXc8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBZb3Ugd2lsbCBub3QgYmUgYWJsZSB0byBtYWtlIGNoYW5nZXMgdG8gdGhpcyBkYXRhc2V0IHdoaWxlIGl0IGlzIGluIHJldmlldy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY2NSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNjY1IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2lucmV2aWV3JykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE2NjUmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5TdWJtaXQ8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNjY1X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE2NjUiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNjY1In0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY2NiIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNjY2IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2lucmV2aWV3JykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NjZfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTY2NiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE2NjYifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmlucmV2aWV3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImlucmV2aWV3Iix7aWQ6ImRhdGFzZXRGb3JtOmlucmV2aWV3Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNjY4IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY2OF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UHVibGlzaCBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHB1Ymxpc2ggdGhpcyBkYXRhc2V0PyBPbmNlIHlvdSBkbyBzbyBpdCBtdXN0IHJlbWFpbiBwdWJsaXNoZWQuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD48ZGl2IGlkPSJ0ZXJtcy1hZ3JlZW1lbnQtYmxvY2siIGNsYXNzPSJ3ZWxsIj5CeSBkZWZhdWx0IGRhdGFzZXRzIGFyZSBwdWJsaXNoZWQgd2l0aCB0aGUgQ0MwLeKAnFB1YmxpYyBEb21haW4gRGVkaWNhdGlvbuKAnSB3YWl2ZXIuIExlYXJuIG1vcmUgYWJvdXQgdGhlIENDMCB3YWl2ZXIgPGEgdGFyZ2V0PV9ibGFuayBocmVmPSdodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9jaG9vc2UvemVyby8nPmhlcmU8L2E+LiA8YnI+PGJyPiBUbyBwdWJsaXNoIHdpdGggY3VzdG9tIFRlcm1zIG9mIFVzZSwgY2xpY2sgdGhlIENhbmNlbCBidXR0b24gYW5kIGdvIHRvIHRoZSBUZXJtcyB0YWIgZm9yIHRoaXMgZGF0YXNldC48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NzMiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTY3MyIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdwdWJsaXNoQ29uZmlybScpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNjczJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNjczX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE2NzMiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNjczIn0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY3NCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNjc0IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3B1Ymxpc2hDb25maXJtJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NzRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTY3NCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE2NzQifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY2OF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJwdWJsaXNoQ29uZmlybSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE2NjgiLG1vZGFsOnRydWUsd2lkdGg6IjcwJSJ9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NzYiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNjc2X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5QdWJsaXNoIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPlRoaXMgZGF0YXNldCBjYW5ub3QgYmUgcHVibGlzaGVkIHVudGlsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvZGF0YXZlcnNlL25kcyIgdGl0bGU9Ik51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UiPk51bWVyaWMgRGF0YSBTZXJ2aWNlcyBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiBpcyBwdWJsaXNoZWQuIFdvdWxkIHlvdSBsaWtlIHRvIHB1Ymxpc2ggYm90aCByaWdodCBub3c/CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD48ZGl2IGlkPSJ0ZXJtcy1hZ3JlZW1lbnQtYmxvY2siIGNsYXNzPSJ3ZWxsIj5CeSBkZWZhdWx0IGRhdGFzZXRzIGFyZSBwdWJsaXNoZWQgd2l0aCB0aGUgQ0MwLeKAnFB1YmxpYyBEb21haW4gRGVkaWNhdGlvbuKAnSB3YWl2ZXIuIExlYXJuIG1vcmUgYWJvdXQgdGhlIENDMCB3YWl2ZXIgCjxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2Nob29zZS96ZXJvLyIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+LiAKPGJyPgo8YnI+IFRvIHB1Ymxpc2ggd2l0aCBjdXN0b20gVGVybXMgb2YgVXNlLCBjbGljayB0aGUgQ2FuY2VsIGJ1dHRvbiBhbmQgZ28gdG8gdGhlIFRlcm1zIHRhYiBmb3IgdGhpcyBkYXRhc2V0LjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gT25jZSB5b3UgcHVibGlzaCB0aGlzIGRhdGFzZXQgaXQgbXVzdCByZW1haW4gcHVibGlzaGVkLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNjg3IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE2ODciIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRigncHVibGlzaFBhcmVudCcpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNjg3JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+WWVzLCBQdWJsaXNoIEJvdGg8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNjg3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE2ODciLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNjg3In0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY4OCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNjg4IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3B1Ymxpc2hQYXJlbnQnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY4OF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNjg4Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTY4OCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNjc2X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInB1Ymxpc2hQYXJlbnQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNjc2Iixtb2RhbDp0cnVlLHdpZHRoOiI3MCUifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNjkwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY5MF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UHVibGlzaCBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlcHVibGlzaCB0aGlzIGRhdGFzZXQ/CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD48ZGl2IGlkPSJ0ZXJtcy1hZ3JlZW1lbnQtYmxvY2siIGNsYXNzPSJ3ZWxsIj5CeSBkZWZhdWx0IGRhdGFzZXRzIGFyZSBwdWJsaXNoZWQgd2l0aCB0aGUgQ0MwLeKAnFB1YmxpYyBEb21haW4gRGVkaWNhdGlvbuKAnSB3YWl2ZXIuIExlYXJuIG1vcmUgYWJvdXQgdGhlIENDMCB3YWl2ZXIgCjxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2Nob29zZS96ZXJvLyIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+LiAKPGJyPgo8YnI+IFRvIHB1Ymxpc2ggd2l0aCBjdXN0b20gVGVybXMgb2YgVXNlLCBjbGljayB0aGUgQ2FuY2VsIGJ1dHRvbiBhbmQgZ28gdG8gdGhlIFRlcm1zIHRhYiBmb3IgdGhpcyBkYXRhc2V0LjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWluZm8tc2lnbiI+PC9zcGFuPiBTZWxlY3QgaWYgdGhpcyBpcyBhIG1pbm9yIG9yIG1ham9yIHZlcnNpb24gdXBkYXRlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPjx0YWJsZSBpZD0iZGF0YXNldEZvcm06b3B0aW9ucyIgY2xhc3M9InVpLXNlbGVjdG9uZXJhZGlvIHVpLXdpZGdldCI+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ1aS1yYWRpb2J1dHRvbiB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpvcHRpb25zOjAiIG5hbWU9ImRhdGFzZXRGb3JtOm9wdGlvbnMiIHR5cGU9InJhZGlvIiB2YWx1ZT0iMSIgY2hlY2tlZD0iY2hlY2tlZCIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1yYWRpb2J1dHRvbi1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCB1aS1zdGF0ZS1hY3RpdmUiPjxzcGFuIGNsYXNzPSJ1aS1yYWRpb2J1dHRvbi1pY29uIHVpLWljb24gdWktaWNvbi1idWxsZXQgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkPjxsYWJlbCBmb3I9ImRhdGFzZXRGb3JtOm9wdGlvbnM6MCI+TWlub3IgUmVsZWFzZSAoMS4xKTwvbGFiZWw+PC90ZD48dGQ+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24gdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06b3B0aW9uczoxIiBuYW1lPSJkYXRhc2V0Rm9ybTpvcHRpb25zIiB0eXBlPSJyYWRpbyIgdmFsdWU9IjIiIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24tYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1yYWRpb2J1dHRvbi1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PC9kaXY+PC90ZD48dGQ+PGxhYmVsIGZvcj0iZGF0YXNldEZvcm06b3B0aW9uczoxIj5NYWpvciBSZWxlYXNlICgyLjApPC9sYWJlbD48L3RkPjwvdHI+PC90YWJsZT48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpvcHRpb25zX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIlNlbGVjdE9uZVJhZGlvIiwid2lkZ2V0X2RhdGFzZXRGb3JtX29wdGlvbnMiLHtpZDoiZGF0YXNldEZvcm06b3B0aW9ucyJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MDIiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTcwMiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdyZWxlYXNlRHJhZnQnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNzAyJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNzAyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE3MDIiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNzAyIn0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTcwNCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNzA0IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3JlbGVhc2VEcmFmdCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNzA0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE3MDQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNzA0In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2OTBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwicmVsZWFzZURyYWZ0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTY5MCIsbW9kYWw6dHJ1ZSx3aWR0aDoiNzAlIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTcwNiIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MDZfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+VGhpcyBkYXRhc2V0IGNhbm5vdCBiZSBwdWJsaXNoZWQgdW50aWwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9kYXRhdmVyc2UueGh0bWw/YWxpYXM9bmRzIiB0aXRsZT0iTnVtZXJpYyBEYXRhIFNlcnZpY2VzIERhdGF2ZXJzZSI+TnVtZXJpYyBEYXRhIFNlcnZpY2VzIERhdGF2ZXJzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+ICBpcyBwdWJsaXNoZWQgYnkgaXRzIGFkbWluaXN0cmF0b3IuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MTQiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTcxNCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdtYXlOb3RSZWxlYXNlJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTs7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MTRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTcxNCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE3MTQifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTcwNl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJtYXlOb3RSZWxlYXNlIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTcwNiIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTcxNiIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MTZfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+VGhpcyBkYXRhc2V0IGNhbm5vdCBiZSBwdWJsaXNoZWQgdW50aWwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9kYXRhdmVyc2UvbmRzIiB0aXRsZT0iTnVtZXJpYyBEYXRhIFNlcnZpY2VzIERhdGF2ZXJzZSI+TnVtZXJpYyBEYXRhIFNlcnZpY2VzIERhdGF2ZXJzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+IGFuZCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2RhdGF2ZXJzZS9IYXJ2YXJkU3Vic2NyaXB0aW9uRGF0YSIgdGl0bGU9IkhhcnZhcmQgU3Vic2NyaXB0aW9uIERhdGEgRGF0YXZlcnNlIj5IYXJ2YXJkIFN1YnNjcmlwdGlvbiBEYXRhIERhdGF2ZXJzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+ICBhcmUgcHVibGlzaGVkLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNzI4IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MjgiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignbWF5bm90UHVibGlzaFBhcmVudCcpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7OyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNzI4X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE3MjgiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNzI4In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MTZfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwibWF5bm90UHVibGlzaFBhcmVudCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE3MTYiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MzAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNzMwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXR1cm4gdG8gQXV0aG9yPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gUmV0dXJuIHRoaXMgZGF0YXNldCB0byBjb250cmlidXRvciBmb3IgbW9kaWZpY2F0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MzIiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTczMiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdzZW5kQmFja1RvQ29udHJpYnV0b3InKS5oaWRlKCk7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE3MzImcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5Db250aW51ZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MzJfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTczMiIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE3MzIifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNzMzIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MzMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignc2VuZEJhY2tUb0NvbnRyaWJ1dG9yJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOzsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3MzNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTczMyIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE3MzMifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTczMF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZW5kQmFja1RvQ29udHJpYnV0b3IiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNzMwIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnJldHVyblRvQXV0aG9yQ29tbWFuZCA9IGZ1bmN0aW9uKCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOmpfaWR0MTczNSIsZjoiZGF0YXNldEZvcm0iLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTplbnRlclJldHVyblJlYXNvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb25maXJtRGlhbG9nIiwiZW50ZXJSZXR1cm5SZWFzb24iLHtpZDoiZGF0YXNldEZvcm06ZW50ZXJSZXR1cm5SZWFzb24ifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZW50ZXJSZXR1cm5SZWFzb24iIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZyB1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXF1aXJlZCBlbnRyeTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1hbGVydCB1aS1jb25maXJtLWRpYWxvZy1zZXZlcml0eSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZy1tZXNzYWdlIj5SZWFzb24gZm9yIHJldHVybiB0byBhdXRob3IgaXMgcmVxdWlyZWQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktZGlhbG9nLWZvb3RlciB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXgiPjwvZGl2PjwvZGl2PjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImphdmF4LmZhY2VzLlZpZXdTdGF0ZSIgaWQ9ImpfaWQxOmphdmF4LmZhY2VzLlZpZXdTdGF0ZTowIiB2YWx1ZT0iNzMzMzQ0NTM3MDAxMTc3MDY2MjotNTgwNzI1MTM5OTUxMjA3MTI5NSIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CjwvZm9ybT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9yZXNvdXJjZXMvanMvZHJvcGlucy5qcyIgaWQ9ImRyb3Bib3hqcyIgZGF0YS1hcHAta2V5PSIxaXRyb3U2ZGR4eDBic2QiPjwvc2NyaXB0PgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcG9wb3ZlckhUTUwoJ0FsbG93ZWQgSFRNTCBUYWdzJyk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFJldHVyblJlYXNvbigpewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmV0dXJuUmVhc29uVGV4dCA9IFBGKCdyZXR1cm5SZWFzb24nKS5qcS52YWwoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldHVyblJlYXNvblRleHQubGVuZ3RoPT09MCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZW50ZXJSZXR1cm5SZWFzb24nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignc2VuZEJhY2tUb0NvbnRyaWJ1dG9yJykuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuVG9BdXRob3JDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gb3BlbkRpYWxvZygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2RldGFpbHMnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9wZW5Db21wYXJlVHdvKCkgewogICAgICAgICAgICAgICAgICAgICAgICBQRignY29tcGFyZVR3bycpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdENoZWNrQm94ZXMoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IFBGKCd2ZXJzaW9uc1RhYmxlJykuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ICE9PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignY29tcGFyZVR3bycpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9ImNvbXBhcmVWZXJzaW9ucyJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0RmlsZXNTZWxlY3RlZEZvclJlc3RyaWN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBQRignZmlsZXNUYWJsZScpLmdldFNlbGVjdGVkUm93c0NvdW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3NlbGVjdEZpbGVzRm9yUmVzdHJpY3QnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYWNjZXNzUG9wdXAnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RGaWxlc1NlbGVjdGVkRm9yVGFncygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gUEYoJ2ZpbGVzVGFibGUnKS5nZXRTZWxlY3RlZFJvd3NDb3VudCgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdzZWxlY3RGaWxlc0ZvckVkaXRUYWdzJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFRhZ3NDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEZpbGVzU2VsZWN0ZWRGb3JEZWxldGUoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IFBGKCdmaWxlc1RhYmxlJykuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignc2VsZWN0RmlsZXNGb3JEZWxldGUnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZGVsZXRlU2VsZWN0ZWRGaWxlQ29uZmlybWF0aW9uJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RGaWxlc1NlbGVjdGVkRm9yRWRpdE1ldGFkYXRhKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBQRignZmlsZXNUYWJsZScpLmdldFNlbGVjdGVkUm93c0NvdW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3NlbGVjdEZpbGVzRm9yRWRpdE1ldGFkYXRhJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9IC8vZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEkgY29tbWVudGVkIG91dCB0aGUgY29kZSBiZWxvdzsgaWYgdGhlcmUncwogICAgICAgICAgICAgICAgICAgICAgICAvLyAxIG9yIG1vcmUgZmlsZSBzZWxlY3RlZCwgSSBkb24ndCB3YW50IHRoaXMKICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWV0aG9kIHRvIGFjdGl2YXRlIHRoZSBwOnJlbW90ZUNvbW1hbmQgdGhhdAogICAgICAgICAgICAgICAgICAgICAgICAvLyBpc3N1ZXMgdGhlIHJlZGlyZWN0IHRvIHRoZSBlZGl0IHBhZ2UgKG9yCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRvIGFueXRoaW5nIGVsc2UgZm9yIHRoYXQgbWF0dGVyKS4gRG9pbmcKICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXQgdGhpcyB3YXkgd2FzLCBmb3Igc29tZSByZWFzb24sIGNhdXNpbmcKICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBwYWdlIHRvIHN0aWxsIHRyeSB0byByZW5kZXIgKD8/KSwgaW4KICAgICAgICAgICAgICAgICAgICAgICAgLy8gc29tZSBwYXJ0aWFsLCBoYWxmLWJha2VkIHN0YXRlIC0gd2l0aCBubwogICAgICAgICAgICAgICAgICAgICAgICAvLyB3b3JraW5nVmVyc2lvbiBwcmVzZW50LCBldGMuIC0gdGhhdCByZXN1bHRlZAogICAgICAgICAgICAgICAgICAgICAgICAvLyBpbiBzb21lIE5VTEwgcG9pbnRlcnMgaW4gdGhlIGxvZ3MuLi4gU28sCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluc3RlYWQsIHRoZSByZWRpcmVjdCB3aWxsIGJlIGRvbmUgYnkgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRpcmVjdCBhY3Rpb249IGF0dHJpYnV0ZSBpbiB0aGUgb3JpZ2luYWwKICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29tbWFuZEJ1dHRvbi4gLS0gTC5BLiA0LjIuMQogICAgICAgICAgICAgICAgICAgICAgICAvL29wZW5FZGl0RmlsZXNQYWdlQ29tbWFuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAvL30KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdXBkYXRlVGVtcGxhdGUoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9InVwZGF0ZVRlbXBsYXRlIl0nKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiByZWdpc3RlckRhdGFzZXQoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9InJlZ2lzdGVyRGF0YXNldCJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2tOZXdseVJlc3RyaWN0ZWQoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKCdpbnB1dFtpZCQ9InNob3dBY2Nlc3NQb3B1cCJdJykudmFsKCkgPT09ICd0cnVlJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2FjY2Vzc1BvcHVwJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnYnV0dG9uW2lkJD0iZGF0YXNldFNhdmUiXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdXBkYXRlSGlkZGVuUmVhc29uKHRleHRBcmVhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJ2lucHV0W2lkJD0iaGlkZGVuUmVhc29uSW5wdXQiXScpLnZhbCh0ZXh0QXJlYS52YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3REZWFjY2Vzc2lvblZlcnNpb25TZWxlY3Rpb24odGVzdFZlcnNpb24pIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlYWNjZXNzaW9uVGV4dCA9ICQoJ2lucHV0W2lkJD0iaGlkZGVuUmVhc29uSW5wdXQiXScpLnZhbCgpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXJsRW50cnkgPSAkKCdpbnB1dFtpZCQ9ImZvcndhcmRVUkxGb3JEZWFjY2Vzc2lvbiJdJykudmFsKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIDsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbGlkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RWZXJzaW9uID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBQRigndmVyc2lvbkRlYWNjZXNzaW9uVGFibGUnKS5nZXRTZWxlY3RlZFJvd3NDb3VudCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0ZVVSTCh1cmxFbnRyeSkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2VudGVyRm9yd2FyZFVybCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWQgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKCJzZWxlY3RbaWQkPSdyZWFzb25PcHRpb25zJ10gb3B0aW9uOnNlbGVjdGVkIikudmFsKCkgPT09ICc3JykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWFjY2Vzc2lvblRleHQgPT09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdlbnRlck90aGVyUmVhc29uJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVhY2Nlc3Npb25UZXh0Lmxlbmd0aCA+PSAxMDAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3JlYXNvblRvb01hbnlDaGFyYWN0ZXJzJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZCA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoInNlbGVjdFtpZCQ9J3JlYXNvbk9wdGlvbnMnXSBvcHRpb246c2VsZWN0ZWQiKS52YWwoKSA9PT0gJzAnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignc2VsZWN0RGVhY2Nlc3Npb25SZWFzb24nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFZlcnNpb24gPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2RlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3NlbGVjdERlYWNjZXNzaW9uVmVyc2lvbicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZGVhY2Nlc3Npb25Db25maXJtYXRpb24nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHZhbGlkYXRlVVJMKHRleHR2YWwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRleHR2YWwgPT09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXJscmVnZXggPSBuZXcgUmVnRXhwKCJeKGh0dHB8aHR0cHN8ZnRwKVw6Ly8oW2EtekEtWjAtOVwuXC1dKyhcOlthLXpBLVowLTlcLiYlJFwtXSspKkApKigoMjVbMC01XXwyWzAtNF1bMC05XXxbMC0xXXsxfVswLTldezJ9fFsxLTldezF9WzAtOV17MX18WzEtOV0pXC4oMjVbMC01XXwyWzAtNF1bMC05XXxbMC0xXXsxfVswLTldezJ9fFsxLTldezF9WzAtOV17MX18WzEtOV18MClcLigyNVswLTVdfDJbMC00XVswLTldfFswLTFdezF9WzAtOV17Mn18WzEtOV17MX1bMC05XXsxfXxbMS05XXwwKVwuKDI1WzAtNV18MlswLTRdWzAtOV18WzAtMV17MX1bMC05XXsyfXxbMS05XXsxfVswLTldezF9fFswLTldKXwoW2EtekEtWjAtOVwtXStcLikqW2EtekEtWjAtOVwtXStcLihjb218ZWR1fGdvdnxpbnR8bWlsfG5ldHxvcmd8Yml6fGFycGF8aW5mb3xuYW1lfHByb3xhZXJvfGNvb3B8bXVzZXVtfFthLXpBLVpdezJ9KSkoXDpbMC05XSspKigvKCR8W2EtekEtWjAtOVwuXCxcP1wnXFxcKyYlJCNcPX5fXC1dKykpKiQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybHJlZ2V4LnRlc3QodGV4dHZhbCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9wZW5Ecm9wYm94Q2hvb3NlcigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlcXVpcmVkLiBDYWxsZWQgd2hlbiBhIHVzZXIgc2VsZWN0cyBhbiBpdGVtIGluIHRoZSBDaG9vc2VyLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGZpbGVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFzcyB0aGUgSlNPTi1pemVkIG91dHB1dCBvZiB0aGUgQ2hvb3NlciB0byB0aGUgYmFja2luZyBiZWFuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZpYSBhIGhpZGRlbiBpbnB1dCBmaWVsZDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdpbnB1dFtpZCQ9ImRyb3BCb3hTZWxlY3Rpb25JbnB1dCJdJykudmFsKEpTT04uc3RyaW5naWZ5KGZpbGVzKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9hbGVydChKU09OLnN0cmluZ2lmeShmaWxlcykpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXIgdGhlIHVwbG9hZCBwcm9jZXNzaW5nIG1ldGhvZCBpbiB0aGUgYmFja2luZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlYW4sIHZpYSBhbiBpbnZpc2libGUgY29tbWFuZEJ1dHRvbjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdidXR0b25baWQkPSJkcm9wQm94QnV0dG9uIl0nKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtUeXBlOiAiZGlyZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpc2VsZWN0OiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICBEcm9wYm94LmNob29zZShvcHRpb25zKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICA8L3NjcmlwdD4KICAgICAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJmb290ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLXNtLTggc21hbGwiPgogICAgICAgICAgICAgICAgICAgIDxwPkNvcHlyaWdodCAmIzE2OTsgMjAxOCwgVGhlIFByZXNpZGVudCAmIzM4OyBGZWxsb3dzIG9mIEhhcnZhcmQgQ29sbGVnZcKgfMKgIDxhIGhyZWY9Imh0dHA6Ly9iZXN0LXByYWN0aWNlcy5kYXRhdmVyc2Uub3JnL2hhcnZhcmQtcG9saWNpZXMvaGFydmFyZC1wcml2YWN5LXBvbGljeS5odG1sIiB0YXJnZXQ9Il9ibGFuayI+UHJpdmFjeSBQb2xpY3k8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgdGV4dC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG93ZXJlZGJ5bG9nbyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlBvd2VyZWQgYnk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9kYXRhdmVyc2Uub3JnLyIgdGl0bGU9IlRoZSBEYXRhdmVyc2UgUHJvamVjdCIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSIvcmVzb3VyY2VzL2ltYWdlcy9kYXRhdmVyc2Vwcm9qZWN0X2xvZ28ucG5nIiBhbHQ9IlRoZSBEYXRhdmVyc2UgUHJvamVjdCIgLz48L2E+PHNwYW4gY2xhc3M9InZlcnNpb24iPnYuIDQuOC42IGJ1aWxkIDE0Ni04NzRhOTQ0PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PHN0eWxlPgojZmVlZGJhY2tUYWIgewogICAgcG9zaXRpb246Zml4ZWQ7CiAgICBib3R0b206MDsKICAgIHJpZ2h0OjUwcHg7Cn0KI2ZlZWRiYWNrVGFiIGJ1dHRvbi5idG4tZmVlZGJhY2sgewogICAgbWFyZ2luLXJpZ2h0Ojg5cHg7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7Cn0KLmJ0bi1mZWVkYmFjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogI0M1NUIyODsKICBib3JkZXItY29sb3I6ICNDNTVCMjg7CiAgY29sb3I6ICNmZmY7Cn0KLmJ0bi1mZWVkYmFjazpob3ZlciwKLmJ0bi1mZWVkYmFjazpmb2N1cywKLmJ0bi1mZWVkYmFjazphY3RpdmUsCi5idG4tZmVlZGJhY2suYWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjA1MTI0OwogIGJvcmRlci1jb2xvcjogIzliNDcxZjsKICBjb2xvcjogI2ZmZjsKfQouYnRuLWZlZWRiYWNrLmRpc2FibGVkOmhvdmVyLAouYnRuLWZlZWRiYWNrLmRpc2FibGVkOmZvY3VzLAouYnRuLWZlZWRiYWNrLmRpc2FibGVkOmFjdGl2ZSwKLmJ0bi1mZWVkYmFjay5kaXNhYmxlZC5hY3RpdmUsCi5idG4tZmVlZGJhY2tbZGlzYWJsZWRdOmhvdmVyLAouYnRuLWZlZWRiYWNrW2Rpc2FibGVkXTpmb2N1cywKLmJ0bi1mZWVkYmFja1tkaXNhYmxlZF06YWN0aXZlLAouYnRuLWZlZWRiYWNrW2Rpc2FibGVkXS5hY3RpdmUsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWZlZWRiYWNrOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1mZWVkYmFjazpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZmVlZGJhY2s6YWN0aXZlLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1mZWVkYmFjay5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6ICNDNTVCMjg7CiAgYm9yZGVyLWNvbG9yOiAjQzU1QjI4Owp9CiNmZWVkYmFja1RhYkJvZHkgZGl2LnBhbmVsIHsKICAgIHdpZHRoOjE5MHB4OwogICAgbWFyZ2luOjA7CiAgICBiYWNrZ3JvdW5kOiNGOEY4Rjg7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowOwp9Cjwvc3R5bGU+Cgo8ZGl2IGlkPSJmZWVkYmFja1RhYiI+CiAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZmVlZGJhY2siIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNmZWVkYmFja1RhYkJvZHkiPgogICAgICAgIEZlZWRiYWNrCiAgICA8L2J1dHRvbj4KICAgIDxkaXYgaWQ9ImZlZWRiYWNrVGFiQm9keSIgY2xhc3M9ImNvbGxhcHNlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtbGVmdCI+CiAgICAgICAgICAgICAgICAgIEhlbHAgaW1wcm92ZSBEYXRhdmVyc2U6IFZvbHVudGVlciBmb3Igb25saW5lIHVzYWJpbGl0eSByZXNlYXJjaCEKICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tZmVlZGJhY2siIGhyZWY9Imh0dHBzOi8vZ29vLmdsL2Zvcm1zL3A3dXUzR2ZpV1lTbEpyc2kxIiByb2xlPSJidXR0b24iIHRhcmdldD0iX2JsYW5rIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjZmVlZGJhY2tUYWJCb2R5Ij4KICAgICAgICAgICAgICAgICAgTGVhcm4gTW9yZQogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+CjxkaXYgaWQ9ImFqYXhTdGF0dXNQYW5lbCI+PGRpdiBpZD0iYWpheFN0YXR1c1BhbmVsX3N0YXJ0IiBzdHlsZT0iZGlzcGxheTpub25lIj48aW1nIHNyYz0iL3Jlc291cmNlcy9pbWFnZXMvYWpheC1sb2FkaW5nLmdpZjtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzYiIGFsdD0iTG9hZGluZyIgLz48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJhamF4U3RhdHVzUGFuZWxfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQWpheFN0YXR1cyIsIndpZGdldF9hamF4U3RhdHVzUGFuZWwiLHtpZDoiYWpheFN0YXR1c1BhbmVsIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImNvbnRhY3REaWFsb2ciIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iY29udGFjdERpYWxvZ190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+Q29udGFjdCBIYXJ2YXJkIERhdGF2ZXJzZSBTdXBwb3J0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48ZGl2IGlkPSJqX2lkdDE3NjEiPgo8Zm9ybSBpZD0iZW1haWxGb3JtIiBuYW1lPSJlbWFpbEZvcm0iIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPTBiNGRlYTAyNTgyM2VmOTMwZGUyMjEyOWY5MzY/cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAlMkZEVk4lMkZHQU9DMDMiIGNsYXNzPSJmb3JtLWhvcml6b250YWwiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImVtYWlsRm9ybSIgdmFsdWU9ImVtYWlsRm9ybSIgLz4KCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1lc3NhZ2VUbyIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPlRvPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJtZXNzYWdlVG8iIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj5IYXJ2YXJkIERhdGF2ZXJzZSBTdXBwb3J0PC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0idXNlckVtYWlsIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+RnJvbSA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjxpbnB1dCBpZD0iZW1haWxGb3JtOnVzZXJFbWFpbCIgbmFtZT0iZW1haWxGb3JtOnVzZXJFbWFpbCIgdHlwZT0idGV4dCIgdmFsdWU9IiIgc2l6ZT0iMzAiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCIgLz48c2NyaXB0IGlkPSJlbWFpbEZvcm06dXNlckVtYWlsX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0Iiwid2lkZ2V0X2VtYWlsRm9ybV91c2VyRW1haWwiLHtpZDoiZW1haWxGb3JtOnVzZXJFbWFpbCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1lc3NhZ2VTdWJqZWN0IiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+U3ViamVjdCA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PGlucHV0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1YmplY3QiIG5hbWU9ImVtYWlsRm9ybTptZXNzYWdlU3ViamVjdCIgdHlwZT0idGV4dCIgdmFsdWU9IiIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0IHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIiAvPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTptZXNzYWdlU3ViamVjdF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIklucHV0VGV4dCIsIndpZGdldF9lbWFpbEZvcm1fbWVzc2FnZVN1YmplY3QiLHtpZDoiZW1haWxGb3JtOm1lc3NhZ2VTdWJqZWN0In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+ICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9InVzZXJNZXNzYWdlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+TWVzc2FnZSA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PHRleHRhcmVhIGlkPSJlbWFpbEZvcm06dXNlck1lc3NhZ2UiIG5hbWU9ImVtYWlsRm9ybTp1c2VyTWVzc2FnZSIgY29scz0iMjAiIHJvd3M9IjEwIiBtYXhsZW5ndGg9IjIxNDc0ODM2NDciIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dGFyZWEgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiPjwvdGV4dGFyZWE+PHNjcmlwdCBpZD0iZW1haWxGb3JtOnVzZXJNZXNzYWdlX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIklucHV0VGV4dGFyZWEiLCJ3aWRnZXRfZW1haWxGb3JtX3VzZXJNZXNzYWdlIix7aWQ6ImVtYWlsRm9ybTp1c2VyTWVzc2FnZSIsYXV0b1Jlc2l6ZTpmYWxzZX0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS1vZmZzZXQtMyBjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzcGFuIGNsYXNzPSJoaWdobGlnaHRCb2xkIj5QbGVhc2UgZmlsbCB0aGlzIG91dCB0byBwcm92ZSB5b3UgYXJlIG5vdCBhIHJvYm90Ljwvc3Bhbj4gPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tYXN0ZXJpc2sgdGV4dC1kYW5nZXIiIHRpdGxlPSJSZXF1aXJlZCBmaWVsZCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+ICsgID0gPGlucHV0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1bSIgbmFtZT0iZW1haWxGb3JtOm1lc3NhZ2VTdW0iIHR5cGU9InRleHQiIHNpemU9IjQiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIiAvPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTptZXNzYWdlU3VtX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0Iiwid2lkZ2V0X2VtYWlsRm9ybV9tZXNzYWdlU3VtIix7aWQ6ImVtYWlsRm9ybTptZXNzYWdlU3VtIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGEgaWQ9ImVtYWlsRm9ybTpqX2lkdDE3NzkiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2VtYWlsRm9ybTpqX2lkdDE3NzkmcXVvdDssdTomcXVvdDtlbWFpbEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe2lmIChhcmdzICZhbXA7JmFtcDsgIWFyZ3MudmFsaWRhdGlvbkZhaWxlZCkgUEYoJ2NvbnRhY3RGb3JtJykuaGlkZSgpOzt9LHBhOlt7bmFtZTomcXVvdDtET19WQUxJREFUSU9OJnF1b3Q7LHZhbHVlOiZxdW90O3RydWUmcXVvdDt9XSxmaTomcXVvdDtqX2lkdDE3NjEmcXVvdDt9KTtyZXR1cm4gZmFsc2U7Ij5TZW5kIE1lc3NhZ2U8L2E+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IlBGKCdjb250YWN0Rm9ybScpLmhpZGUoKSIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdmFsdWU9IkNhbmNlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iamF2YXguZmFjZXMuVmlld1N0YXRlIiBpZD0ial9pZDE6amF2YXguZmFjZXMuVmlld1N0YXRlOjAiIHZhbHVlPSI3MzMzNDQ1MzcwMDExNzcwNjYyOi01ODA3MjUxMzk5NTEyMDcxMjk1IiBhdXRvY29tcGxldGU9Im9mZiIgLz4KPC9mb3JtPjwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImNvbnRhY3REaWFsb2dfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29udGFjdEZvcm0iLHtpZDoiY29udGFjdERpYWxvZyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9InN0YXR1c0luZm8iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0ic3RhdHVzSW5mb190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgPHA+PC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IlBGKCdzdGF0dXNJbmZvJykuaGlkZSgpIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB2YWx1ZT0iQ2xvc2UiPgogICAgICAgICAgICAgICAgICAgIENsb3NlCiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0ic3RhdHVzSW5mb19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzdGF0dXNJbmZvIix7aWQ6InN0YXR1c0luZm8iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgZGVmZXI9ImRlZmVyIiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9icy9qcy9ib290c3RyYXAubWluLmpzLnhodG1sP3ZlcnNpb249NC44LjYiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2JzL2pzL2Jvb3RzdHJhcC1ob3Zlci1kcm9wZG93bi5taW4uanMueGh0bWw/dmVyc2lvbj00LjguNiI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvaWUtY29tcGF0LmpzLnhodG1sP3ZlcnNpb249NC44LjYiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2R2X3JlYmluZF9ib290c3RyYXBfdWkuanMueGh0bWw/dmVyc2lvbj00LjguNiI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvb3dsLmNhcm91c2VsLmpzLnhodG1sP3ZlcnNpb249NC44LjYiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2pxdWVyeS5tYXRjaEhlaWdodC5qcy54aHRtbD92ZXJzaW9uPTQuOC42Ij48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgZGVmZXI9ImRlZmVyIiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcy9qcXVlcnkuc2hhcnJyZS5qcy54aHRtbD92ZXJzaW9uPTQuOC42Ij48L3NjcmlwdD4gIAogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2NsaXBib2FyZC5taW4uanMueGh0bWw/dmVyc2lvbj00LjguNiI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgLy88IVtDREFUQVsKICAgICAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgLy8gTmF2YmFyIFNlYXJjaCBUb2dnbGUKICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICcjbmF2YmFyLXNlYXJjaC10b2dnbGUnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCJsaSIpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAkKCJmb3JtLm5hdmJhci1mb3JtW3JvbGU9J3NlYXJjaCddIikuc2hvdygpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAkKCdib2R5JykuY2xpY2soZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoISQoZS50YXJnZXQpLmNsb3Nlc3QoImZvcm0ubmF2YmFyLWZvcm1bcm9sZT0nc2VhcmNoJ10iKS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiZm9ybS5uYXZiYXItZm9ybVtyb2xlPSdzZWFyY2gnXSIpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiI25hdmJhci1zZWFyY2gtdG9nZ2xlIikucGFyZW50KCJsaSIpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgLy8gUmViaW5kIGJvb3RzdHJhcCBVSSBjb21wb25lbnRzCiAgICAgICAgICAgICAgICBiaW5kX2JzdWlfY29tcG9uZW50cygpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAvL11dPgogICAgICAgIDwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICAoZnVuY3Rpb24oaSxzLG8sZyxyLGEsbSl7aVsnR29vZ2xlQW5hbHl0aWNzT2JqZWN0J109cjtpW3JdPWlbcl18fGZ1bmN0aW9uKCl7CiAgICAgICAgIChpW3JdLnE9aVtyXS5xfHxbXSkucHVzaChhcmd1bWVudHMpfSxpW3JdLmw9MSpuZXcgRGF0ZSgpO2E9cy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pCiAgICAgICAgIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsKIAogICAgICAgICAgZ2EoJ2NyZWF0ZScsICJVQS02MTc1MzMzNC0xIiwgJ2F1dG8nKTsKCiAgICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycsIHsKICAgICAgICAgICAgJ2hpdFR5cGUnOiAnc29jaWFsJywKICAgICAgICAgICAgJ3NvY2lhbE5ldHdvcmsnOiAnZmFjZWJvb2snLAogICAgICAgICAgICAnc29jaWFsQWN0aW9uJzogJ3NlbmQnLAogICAgICAgICAgICAnc29jaWFsVGFyZ2V0JzogJ2h0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1JywKICAgICAgICAgICAgJ3BhZ2UnOiAnL2RhdGFzZXQueGh0bWw/cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAlMkZEVk4lMkZHQU9DMDMnCiAgICAgICAgICB9LCB7CiAgICAgICAgICAgICdoaXRUeXBlJzogJ3NvY2lhbCcsCiAgICAgICAgICAgICdzb2NpYWxOZXR3b3JrJzogJ3R3aXR0ZXInLAogICAgICAgICAgICAnc29jaWFsQWN0aW9uJzogJ3R3ZWV0JywKICAgICAgICAgICAgJ3NvY2lhbFRhcmdldCc6ICdodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdScsCiAgICAgICAgICAgICdwYWdlJzogJy9kYXRhc2V0LnhodG1sP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGR0FPQzAzJwogICAgICAgICAgfSk7CiAgICAgICAgCgk8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4=
|
35
35
|
http_version:
|
36
|
-
recorded_at:
|
36
|
+
recorded_at: Sat, 05 May 2018 14:29:11 GMT
|
37
37
|
recorded_with: VCR 3.0.3
|
data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/not_found_error.yml
CHANGED
@@ -23,7 +23,7 @@ http_interactions:
|
|
23
23
|
Content-Length:
|
24
24
|
- '4984'
|
25
25
|
Date:
|
26
|
-
-
|
26
|
+
- Sat, 05 May 2018 11:18:15 GMT
|
27
27
|
body:
|
28
28
|
encoding: ASCII-8BIT
|
29
29
|
string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n
|
@@ -89,5 +89,5 @@ http_interactions:
|
|
89
89
|
super;\">®</span>, and shortDOI<span style=\"vertical-align: super;\">®</span>
|
90
90
|
are trademarks of the International DOI Foundation.</span>\n</td> \n</tr>\n</table>\n</body>\n</html>\n"
|
91
91
|
http_version:
|
92
|
-
recorded_at:
|
92
|
+
recorded_at: Sat, 05 May 2018 11:18:16 GMT
|
93
93
|
recorded_with: VCR 3.0.3
|
@@ -19,7 +19,7 @@ http_interactions:
|
|
19
19
|
Server:
|
20
20
|
- PANGAEA/1.0
|
21
21
|
Date:
|
22
|
-
-
|
22
|
+
- Sat, 05 May 2018 11:18:19 GMT
|
23
23
|
Vary:
|
24
24
|
- Accept
|
25
25
|
Link:
|
@@ -39,7 +39,7 @@ http_interactions:
|
|
39
39
|
body:
|
40
40
|
encoding: ASCII-8BIT
|
41
41
|
string: !binary |-
|
42
|
-
PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiI+DQo8aGVhZD4KPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEsIG1heGltdW0tc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDYwMCw0MDBpdGFsaWMsNzAwLDcwMGl0YWxpYyw2MDBpdGFsaWMsMzAwLDMwMGl0YWxpYyw4MDAsODAwaXRhbGljIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LjMwM2YzMWRkYjczZjBlOTg1MDgyZWY1NmZhYzY4YWE4L2Jvb3RzdHJhcC0yNGNvbC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuMzAzZjMxZGRiNzNmMGU5ODUwODJlZjU2ZmFjNjhhYTgvY3NzL3BhbmdhZWEuY3NzIj4KPCEtLVtpZiBsdGUgSUUgOV0+DQo8c3R5bGU+I3RvcGljcy1wdWxsZG93bi13cmFwcGVyIGxhYmVsOmFmdGVyIHsgZGlzcGxheTpub25lOyB9PC9zdHlsZT4NCjwhW2VuZGlmXS0tPg0KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LjMwM2YzMWRkYjczZjBlOTg1MDgyZWY1NmZhYzY4YWE4L2Zhdmljb24uaWNvIj4NCjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi4zMDNmMzFkZGI3M2YwZTk4NTA4MmVmNTZmYWM2OGFhOC9mYXZpY29uLmljbyIgdHlwZT0iaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uIj4NCjxsaW5rIHJlbD0iaW1hZ2Vfc3JjIiB0eXBlPSJpbWFnZS9wbmciIGhyZWY9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3NvY2lhbC1pY29ucy9wYW5nYWVhLXNoYXJlLnBuZyI+DQo8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3NvY2lhbC1pY29ucy9wYW5nYWVhLXNoYXJlLnBuZyI+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjEyLjQvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pxdWVyeS5tYXRjaEhlaWdodC8wLjcuMC9qcXVlcnkubWF0Y2hIZWlnaHQtbWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi4zMDNmMzFkZGI3M2YwZTk4NTA4MmVmNTZmYWM2OGFhOC9ib290c3RyYXAtMjRjb2wvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuMzAzZjMxZGRiNzNmMGU5ODUwODJlZjU2ZmFjNjhhYTgvanMvZGF0YWNvbWJvLW1pbi5qcyI+PC9zY3JpcHQ+Cjx0aXRsZT5Kb2hhbnNzb24sIEUgZXQgYWwuICgyMDE0KTogSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIGxha2UgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZDwvdGl0bGU+CjxtZXRhIG5hbWU9InRpdGxlIiBjb250ZW50PSJIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIiAvPgo8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IkpvaGFuc3NvbiwgRW1tYTsgQmVyZ2x1bmQsIFN0ZW47IExpbmRib3JnLCBUb2JpYXM7IFBldHJvbmUsIEpvaGFubmVzOyB2YW4gQXMsIERpcms7IEd1c3RhZnNzb24sIExhcnMtR8O2cmFuOyBOw6RzbHVuZCwgSmVucy1PdmU7IExhdWRvbiwgSGphbG1hciIgLz4KPG1ldGEgbmFtZT0iZGF0ZSIgY29udGVudD0iMjAxNC0wOS0yNSIgLz4KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IkBzdXBwbGVtZW50OyBAY2l0YWJsZTsgQGNpdGFibGVXaXRoQ2hpbGRzOyBAYXV0aG9yNTI4NDU7IEBhdXRob3I1Mjg0NjsgQGF1dGhvcjUyODQ3OyBAYXV0aG9yNTI4NDg7IEBhdXRob3I1Mjg0OTsgQGF1dGhvcjUyODUwOyBAYXV0aG9yNTI4NTE7IEBhdXRob3I1Mjg1MjsgQGV2ZW50Mjc0NTk3NzsgQHRlcm0zMTIyMzsgQGdlb2NvZGUxNjAwOyBAZ2VvY29kZTE2MDE7IEBqb3VybmFsMTY1OTA7IEBsaWNlbnNlMTsgQHByb2plY3Q0MjI2OyBAcmVmNjU0MDg7IEByZWY2NTQzNTsgQHJlZjY1NDc3OyBAdG9wb3R5cGUyIiAvPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSm9oYW5zc29uLCBFbW1hOyBCZXJnbHVuZCwgU3RlbjsgTGluZGJvcmcsIFRvYmlhczsgUGV0cm9uZSwgSm9oYW5uZXM7IHZhbiBBcywgRGlyazsgR3VzdGFmc3NvbiwgTGFycy1Hw7ZyYW47IE7DpHNsdW5kLCBKZW5zLU92ZTsgTGF1ZG9uLCBIamFsbWFyICgyMDE0KTogSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIGxha2UgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZC4gUEFOR0FFQSwgaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgsIFN1cHBsZW1lbnQgdG86IEpvaGFuc3NvbiwgRSBldCBhbC4gKDIwMTUpOiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgcGVyaWdsYWNpYWwgbGFrZSBjYXRjaG1lbnQgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZCAtIHByZXNlbnRhdGlvbiBvZiBhIG5ldyBtdWx0aS1wYXJhbWV0ZXIgZGF0YSBzZXQuIEVhcnRoIFN5c3RlbSBTY2llbmNlIERhdGEsIDcoMSksIDkzLTEwOCwgaHR0cHM6Ly9kb2kub3JnLzEwLjUxOTQvZXNzZC03LTkzLTIwMTUiIC8+CjxtZXRhIG5hbWU9Imdlby5wb3NpdGlvbiIgY29udGVudD0iNjcuMTI1OTQwOy01MC4xODAzNzAiIC8+CjxtZXRhIG5hbWU9IklDQk0iIGNvbnRlbnQ9IjY3LjEyNTk0MCwgLTUwLjE4MDM3MCIgLz4KPCEtLUJFR0lOOiBEdWJsaW4gQ29yZSBkZXNjcmlwdGlvbi0tPgo8bGluayByZWw9InNjaGVtYS5EQyIgaHJlZj0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIC8+CjxsaW5rIHJlbD0ic2NoZW1hLkRDVEVSTVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIC8+CjxtZXRhIG5hbWU9IkRDLnRpdGxlIiBjb250ZW50PSJIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJKb2hhbnNzb24sIEVtbWEiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkJlcmdsdW5kLCBTdGVuIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJMaW5kYm9yZywgVG9iaWFzIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJQZXRyb25lLCBKb2hhbm5lcyIgLz4KPG1ldGEgbmFtZT0iREMuY3JlYXRvciIgY29udGVudD0idmFuIEFzLCBEaXJrIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJHdXN0YWZzc29uLCBMYXJzLUfDtnJhbiIgLz4KPG1ldGEgbmFtZT0iREMuY3JlYXRvciIgY29udGVudD0iTsOkc2x1bmQsIEplbnMtT3ZlIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJMYXVkb24sIEhqYWxtYXIiIC8+CjxtZXRhIG5hbWU9IkRDLnB1Ymxpc2hlciIgY29udGVudD0iUEFOR0FFQSIgLz4KPG1ldGEgbmFtZT0iREMuc291cmNlIiBjb250ZW50PSJTdXBwbGVtZW50IHRvOiBKb2hhbnNzb24sIEUgZXQgYWwuICgyMDE1KTogSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIHBlcmlnbGFjaWFsIGxha2UgY2F0Y2htZW50IG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQgLSBwcmVzZW50YXRpb24gb2YgYSBuZXcgbXVsdGktcGFyYW1ldGVyIGRhdGEgc2V0LiBFYXJ0aCBTeXN0ZW0gU2NpZW5jZSBEYXRhLCA3KDEpLCA5My0xMDgsIGh0dHBzOi8vZG9pLm9yZy8xMC41MTk0L2Vzc2QtNy05My0yMDE1IiAvPgo8bWV0YSBuYW1lPSJEQy5kYXRlIiBjb250ZW50PSIyMDE0LTA5LTI1IiBzY2hlbWU9IkRDVEVSTVMuVzNDRFRGIiAvPgo8bWV0YSBuYW1lPSJEQy50eXBlIiBjb250ZW50PSJEYXRhc2V0IiAvPgo8bWV0YSBuYW1lPSJEQy5sYW5ndWFnZSIgY29udGVudD0iZW4iIHNjaGVtZT0iRENURVJNUy5SRkMzMDY2IiAvPgo8bWV0YSBuYW1lPSJEQ1RFUk1TLmxpY2Vuc2UiIHNjaGVtZT0iRENURVJNUy5VUkkiIGNvbnRlbnQ9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8iIC8+CjxtZXRhIG5hbWU9IkRDLmlkZW50aWZpZXIiIGNvbnRlbnQ9Imh0dHBzOi8vZG9pLm9yZy8xMC4xNTk0L1BBTkdBRUEuODM2MTc4IiBzY2hlbWU9IkRDVEVSTVMuVVJJIiAvPgo8bWV0YSBuYW1lPSJEQy5mb3JtYXQiIGNvbnRlbnQ9ImFwcGxpY2F0aW9uL3ppcCwgNTY2My4wIGtCeXRlcyIgLz4KPG1ldGEgbmFtZT0iREMucmVsYXRpb24iIGNvbnRlbnQ9Ik1hcCBvZiBUd28gQm9hdCBMYWtlIGluIEdyZWVubGFuZCAoanBnIDEzIE1CKSB3aXRoIHBvc2l0aW9uIG9mIHNhbXBsaW5nIHNpdGVzIChVUkk6IGh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvdHdvYm9hdGxha2VfZ3JlZW5sYW5kLmpwZykiIC8+CjxtZXRhIG5hbWU9IkRDLnJlbGF0aW9uIiBjb250ZW50PSJUaW1lIGxhcHMgcGhvdG9zIG9mIGxha2UgMjAxMi0wOS0wNSB0byAyMDEzLTA4LTE0IChtb3YgZmlsZSwgemlwcGVkIDIwNSBNQikgKFVSSTogaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9UaW1lbGFwc2VfVEJMLnppcCkiIC8+CjwhLS1FTkQ6IER1YmxpbiBDb3JlIGRlc2NyaXB0aW9uLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9qcz92PTMmYW1wO2xhbmd1YWdlPWVuJmFtcDtrZXk9QUl6YVN5RFNpVmpQUzVZdmFuWnNFSDRSdkswZ0VyNDZVby0xckNRIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8qPCFbQ0RBVEFbKi9qUXVlcnkoZnVuY3Rpb24oJCkgeyByZXR1cm4gaW5pdGlhbGl6ZVNtYWxsRGF0YXNldEdNYXAoODM2MTc4LCdoYXNoPTM0MjY2OWYxMmVkNGE2NGM0YzNiM2I3MzE0ODQ2ODcxJyxuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nQm91bmRzKG5ldyBnb29nbGUubWFwcy5MYXRMbmcoNjcuMTI1OTQsLTUwLjE4MDM3KSxuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKDY3LjEyNTk0LC01MC4xODAzNykpLHVuZGVmaW5lZCk7IH0pOy8qXV0+Ki88L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy9kMWJ4aDh1YXMxbW53Ny5jbG91ZGZyb250Lm5ldC9hc3NldHMvZW1iZWQuanMiPjwvc2NyaXB0Pgo8bGluayByZWw9ImNpdGUtYXMiIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC4xNTk0L1BBTkdBRUEuODM2MTc4Ij4KPGxpbmsgcmVsPSJkZXNjcmliZWRieSIgaHJlZj0iaHR0cHM6Ly9kb2kucGFuZ2FlYS5kZS8xMC4xNTk0L1BBTkdBRUEuODM2MTc4P2Zvcm1hdD1tZXRhZGF0YV9qc29ubGQiIHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgo8bGluayByZWw9ImRlc2NyaWJlZGJ5IiBocmVmPSJodHRwczovL2RvaS5wYW5nYWVhLmRlLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg/Zm9ybWF0PWNpdGF0aW9uX3JpcyIgdHlwZT0iYXBwbGljYXRpb24veC1yZXNlYXJjaC1pbmZvLXN5c3RlbXMiPgo8bGluayByZWw9ImRlc2NyaWJlZGJ5IiBocmVmPSJodHRwczovL2RvaS5wYW5nYWVhLmRlLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg/Zm9ybWF0PWNpdGF0aW9uX2JpYnRleCIgdHlwZT0iYXBwbGljYXRpb24veC1iaWJ0ZXgiPgo8bGluayByZWw9Iml0ZW0iIGhyZWY9Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvam9oYW5zc29uX2V0YWwtMjAxNC56aXAiIHR5cGU9ImFwcGxpY2F0aW9uL3ppcCI+CjxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDEtNjA1OC0xNDY2Ij4KPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj57IkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmcvIiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiLCJAdHlwZSI6IkRhdGFzZXQiLCJpZGVudGlmaWVyIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiLCJ1cmwiOiJodHRwczovL2RvaS5wYW5nYWVhLmRlLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiLCJjcmVhdG9yIjpbeyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJKb2hhbnNzb24iLCJnaXZlbk5hbWUiOiJFbW1hIiwiZW1haWwiOiJlbW1hLmpvaGFuc3NvbkBza2Iuc2UifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkJlcmdsdW5kIiwiZ2l2ZW5OYW1lIjoiU3RlbiJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiTGluZGJvcmciLCJnaXZlbk5hbWUiOiJUb2JpYXMiLCJlbWFpbCI6InRvYmlhcy5saW5kYm9yZ0Bza2Iuc2UifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IlBldHJvbmUiLCJnaXZlbk5hbWUiOiJKb2hhbm5lcyIsImVtYWlsIjoiam9oYW5uZXMucGV0cm9uZUBza2Iuc2UifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6InZhbiBBcyIsImdpdmVuTmFtZSI6IkRpcmsifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6Ikd1c3RhZnNzb24iLCJnaXZlbk5hbWUiOiJMYXJzLUfDtnJhbiJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiTsOkc2x1bmQiLCJnaXZlbk5hbWUiOiJKZW5zLU92ZSJ9LHsiQGlkIjoiaHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiIsIkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkxhdWRvbiIsImdpdmVuTmFtZSI6IkhqYWxtYXIiLCJpZGVudGlmaWVyIjoiaHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiJ9XSwibmFtZSI6Ikh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBsYWtlIG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQiLCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiUEFOR0FFQSIsImRpc2FtYmlndWF0aW5nRGVzY3JpcHRpb24iOiJEYXRhIFB1Ymxpc2hlciBmb3IgRWFydGggJiBFbnZpcm9ubWVudGFsIFNjaWVuY2UiLCJ1cmwiOiJodHRwczovL3d3dy5wYW5nYWVhLmRlLyJ9LCJpbmNsdWRlZEluRGF0YUNhdGFsb2ciOnsiQHR5cGUiOiJEYXRhQ2F0YWxvZyIsIm5hbWUiOiJQQU5HQUVBIiwiZGlzYW1iaWd1YXRpbmdEZXNjcmlwdGlvbiI6IkRhdGEgUHVibGlzaGVyIGZvciBFYXJ0aCAmIEVudmlyb25tZW50YWwgU2NpZW5jZSIsInVybCI6Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvIn0sImRhdGVQdWJsaXNoZWQiOiIyMDE0LTA5LTI1IiwiaXNQYXJ0T2YiOnsiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjUxOTQvZXNzZC03LTkzLTIwMTUiLCJAdHlwZSI6IlB1YmxpY2F0aW9uSXNzdWUiLCJpZGVudGlmaWVyIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjUxOTQvZXNzZC03LTkzLTIwMTUiLCJ1cmwiOiJodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIsImNyZWF0b3IiOlt7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkpvaGFuc3NvbiIsImdpdmVuTmFtZSI6IkVtbWEiLCJlbWFpbCI6ImVtbWEuam9oYW5zc29uQHNrYi5zZSJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiQmVyZ2x1bmQiLCJnaXZlbk5hbWUiOiJTdGVuIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJMaW5kYm9yZyIsImdpdmVuTmFtZSI6IlRvYmlhcyIsImVtYWlsIjoidG9iaWFzLmxpbmRib3JnQHNrYi5zZSJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiUGV0cm9uZSIsImdpdmVuTmFtZSI6IkpvaGFubmVzIiwiZW1haWwiOiJqb2hhbm5lcy5wZXRyb25lQHNrYi5zZSJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoidmFuIEFzIiwiZ2l2ZW5OYW1lIjoiRGlyayJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiR3VzdGFmc3NvbiIsImdpdmVuTmFtZSI6IkxhcnMtR8O2cmFuIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJOw6RzbHVuZCIsImdpdmVuTmFtZSI6IkplbnMtT3ZlIn0seyJAaWQiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDEtNjA1OC0xNDY2IiwiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiTGF1ZG9uIiwiZ2l2ZW5OYW1lIjoiSGphbG1hciIsImlkZW50aWZpZXIiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDEtNjA1OC0xNDY2In1dLCJuYW1lIjoiSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIHBlcmlnbGFjaWFsIGxha2UgY2F0Y2htZW50IG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQgLSBwcmVzZW50YXRpb24gb2YgYSBuZXcgbXVsdGktcGFyYW1ldGVyIGRhdGEgc2V0IiwiZGF0ZVB1Ymxpc2hlZCI6IjIwMTUiLCJpc3N1ZU51bWJlciI6IjcoMSkiLCJwYWdpbmF0aW9uIjoiOTMtMTA4IiwiaXNQYXJ0T2YiOnsiQHR5cGUiOiJDcmVhdGl2ZVdvcmtTZXJpZXMiLCJuYW1lIjoiRWFydGggU3lzdGVtIFNjaWVuY2UgRGF0YSJ9fSwiZGVzY3JpcHRpb24iOiJGZXcgaHlkcm9sb2dpY2FsIHN0dWRpZXMgaGF2ZSBiZWVuIG1hZGUgaW4gR3JlZW5sYW5kLCBvdGhlciB0aGFuIG9uIGdsYWNpYWwgaHlkcm9sb2d5IGFzc29jaWF0ZWQgd2l0aCB0aGUgaWNlIHNoZWV0LiBVbmRlcnN0YW5kaW5nIHBlcm1hZnJvc3QgaHlkcm9sb2d5IGFuZCBoeWRyb2NsaW1hdGljIGNoYW5nZSBhbmQgdmFyaWFiaWxpdHksIGhvd2V2ZXIsIHByb3ZpZGVzIGtleSBpbmZvcm1hdGlvbiBmb3IgdW5kZXJzdGFuZGluZyBjbGltYXRlIGNoYW5nZSBlZmZlY3RzIGFuZCBmZWVkYmFja3MgaW4gdGhlIEFyY3RpYyBsYW5kc2NhcGUuIFRoaXMgcGFwZXIgcHJlc2VudHMgYSBuZXcgZXh0ZW5zaXZlIGFuZCBkZXRhaWxlZCBoeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIG9wZW4gYWNjZXNzIGRhdGFzZXQsIHdpdGggaGlnaCB0ZW1wb3JhbCByZXNvbHV0aW9uIGZyb20gYSAxLjU2IGttKioyIHBlcm1hZnJvc3QgY2F0Y2htZW50IHdpdGggYSBsYWtlIHVuZGVybGFpbiBieSBhIHRocm91Z2ggdGFsaWsgY2xvc2UgdG8gdGhlIGljZSBzaGVldCBpbiB0aGUgS2FuZ2VybHVzc3VhcSByZWdpb24sIHdlc3Rlcm4gR3JlZW5sYW5kLiBUaGUgcGFwZXIgZGVzY3JpYmVzIHRoZSBoeWRyb2xvZ2ljYWwgc2l0ZSBpbnZlc3RpZ2F0aW9ucyBhbmQgdXRpbGl6ZWQgZXF1aXBtZW50LCBhcyB3ZWxsIGFzIHRoZSBkYXRhIGNvbGxlY3Rpb24gYW5kIHByb2Nlc3NpbmcuIFRoZSBpbnZlc3RpZ2F0aW9ucyB3ZXJlIHBlcmZvcm1lZCBiZXR3ZWVuIDIwMTAgYW5kIDIwMTMuIFRoZSBoaWdoIHNwYXRpYWwgcmVzb2x1dGlvbiwgd2l0aGluIHRoZSBpbnZlc3RpZ2F0ZWQgYXJlYSwgb2YgdGhlIGRhdGFzZXQgbWFrZXMgaXQgaGlnaGx5IHN1aXRhYmxlIGZvciB2YXJpb3VzIGRldGFpbGVkIGh5ZHJvbG9naWNhbCBhbmQgZWNvbG9naWNhbCBzdHVkaWVzIG9uIGNhdGNobWVudCBzY2FsZS4iLCJjaXRhdGlvbiI6W3siQGlkIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC90d29ib2F0bGFrZV9ncmVlbmxhbmQuanBnIiwiQHR5cGUiOiJXZWJQYWdlIiwiaWRlbnRpZmllciI6Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvdHdvYm9hdGxha2VfZ3JlZW5sYW5kLmpwZyIsInVybCI6Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvdHdvYm9hdGxha2VfZ3JlZW5sYW5kLmpwZyIsIm5hbWUiOiJNYXAgb2YgVHdvIEJvYXQgTGFrZSBpbiBHcmVlbmxhbmQgKGpwZyAxMyBNQikgd2l0aCBwb3NpdGlvbiBvZiBzYW1wbGluZyBzaXRlcyJ9LHsiQGlkIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9UaW1lbGFwc2VfVEJMLnppcCIsIkB0eXBlIjoiV2ViUGFnZSIsImlkZW50aWZpZXIiOiJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L1RpbWVsYXBzZV9UQkwuemlwIiwidXJsIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9UaW1lbGFwc2VfVEJMLnppcCIsIm5hbWUiOiJUaW1lIGxhcHMgcGhvdG9zIG9mIGxha2UgMjAxMi0wOS0wNSB0byAyMDEzLTA4LTE0IChtb3YgZmlsZSwgemlwcGVkIDIwNSBNQikifV0sInNwYXRpYWxDb3ZlcmFnZSI6eyJAdHlwZSI6IlBsYWNlIiwiZ2VvIjp7IkB0eXBlIjoiR2VvQ29vcmRpbmF0ZXMiLCJsYXRpdHVkZSI6NjcuMTI1OTQsImxvbmdpdHVkZSI6LTUwLjE4MDM3fX0sImluTGFuZ3VhZ2UiOiJlbiIsImxpY2Vuc2UiOiJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvIiwia2V5d29yZHMiOiJAc3VwcGxlbWVudDsgQGNpdGFibGU7IEBjaXRhYmxlV2l0aENoaWxkczsgQGF1dGhvcjUyODQ1OyBAYXV0aG9yNTI4NDY7IEBhdXRob3I1Mjg0NzsgQGF1dGhvcjUyODQ4OyBAYXV0aG9yNTI4NDk7IEBhdXRob3I1Mjg1MDsgQGF1dGhvcjUyODUxOyBAYXV0aG9yNTI4NTI7IEBldmVudDI3NDU5Nzc7IEB0ZXJtMzEyMjM7IEBnZW9jb2RlMTYwMDsgQGdlb2NvZGUxNjAxOyBAam91cm5hbDE2NTkwOyBAbGljZW5zZTE7IEBwcm9qZWN0NDIyNjsgQHJlZjY1NDA4OyBAcmVmNjU0MzU7IEByZWY2NTQ3NzsgQHRvcG90eXBlMiIsImRpc3RyaWJ1dGlvbiI6eyJAdHlwZSI6IkRhdGFEb3dubG9hZCIsImZpbGVGb3JtYXQiOiJhcHBsaWNhdGlvbi96aXAiLCJjb250ZW50VXJsIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9qb2hhbnNzb25fZXRhbC0yMDE0LnppcCJ9fTwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Lyo8IVtDREFUQVsqLw0KKGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpew0KKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksDQptPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pDQp9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJy8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsJ2dhJyk7DQpnYSgnY3JlYXRlJywgJ1VBLTMwNjI0MTUwLTEnLCAncGFuZ2FlYS5kZScpOw0KZ2EoJ3NldCcsICdhbm9ueW1pemVJcCcsIHRydWUpOw0KZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsNCi8qXV0+Ki88L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5IGNsYXNzPSJob21lcGFnZS1sYXlvdXQiPg0KPGRpdiBpZD0iaGVhZGVyLXdyYXBwZXIiPg0KICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPg0KICAgIDxoZWFkZXIgY2xhc3M9InJvdyI+PCEtLSB2b2xsZSBTY3JlZW4tQnJlaXRlIC0tPg0KICAgICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj48IS0tIG1heC4gQnJlaXRlIC0tPg0KICAgICAgICA8ZGl2IGlkPSJsb2dpbi1hcmVhLXdyYXBwZXIiIGNsYXNzPSJoaWRkZW4tcHJpbnQiPjxkaXYgaWQ9ImxvZ2luLWFyZWEiPjxzcGFuIGlkPSJ1c2VyLW5hbWUiPk5vdCBsb2dnZWQgaW48L3NwYW4+PGEgaWQ9InNpZ251cC1idXR0b24iIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXBsdXMtc2lnbiBzZWxmLXJlZmVyZXItbGluayIgdGl0bGU9IlNpZ24gVXAgLyBDcmVhdGUgQWNjb3VudCIgYXJpYS1sYWJlbD0iU2lnbiB1cCIgdGFyZ2V0PSJfc2VsZiIgcmVsPSJub2ZvbGxvdyIgaHJlZj0iaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS91c2VyL3NpZ251cC5waHA/cmVmZXJlcj1odHRwcyUzQSUyRiUyRnd3dy5wYW5nYWVhLmRlJTJGIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3d3dy5wYW5nYWVhLmRlL3VzZXIvc2lnbnVwLnBocD9yZWZlcmVyPSN1IyI+PC9hPjxhIGlkPSJsb2dpbi1idXR0b24iIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWxvZy1pbiBzZWxmLXJlZmVyZXItbGluayIgdGl0bGU9IkxvZyBJbiIgYXJpYS1sYWJlbD0iTG9nIGluIiB0YXJnZXQ9Il9zZWxmIiByZWw9Im5vZm9sbG93IiBocmVmPSJodHRwczovL3d3dy5wYW5nYWVhLmRlL3VzZXIvbG9naW4ucGhwP3JlZmVyZXI9aHR0cHMlM0ElMkYlMkZ3d3cucGFuZ2FlYS5kZSUyRiIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS91c2VyL2xvZ2luLnBocD9yZWZlcmVyPSN1IyI+PC9hPjwvZGl2PjwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJibGluZHNwYWx0ZSBoZWFkZXItYmxvY2sgY29sLWxnLTMgY29sLW1kLTQiPjwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBpZD0iaGVhZGVyLWxvZ28tYmxvY2siIGNsYXNzPSJoZWFkZXItYmxvY2sgY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTQgY29sLXhzLTgiPg0KICAgICAgICAgIDxkaXYgaWQ9InBhbmdhZWEtbG9nbyI+DQogICAgICAgICAgICA8YSB0aXRsZT0iUEFOR0FFQSBob21lIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlLyIgY2xhc3M9ImhvbWUtbGluayI+PGltZyBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuMzAzZjMxZGRiNzNmMGU5ODUwODJlZjU2ZmFjNjhhYTgvbGF5b3V0LWltYWdlcy9wYW5nYWVhLWxvZ28ucG5nIiBhbHQ9IlBBTkdBRUEgaG9tZSI+PC9hPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgaWQ9ImhlYWRlci1taWQtYmxvY2siIGNsYXNzPSJoZWFkZXItYmxvY2sgY29sLWxnLTEyIGNvbC1tZC05IGNvbC1zbS0yMCBjb2wteHMtMTYiPg0KICAgICAgICAgIDxkaXYgaWQ9InBhbmdhZWEtbG9nby1oZWFkbGluZSI+DQogICAgICAgICAgICBQQU5HQUVBPHNwYW4gY2xhc3M9InB1bmt0Ij4uPC9zcGFuPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxkaXYgaWQ9InBhbmdhZWEtbG9nby1zbG9nYW4iPg0KICAgICAgICAgICAgPHNwYW4+RGF0YSBQdWJsaXNoZXIgZm9yIEVhcnRoICZhbXA7IDwvc3Bhbj48c3BhbiBjbGFzcz0ibm93cmFwIj5FbnZpcm9ubWVudGFsIFNjaWVuY2U8L3NwYW4+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdiBpZD0ic2VhcmNoLWFyZWEtaGVhZGVyIiBjbGFzcz0icm93Ij48L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGlkPSJoZWFkZXItbWFpbi1tZW51LWJsb2NrIiBjbGFzcz0iaGVhZGVyLWJsb2NrIGhpZGRlbi1wcmludCBjb2wtbGctNiBjb2wtbWQtNyBjb2wtc20tMjQgY29sLXhzLTI0Ij4NCiAgICAgICAgICA8bmF2IGlkPSJtYWluLW5hdiI+DQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgIDxsaSBpZD0ibWVudS1zZWFyY2giPg0KICAgICAgICAgICAgICAgIDwhLS0gY2xhc3Mgb24gbGluayBpcyBpbXBvcnRhbnQsIGRvbid0IGNoYW5nZSEhISAtLT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlLyIgY2xhc3M9ImhvbWUtbGluayI+U2VhcmNoPC9hPg0KICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICA8bGkgaWQ9Im1lbnUtc3VibWl0Ij4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL3N1Ym1pdC8iPlN1Ym1pdDwvYT4NCiAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgPGxpIGlkPSJtZW51LWFib3V0Ij4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0LyI+QWJvdXQ8L2E+DQogICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgIDxsaSBpZD0ibWVudS1jb250YWN0Ij4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2NvbnRhY3QvIj5Db250YWN0PC9hPg0KICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICA8L25hdj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9oZWFkZXI+DQogIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGlkPSJmbGV4LXdyYXBwZXIiPg0KPGRpdiBpZD0ibWFpbi1jb250YWluZXIiIGNsYXNzPSJjb250YWluZXItZmx1aWQiPg0KPGRpdiBpZD0ibWFpbi1yb3ciIGNsYXNzPSJyb3cgbWFpbi1yb3ciPg0KPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImNvbC1sZy0yNCBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQo8ZGl2IGlkPSJkYXRhc2V0Ij4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0IGhpZGRlbi14cyBoaWRkZW4tc20iPjxkaXYgY2xhc3M9InRpdGxlIGNpdGF0aW9uIj5DaXRhdGlvbjo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IgdG9wLWJvcmRlciI+PGRpdiBpZD0iZ21hcC1kYXRhc2V0LXdyYXBwZXIiIGNsYXNzPSJnbWFwLXdyYXBwZXIgaGlkZGVuLXByaW50IGNvbC1sZy04IGNvbC1tZC04IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImVtYmVkLXJlc3BvbnNpdmUgZW1iZWQtcmVzcG9uc2l2ZS00YnkzIj48ZGl2IGlkPSJnbWFwLWRhdGFzZXQiIGNsYXNzPSJlbWJlZC1yZXNwb25zaXZlLWl0ZW0iPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxoMSBjbGFzcz0iTWV0YUhlYWRlckl0ZW0gY2l0YXRpb24iPjxzdHJvbmc+PGEgY2xhc3M9InBvcG92ZXItbGluayBsaW5rLXVuc3R5bGVkIiBocmVmPSIjIiBkYXRhLXRpdGxlPSImbHQ7c3BhbiZndDtKb2hhbnNzb24sIEVtbWEmbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdKb2hhbnNzb24sIEVtbWEnLi4uJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0pvaGFuc3NvbiwgRW1tYScmcXVvdDsgaHJlZj0mcXVvdDsvL3d3dy5wYW5nYWVhLmRlLz9xPWF1dGhvciUzQWVtYWlsJTNBZW1tYS5qb2hhbnNzb24lNDBza2Iuc2UmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDthIGNsYXNzPSZxdW90O21haWwtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyBocmVmPSZxdW90O21haWx0bzplbW1hLmpvaGFuc3NvbkBza2Iuc2UmcXVvdDsmZ3Q7ZW1tYS5qb2hhbnNzb25Ac2tiLnNlJmx0Oy9hJmd0OyZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiPkpvaGFuc3NvbiwgRW1tYTwvYT47IEJlcmdsdW5kLCBTdGVuOyA8YSBjbGFzcz0icG9wb3Zlci1saW5rIGxpbmstdW5zdHlsZWQiIGhyZWY9IiMiIGRhdGEtdGl0bGU9IiZsdDtzcGFuJmd0O0xpbmRib3JnLCBUb2JpYXMmbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdMaW5kYm9yZywgVG9iaWFzJy4uLiZxdW90OyBhcmlhLWxhYmVsPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdMaW5kYm9yZywgVG9iaWFzJyZxdW90OyBocmVmPSZxdW90Oy8vd3d3LnBhbmdhZWEuZGUvP3E9YXV0aG9yJTNBZW1haWwlM0F0b2JpYXMubGluZGJvcmclNDBza2Iuc2UmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDthIGNsYXNzPSZxdW90O21haWwtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyBocmVmPSZxdW90O21haWx0bzp0b2JpYXMubGluZGJvcmdAc2tiLnNlJnF1b3Q7Jmd0O3RvYmlhcy5saW5kYm9yZ0Bza2Iuc2UmbHQ7L2EmZ3Q7Jmx0Oy9kaXYmZ3Q7JiMxMDsmbHQ7L2RpdiZndDsmIzEwOyI+TGluZGJvcmcsIFRvYmlhczwvYT47IDxhIGNsYXNzPSJwb3BvdmVyLWxpbmsgbGluay11bnN0eWxlZCIgaHJlZj0iIyIgZGF0YS10aXRsZT0iJmx0O3NwYW4mZ3Q7UGV0cm9uZSwgSm9oYW5uZXMmbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdQZXRyb25lLCBKb2hhbm5lcycuLi4mcXVvdDsgYXJpYS1sYWJlbD0mcXVvdDtTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnUGV0cm9uZSwgSm9oYW5uZXMnJnF1b3Q7IGhyZWY9JnF1b3Q7Ly93d3cucGFuZ2FlYS5kZS8/cT1hdXRob3IlM0FlbWFpbCUzQWpvaGFubmVzLnBldHJvbmUlNDBza2Iuc2UmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDthIGNsYXNzPSZxdW90O21haWwtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyBocmVmPSZxdW90O21haWx0bzpqb2hhbm5lcy5wZXRyb25lQHNrYi5zZSZxdW90OyZndDtqb2hhbm5lcy5wZXRyb25lQHNrYi5zZSZsdDsvYSZndDsmbHQ7L2RpdiZndDsmIzEwOyZsdDsvZGl2Jmd0OyYjMTA7Ij5QZXRyb25lLCBKb2hhbm5lczwvYT47IHZhbiBBcywgRGlyazsgR3VzdGFmc3NvbiwgTGFycy1Hw7ZyYW47IE7DpHNsdW5kLCBKZW5zLU92ZTsgPGEgY2xhc3M9InBvcG92ZXItbGluayBsaW5rLXVuc3R5bGVkIiBocmVmPSIjIiBkYXRhLXRpdGxlPSImbHQ7c3BhbiZndDtMYXVkb24sIEhqYWxtYXImbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdMYXVkb24sIEhqYWxtYXInLi4uJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0xhdWRvbiwgSGphbG1hcicmcXVvdDsgaHJlZj0mcXVvdDsvL3d3dy5wYW5nYWVhLmRlLz9xPWF1dGhvciUzQW9yY2lkJTNBMDAwMC0wMDAxLTYwNTgtMTQ2NiZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7b3JjaWQtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiZxdW90OyZndDtodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDEtNjA1OC0xNDY2Jmx0Oy9hJmd0OyZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiPkxhdWRvbiwgSGphbG1hcjwvYT4gKDIwMTQpOjwvc3Ryb25nPiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kLiA8ZW0+UEFOR0FFQTwvZW0+LCA8YSByZWw9Im5vZm9sbG93IGJvb2ttYXJrIiBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuMTU5NC9QQU5HQUVBLjgzNjE3OCIgZGF0YS10aXRsZT0iJmx0O3NwYW4mZ3Q7UGVyc2lzdGVudCBET0kgTmFtZSZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiBjbGFzcz0mcXVvdDtsaW5rLWRlc2NyaXB0aW9uJnF1b3Q7Jmd0OyZsdDtwJmd0O0EgJmx0O2EgaHJlZj0mcXVvdDtodHRwczovL2RvaS5vcmcvJnF1b3Q7IGNsYXNzPSZxdW90O2RvaS1saW5rJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsmZ3Q7RE9JIG5hbWUmbHQ7L2EmZ3Q7IHNoYWxsIGJlIHVzZWQgdG8gY2l0ZSBhbmQgbGluayBQQU5HQUVBIGRhdGEgc2V0cy4mbHQ7L3AmZ3Q7JiMxMDsmbHQ7cCZndDtBICZsdDtiJmd0O0RPSSBuYW1lJmx0Oy9iJmd0OyBpcyBndWFyYW50ZWVkIHRvIG5ldmVyIGNoYW5nZSwgc28geW91IGNhbiB1c2UgaXQgdG8gbGluayBwZXJtYW5lbnRseSB0byBkYXRhIHNldHMgb3IgZG9jdW1lbnRzLiAmbHQ7YiZndDtJZiB5b3Ugd2FudCB0byBjaXRlIHRoaXMgZGF0YSBzZXQsIHVzZSB0aGUgZnVsbCBjaXRhdGlvbiBhbmQgYWRkIHRoaXMgbGluayBhcyBhIHBlcnNpc3RlbnQgcmVmZXJlbmNlLiZsdDsvYiZndDsmbHQ7L3AmZ3Q7JiMxMDsmbHQ7ZGl2Jmd0O1lvdSBtYXkgdXNlIHlvdXIgYnJvd3NlcidzICZsdDtjb2RlJmd0O2NvcHkgbGluayBsb2NhdGlvbiZsdDsvY29kZSZndDsgZnVuY3Rpb25hbGl0eSB0byByZXRyaWV2ZSB0aGUgbGluayEgWW91IGNhbiBhbHNvIGRvd25sb2FkIHRoZSBjaXRhdGlvbiBpbiBzZXZlcmFsIGZvcm1hdHMgb24gdGhpcyBwYWdlLiZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiIGNsYXNzPSJ0ZXh0LWxpbmt3cmFwIHBvcG92ZXItbGluayBkb2ktbGluayI+aHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg8L2E+LDxociBjbGFzcz0ic3BhY2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgLz4KPGVtPlN1cHBsZW1lbnQgdG86PC9lbT4gSm9oYW5zc29uLCBFIGV0IGFsLiAoMjAxNSk6IEh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBwZXJpZ2xhY2lhbCBsYWtlIGNhdGNobWVudCBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIC0gcHJlc2VudGF0aW9uIG9mIGEgbmV3IG11bHRpLXBhcmFtZXRlciBkYXRhIHNldC4gPGVtPkVhcnRoIFN5c3RlbSBTY2llbmNlIERhdGE8L2VtPiwgPHN0cm9uZz43KDEpPC9zdHJvbmc+LCA5My0xMDgsIDxhIGNsYXNzPSJ0ZXh0LWxpbmt3cmFwIGRvaS1saW5rIiBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZG9pLm9yZy8xMC41MTk0L2Vzc2QtNy05My0yMDE1PC9hPjwvaDE+CjxwIGNsYXNzPSJob3d0b2NpdGUiPjxzbWFsbD48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1idWxsaG9ybiI+PC9zcGFuPiA8c3Ryb25nPkFsd2F5cyBxdW90ZSBhYm92ZSBjaXRhdGlvbiB3aGVuIHVzaW5nIGRhdGEhPC9zdHJvbmc+IFlvdSBjYW4gZG93bmxvYWQgdGhlIGNpdGF0aW9uIGluIHNldmVyYWwgZm9ybWF0cyBiZWxvdy48L3NtYWxsPjwvcD4KPHAgY2xhc3M9ImRhdGEtYnV0dG9ucyI+PGEgcmVsPSJub2ZvbGxvdyBkZXNjcmliZWRieSIgdGl0bGU9IkV4cG9ydCBjaXRhdGlvbiB0byBSZWZlcmVuY2UgTWFuYWdlciwgRW5kTm90ZSwgUHJvQ2l0ZSIgaHJlZj0iP2Zvcm1hdD1jaXRhdGlvbl9yaXMiIGNsYXNzPSJhY3Rpb25idXR0b25saW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj5SSVMgQ2l0YXRpb248L3NwYW4+PC9hPjxhIHJlbD0ibm9mb2xsb3cgZGVzY3JpYmVkYnkiIHRpdGxlPSJFeHBvcnQgY2l0YXRpb24gdG8gQmliVGVYIiBocmVmPSI/Zm9ybWF0PWNpdGF0aW9uX2JpYnRleCIgY2xhc3M9ImFjdGlvbmJ1dHRvbmxpbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPjxzcGFuIHN0eWxlPSJmb250LXZhcmlhbnQ6c21hbGwtY2FwczsiPkJpYlRlWDwvc3Bhbj4gQ2l0YXRpb248L3NwYW4+PC9hPjxhIHJlbD0ibm9mb2xsb3ciIHRpdGxlPSJFeHBvcnQgY2l0YXRpb24gYXMgcGxhaW4gdGV4dCIgaHJlZj0iP2Zvcm1hdD1jaXRhdGlvbl90ZXh0IiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImFjdGlvbmJ1dHRvbmxpbmsgc2hhcmUtbGluayI+PHNwYW4gY2xhc3M9ImFjdGlvbmJ1dHRvbiI+VGV4dCBDaXRhdGlvbjwvc3Bhbj48L2E+PHNwYW4gY2xhc3M9InNlcGFyYXRvciI+PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJzZWxmLXJlZmVyZXItbGluayBzaGFyZS1saW5rIGFjdGlvbmJ1dHRvbmxpbmsiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvbm9qcy5waHAiIGRhdGEtdGVtcGxhdGU9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIucGhwP3U9I3UjJmFtcDt0PSN0IyIgdGl0bGU9IlNoYXJlIGRhdGFzZXQgb24gRmFjZWJvb2siIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zaGFyZSI+PC9zcGFuPiBGYWNlYm9vazwvc3Bhbj48L2E+PGEgcmVsPSJub2ZvbGxvdyIgY2xhc3M9InNlbGYtcmVmZXJlci1saW5rIHNoYXJlLWxpbmsgYWN0aW9uYnV0dG9ubGluayIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9ub2pzLnBocCIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPSN1IyZhbXA7dGV4dD0jdCMiIHRpdGxlPSJTaGFyZSBkYXRhc2V0IG9uIFR3aXR0ZXIiIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zaGFyZSI+PC9zcGFuPiBUd2l0dGVyPC9zcGFuPjwvYT48YSByZWw9Im5vZm9sbG93IiBjbGFzcz0ic2VsZi1yZWZlcmVyLWxpbmsgc2hhcmUtbGluayBhY3Rpb25idXR0b25saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3BsdXMuZ29vZ2xlLmNvbS9zaGFyZT91cmw9I3UjJmFtcDtobD1lbiIgdGl0bGU9IlNoYXJlIGRhdGFzZXQgb24gR29vZ2xlKyIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNoYXJlIj48L3NwYW4+IEdvb2dsZSs8L3NwYW4+PC9hPjxzcGFuIGNsYXNzPSJzZXBhcmF0b3IiPjwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkRpc3BsYXkgZXZlbnRzIGluIG1hcCIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9hZHZhbmNlZC9nbWFwLWRhdGFzZXQucGhwP2lkPTgzNjE3OCZhbXA7dmlld3BvcnRCQk9YPS01MC4xODAzNyw2Ny4xMjU5NCwtNTAuMTgwMzcsNjcuMTI1OTQiIGNsYXNzPSJhY3Rpb25idXR0b25saW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj5TaG93IE1hcDwvc3Bhbj48L2E+PGEgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IkRpc3BsYXkgZXZlbnRzIGluIEdvb2dsZSBFYXJ0aCIgaHJlZj0iP2Zvcm1hdD1ldmVudHNfa21sIiBjbGFzcz0iYWN0aW9uYnV0dG9ubGluayI+PHNwYW4gY2xhc3M9ImFjdGlvbmJ1dHRvbiI+R29vZ2xlIEVhcnRoPC9zcGFuPjwvYT48c3BhbiBjbGFzcz0ic2VwYXJhdG9yIj48L3NwYW4+PHNwYW4gZGF0YS1iYWRnZS10eXBlPSIxIiBkYXRhLWRvaT0iMTAuMTU5NC9QQU5HQUVBLjgzNjE3OCIgZGF0YS1iYWRnZS1wb3BvdmVyPSJyaWdodCIgZGF0YS1oaWRlLW5vLW1lbnRpb25zPSJ0cnVlIiBjbGFzcz0iYWx0bWV0cmljLWVtYmVkIj48L3NwYW4+PC9wPgo8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkFic3RyYWN0OjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckFic3RyYWN0Ij5GZXcgaHlkcm9sb2dpY2FsIHN0dWRpZXMgaGF2ZSBiZWVuIG1hZGUgaW4gR3JlZW5sYW5kLCBvdGhlciB0aGFuIG9uIGdsYWNpYWwgaHlkcm9sb2d5IGFzc29jaWF0ZWQgd2l0aCB0aGUgaWNlIHNoZWV0LiBVbmRlcnN0YW5kaW5nIHBlcm1hZnJvc3QgaHlkcm9sb2d5IGFuZCBoeWRyb2NsaW1hdGljIGNoYW5nZSBhbmQgdmFyaWFiaWxpdHksIGhvd2V2ZXIsIHByb3ZpZGVzIGtleSBpbmZvcm1hdGlvbiBmb3IgdW5kZXJzdGFuZGluZyBjbGltYXRlIGNoYW5nZSBlZmZlY3RzIGFuZCBmZWVkYmFja3MgaW4gdGhlIEFyY3RpYyBsYW5kc2NhcGUuIFRoaXMgcGFwZXIgcHJlc2VudHMgYSBuZXcgZXh0ZW5zaXZlIGFuZCBkZXRhaWxlZCBoeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIG9wZW4gYWNjZXNzIGRhdGFzZXQsIHdpdGggaGlnaCB0ZW1wb3JhbCByZXNvbHV0aW9uIGZyb20gYSAxLjU2IGttKioyIHBlcm1hZnJvc3QgY2F0Y2htZW50IHdpdGggYSBsYWtlIHVuZGVybGFpbiBieSBhIHRocm91Z2ggdGFsaWsgY2xvc2UgdG8gdGhlIGljZSBzaGVldCBpbiB0aGUgS2FuZ2VybHVzc3VhcSByZWdpb24sIHdlc3Rlcm4gR3JlZW5sYW5kLiBUaGUgcGFwZXIgZGVzY3JpYmVzIHRoZSBoeWRyb2xvZ2ljYWwgc2l0ZSBpbnZlc3RpZ2F0aW9ucyBhbmQgdXRpbGl6ZWQgZXF1aXBtZW50LCBhcyB3ZWxsIGFzIHRoZSBkYXRhIGNvbGxlY3Rpb24gYW5kIHByb2Nlc3NpbmcuIFRoZSBpbnZlc3RpZ2F0aW9ucyB3ZXJlIHBlcmZvcm1lZCBiZXR3ZWVuIDIwMTAgYW5kIDIwMTMuIFRoZSBoaWdoIHNwYXRpYWwgcmVzb2x1dGlvbiwgd2l0aGluIHRoZSBpbnZlc3RpZ2F0ZWQgYXJlYSwgb2YgdGhlIGRhdGFzZXQgbWFrZXMgaXQgaGlnaGx5IHN1aXRhYmxlIGZvciB2YXJpb3VzIGRldGFpbGVkIGh5ZHJvbG9naWNhbCBhbmQgZWNvbG9naWNhbCBzdHVkaWVzIG9uIGNhdGNobWVudCBzY2FsZS48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+RnVydGhlciBkZXRhaWxzOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0iPjxhIHRhcmdldD0iX3NlbGYiIGhyZWY9Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvdHdvYm9hdGxha2VfZ3JlZW5sYW5kLmpwZyI+TWFwIG9mIFR3byBCb2F0IExha2UgaW4gR3JlZW5sYW5kIChqcGcgMTMgTUIpIHdpdGggcG9zaXRpb24gb2Ygc2FtcGxpbmcgc2l0ZXM8L2E+PGEgY2xhc3M9InNlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiB0aXRsZT0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gdGhpcyBwdWJsaWNhdGlvbi4uLiIgYXJpYS1sYWJlbD0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gdGhpcyBwdWJsaWNhdGlvbiIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT0lNDByZWY2NTQ3NyI+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJNZXRhSGVhZGVySXRlbSI+PGEgdGFyZ2V0PSJfc2VsZiIgaHJlZj0iaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9UaW1lbGFwc2VfVEJMLnppcCI+VGltZSBsYXBzIHBob3RvcyBvZiBsYWtlIDIwMTItMDktMDUgdG8gMjAxMy0wOC0xNCAobW92IGZpbGUsIHppcHBlZCAyMDUgTUIpPC9hPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvIHRoaXMgcHVibGljYXRpb24uLi4iIGFyaWEtbGFiZWw9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvIHRoaXMgcHVibGljYXRpb24iIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvP3E9JTQwcmVmNjU0MDgiPjwvYT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+UHJvamVjdChzKTo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9Ik1ldGFIZWFkZXJJdGVtIj48c3Ryb25nPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3Byb2plY3QvR1JlZW5sYW5kLUFuYWxvZ3VlLVN1cmZhY2UtUHJvamVjdC1HUkFTUCI+R1JlZW5sYW5kIEFuYWxvZ3VlIFN1cmZhY2UgUHJvamVjdDwvYT48L3N0cm9uZz4gKEdSQVNQKTxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdHUmVlbmxhbmQgQW5hbG9ndWUgU3VyZmFjZSBQcm9qZWN0Jy4uLiIgYXJpYS1sYWJlbD0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0dSZWVubGFuZCBBbmFsb2d1ZSBTdXJmYWNlIFByb2plY3QnIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlLz9xPXByb2plY3QlM0FsYWJlbCUzQUdSQVNQIj48L2E+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkNvdmVyYWdlOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0gZ2VvIj48ZW0gY2xhc3M9InVuZmFyYmUiPkxhdGl0dWRlOiA8L2VtPjxzcGFuIGNsYXNzPSJsYXRpdHVkZSI+NjcuMTI1OTQwPC9zcGFuPjxlbSBjbGFzcz0idW5mYXJiZSI+ICogTG9uZ2l0dWRlOiA8L2VtPjxzcGFuIGNsYXNzPSJsb25naXR1ZGUiPi01MC4xODAzNzA8L3NwYW4+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkV2ZW50KHMpOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0gZ2VvIj48c3Ryb25nPlRCTDwvc3Ryb25nPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdUQkwnLi4uIiBhcmlhLWxhYmVsPSJTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnVEJMJyIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT1ldmVudCUzQWxhYmVsJTNBVEJMIj48L2E+PGVtIGNsYXNzPSJ1bmZhcmJlIj4gKiBMYXRpdHVkZTogPC9lbT48c3BhbiBjbGFzcz0ibGF0aXR1ZGUiPjY3LjEyNTk0MDwvc3Bhbj48ZW0gY2xhc3M9InVuZmFyYmUiPiAqIExvbmdpdHVkZTogPC9lbT48c3BhbiBjbGFzcz0ibG9uZ2l0dWRlIj4tNTAuMTgwMzcwPC9zcGFuPjxlbSBjbGFzcz0idW5mYXJiZSI+ICogTG9jYXRpb246IDwvZW0+PHNwYW4+VHdvIEJvYXQgTGFrZSwgS2FuZ2VybHVzc3VhcSwgR3JlZW5sYW5kPC9zcGFuPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdUd28gQm9hdCBMYWtlLCBLYW5nZXJsdXNzdWFxLCBHcmVlbmxhbmQnLi4uIiBhcmlhLWxhYmVsPSJTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnVHdvIEJvYXQgTGFrZSwgS2FuZ2VybHVzc3VhcSwgR3JlZW5sYW5kJyIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT1sb2NhdGlvbiUzQSUyMlR3bytCb2F0K0xha2UlMkMrS2FuZ2VybHVzc3VhcSUyQytHcmVlbmxhbmQlMjIiPjwvYT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+Q29tbWVudDo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9Ik1ldGFIZWFkZXJBYnN0cmFjdCI+VGhlIGRhdGFzZXQgY29udGFpbnMgaHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBkYXRhIGZyb20gYSBsYWtlIGNhdGNobWVudCBpbiB0aGUgS2FuZ2VybHVzc3VhcSByZWdpb24sIFdlc3Rlcm4gR3JlZW5sYW5kLiBUaGUgaW52ZXN0aWdhdGlvbnMgd2VyZSBwZXJmb3JtZWQgZHVyaW5nIDIwMTAtMjAxMyBhbmQgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIGFyZSBpbmNsdWRlZDogU29pbCBtb2lzdHVyZSwgU29pbCB0ZW1wZXJhdHVyZSwgSHlkcmF1bGljIHByb3BlcnRpZXMgb2YgdGhlIGFjdGl2ZSBsYXllciwgbWV0ZW9yb2xvZ2ljYWwgcGFyYW1ldGVycyBmcm9tIGEgbG9jYWwgd2VhdGhlciBzdGF0aW9uIHdpdGhpbiB0aGUgY2F0Y2htZW50LCB3YXRlciBsZXZlbHMgYW5kIGRpc2NoYXJnZSwgc3VibGltYXRpb24gYW5kIGV2YXBvcnRhdGlvbiBtZWFzdXJtZW50cywgc25vdyBkZXB0aCBhbmQgc25vdyB3YXRlciBjb250ZW50IGRhdGEgYW5kIHRpbWUgbGFwc2UgcGhvdG9zLjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5MaWNlbnNlOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0iPjxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8iIHJlbD0ibGljZW5zZSIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL3NoYXJlZC9waWNzL2xpY2Vuc2VzL0NDLUJZLnBuZyIgc3R5bGU9InZlcnRpY2FsLWFsaWduOmJhc2VsaW5lOyBib3JkZXItd2lkdGg6MDsiIGFsdD0iQ0MtQlkiIC8+IENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gMy4wIFVucG9ydGVkPC9hPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5TaXplOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0iPjU2NjMuMCBrQnl0ZXM8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0IGNvbC1sZy1vZmZzZXQtMyBjb2wtbWQtb2Zmc2V0LTQiPgo8ZGl2IGNsYXNzPSJ0ZXh0LWJsb2NrIHRvcC1ib3JkZXIiPgo8aDIgaWQ9ImRvd25sb2FkIj5Eb3dubG9hZCBEYXRhPC9oMj4KPHA+PGEgaHJlZj0iaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9qb2hhbnNzb25fZXRhbC0yMDE0LnppcCIgdGFyZ2V0PSJfc2VsZiI+RG93bmxvYWQgZGF0YXNldDwvYT48L3A+CjwvZGl2PjwvZGl2PjwvZGl2Pgo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBpZD0iZm9vdGVyLXdyYXBwZXIiIGNsYXNzPSJ0b3AtYm9yZGVyIGhpZGRlbi1wcmludCI+DQogIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+DQogICAgPGZvb3RlciBjbGFzcz0icm93Ij48IS0tIHZvbGxlIFNjcmVlbi1CcmVpdGUgLS0+DQogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPjwhLS0gbWF4LiBCcmVpdGUgLS0+DQogICAgICAgIDxkaXYgY2xhc3M9ImJsaW5kc3BhbHRlIGNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS00IGNvbC14cy00Ij48L2Rpdj4NCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyLWhvc3RlZC1ieS1hcmVhIiBjbGFzcz0iY29sLWxnLTE4IGNvbC1tZC05IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPSJjb2wtbGctMjQgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPi0tPg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkbGluZSB1bmRlcmxpbmVkIj4NCiAgICAgICAgICAgICAgUEFOR0FFQSBpcyBob3N0ZWQgYnkNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICA8cD4NCiAgICAgICAgICAgICAgICBBbGZyZWQgV2VnZW5lciBJbnN0aXR1dGUsIEhlbG1ob2x0eiBDZW50ZXIgZm9yIFBvbGFyIGFuZCBNYXJpbmUgUmVzZWFyY2ggKEFXSSk8YnIvPg0KICAgICAgICAgICAgICAgIENlbnRlciBmb3IgTWFyaW5lIEVudmlyb25tZW50YWwgU2NpZW5jZXMsIFVuaXZlcnNpdHkgb2YgQnJlbWVuIChNQVJVTSkNCiAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRsaW5lIHVuZGVybGluZWQiPg0KICAgICAgICAgICAgICBUaGUgU3lzdGVtIGlzIHN1cHBvcnRlZCBieQ0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgIDxwPg0KICAgICAgICAgICAgICAgIFRoZSBFdXJvcGVhbiBDb21taXNzaW9uLCBSZXNlYXJjaDxici8+DQogICAgICAgICAgICAgICAgRmVkZXJhbCBNaW5pc3RyeSBvZiBFZHVjYXRpb24gYW5kIFJlc2VhcmNoIChCTUJGKTxici8+DQogICAgICAgICAgICAgICAgRGV1dHNjaGUgRm9yc2NodW5nc2dlbWVpbnNjaGFmdCAoREZHKTxici8+DQogICAgICAgICAgICAgICAgSW50ZXJuYXRpb25hbCBPY2VhbiBEaXNjb3ZlcnkgUHJvZ3JhbSAoSU9EUCkNCiAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGxpbmUgdW5kZXJsaW5lZCI+DQogICAgICAgICAgICAgIFBBTkdBRUEgaXMgbWVtYmVyIG9mDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cuaWNzdS13ZHMub3JnLyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJJQ1NVIFdvcmxkIERhdGEgU3lzdGVtIj4NCiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJjb2wtbGctNiBjb2wtbWQtNiBjb2wtc20tNiBjb2wteHMtNiIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LjMwM2YzMWRkYjczZjBlOTg1MDgyZWY1NmZhYzY4YWE4L2xvZ29zL2xvZ28td2RzLWJsb2NrLnBuZyIgYWx0PSJJQ1NVIFdvcmxkIERhdGEgU3lzdGVtIj4NCiAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy53bW8uaW50LyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJXb3JsZCBNZXRlb3JvbG9naWNhbCBPcmdhbml6YXRpb24iPg0KICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC02IGNvbC1zbS02IGNvbC14cy02IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuMzAzZjMxZGRiNzNmMGU5ODUwODJlZjU2ZmFjNjhhYTgvbG9nb3MvbG9nby13bW8tYmxvY2sucG5nIiBhbHQ9IldvcmxkIE1ldGVvcm9sb2dpY2FsIE9yZ2FuaXphdGlvbiI+DQogICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyLXNvY2lhbC1hcmVhIiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgIDxkaXYgaWQ9ImZvb3Rlci1zb2NpYWwtYXJlYS13cmFwcGVyIiBjbGFzcz0iY29sLWxnLTI0IGNvbC1tZC0yNCBjb2wtc20tMjQgY29sLXhzLTI0Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsaW5kc3BhbHRlIGNvbC1sZy0wIGNvbC1tZC00Ij48L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0yNCBjb2wtbWQtNSBjb2wtbWQtNSBjb2wteHMtMTAiPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1bmRlcmxpbmVkIj5TaGFyZSBvbi4uLjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWwtaWNvbnMiPg0KICAgICAgICAgICAgICAgIDxhIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJzZWxmLXJlZmVyZXItbGluayBzaGFyZS1saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyLnBocD91PSN1IyZhbXA7dD0jdCMiIHRpdGxlPSJTaGFyZSBvbiBGYWNlYm9vayIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgPGltZyBpZD0iZmFjZWJvb2staWNvbiIgY2xhc3M9ImNvbC1sZy04IGNvbC1tZC04IGNvbC1zbS04IGNvbC14cy04IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuMzAzZjMxZGRiNzNmMGU5ODUwODJlZjU2ZmFjNjhhYTgvc29jaWFsLWljb25zL2ZhY2Vib29rLWljb24ucG5nIiBhbHQ9IkZhY2Vib29rIEljb24iPg0KICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICA8YSByZWw9Im5vZm9sbG93IiBjbGFzcz0ic2VsZi1yZWZlcmVyLWxpbmsgc2hhcmUtbGluayIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9ub2pzLnBocCIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPSN1IyZhbXA7dGV4dD0jdCMiIHRpdGxlPSJTaGFyZSBvbiBUd2l0dGVyIiB0YXJnZXQ9Il9ibGFuayI+DQogICAgICAgICAgICAgICAgICA8aW1nIGlkPSJ0d2l0dGVyLWljb24iIGNsYXNzPSJjb2wtbGctOCBjb2wtbWQtOCBjb2wtc20tOCBjb2wteHMtOCIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LjMwM2YzMWRkYjczZjBlOTg1MDgyZWY1NmZhYzY4YWE4L3NvY2lhbC1pY29ucy90d2l0dGVyLWljb24ucG5nIiBhbHQ9IlR3aXR0ZXIgSWNvbiI+DQogICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgIDxhIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJzZWxmLXJlZmVyZXItbGluayBzaGFyZS1saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3BsdXMuZ29vZ2xlLmNvbS9zaGFyZT91cmw9I3UjJmFtcDtobD1lbiIgdGl0bGU9IlNoYXJlIG9uIEdvb2dsZSsiIHRhcmdldD0iX2JsYW5rIj4NCiAgICAgICAgICAgICAgICAgIDxpbWcgaWQ9ImdwbHVzLWljb24iIGNsYXNzPSJjb2wtbGctOCBjb2wtbWQtOCBjb2wtc20tOCBjb2wteHMtOCIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LjMwM2YzMWRkYjczZjBlOTg1MDgyZWY1NmZhYzY4YWE4L3NvY2lhbC1pY29ucy9ncGx1cy1pY29uLnBuZyIgYWx0PSJHb29nbGUrIEljb24iPg0KICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsaW5kc3BhbHRlIGNvbG8tbGctMCBjb2wtbWQtMTgiPjwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICANCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyLW1lbnUtYXJlYSIgY2xhc3M9ImNvbC1sZy0yNCBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgPGRpdiBjbGFzcz0iYmxpbmRzcGFsdGUgY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTQgY29sLXhzLTQiPjwvZGl2Pg0KICAgICAgICAgIDxkaXYgaWQ9ImZvb3Rlci1tZW51LXdyYXBwZXIiIGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgICAgPG5hdiBpZD0iZm9vdGVyLW5hdiI+DQogICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICA8bGkgaWQ9ImFib3V0LWxlZ2FsLW5vdGljZSI+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0L2xlZ2FsLnBocCI+TGVnYWwgbm90aWNlPC9hPg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGlkPSJhYm91dC1wcml2YWN5LXBvbGljeSI+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0L3ByaXZhY3lwb2xpY3kucGhwIj5Qcml2YWN5IHBvbGljeTwvYT4NCiAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgIDxsaSBpZD0iYWJvdXQtY29va2llcyI+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0L2Nvb2tpZXMucGhwIj5Db29raWVzPC9hPg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGlkPSJhYm91dC1jb250YWN0Ij4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvY29udGFjdC8iPkNvbnRhY3Q8L2E+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvbmF2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZm9vdGVyPg0KICA8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pgo8L2h0bWw+Cg==
|
42
|
+
PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiI+DQo8aGVhZD4KPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEsIG1heGltdW0tc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDYwMCw0MDBpdGFsaWMsNzAwLDcwMGl0YWxpYyw2MDBpdGFsaWMsMzAwLDMwMGl0YWxpYyw4MDAsODAwaXRhbGljIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUxZGMzMTdkM2IyOTIzMDMwZjliYTVkNjE2NDc4NDhhL2Jvb3RzdHJhcC0yNGNvbC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuZTFkYzMxN2QzYjI5MjMwMzBmOWJhNWQ2MTY0Nzg0OGEvY3NzL3BhbmdhZWEuY3NzIj4KPCEtLVtpZiBsdGUgSUUgOV0+DQo8c3R5bGU+I3RvcGljcy1wdWxsZG93bi13cmFwcGVyIGxhYmVsOmFmdGVyIHsgZGlzcGxheTpub25lOyB9PC9zdHlsZT4NCjwhW2VuZGlmXS0tPg0KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUxZGMzMTdkM2IyOTIzMDMwZjliYTVkNjE2NDc4NDhhL2Zhdmljb24uaWNvIj4NCjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi5lMWRjMzE3ZDNiMjkyMzAzMGY5YmE1ZDYxNjQ3ODQ4YS9mYXZpY29uLmljbyIgdHlwZT0iaW1hZ2Uvdm5kLm1pY3Jvc29mdC5pY29uIj4NCjxsaW5rIHJlbD0iaW1hZ2Vfc3JjIiB0eXBlPSJpbWFnZS9wbmciIGhyZWY9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3NvY2lhbC1pY29ucy9wYW5nYWVhLXNoYXJlLnBuZyI+DQo8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3NvY2lhbC1pY29ucy9wYW5nYWVhLXNoYXJlLnBuZyI+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjEyLjQvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pxdWVyeS5tYXRjaEhlaWdodC8wLjcuMC9qcXVlcnkubWF0Y2hIZWlnaHQtbWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy93d3cucGFuZ2FlYS5kZS9hc3NldHMvdi5lMWRjMzE3ZDNiMjkyMzAzMGY5YmE1ZDYxNjQ3ODQ4YS9ib290c3RyYXAtMjRjb2wvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuZTFkYzMxN2QzYjI5MjMwMzBmOWJhNWQ2MTY0Nzg0OGEvanMvZGF0YWNvbWJvLW1pbi5qcyI+PC9zY3JpcHQ+Cjx0aXRsZT5Kb2hhbnNzb24sIEUgZXQgYWwuICgyMDE0KTogSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIGxha2UgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZDwvdGl0bGU+CjxtZXRhIG5hbWU9InRpdGxlIiBjb250ZW50PSJIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIiAvPgo8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IkpvaGFuc3NvbiwgRW1tYTsgQmVyZ2x1bmQsIFN0ZW47IExpbmRib3JnLCBUb2JpYXM7IFBldHJvbmUsIEpvaGFubmVzOyB2YW4gQXMsIERpcms7IEd1c3RhZnNzb24sIExhcnMtR8O2cmFuOyBOw6RzbHVuZCwgSmVucy1PdmU7IExhdWRvbiwgSGphbG1hciIgLz4KPG1ldGEgbmFtZT0iZGF0ZSIgY29udGVudD0iMjAxNC0wOS0yNSIgLz4KPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IkBzdXBwbGVtZW50OyBAY2l0YWJsZTsgQGNpdGFibGVXaXRoQ2hpbGRzOyBAYXV0aG9yNTI4NDU7IEBhdXRob3I1Mjg0NjsgQGF1dGhvcjUyODQ3OyBAYXV0aG9yNTI4NDg7IEBhdXRob3I1Mjg0OTsgQGF1dGhvcjUyODUwOyBAYXV0aG9yNTI4NTE7IEBhdXRob3I1Mjg1MjsgQGV2ZW50Mjc0NTk3NzsgQHRlcm0zMTIyMzsgQGdlb2NvZGUxNjAwOyBAZ2VvY29kZTE2MDE7IEBqb3VybmFsMTY1OTA7IEBsaWNlbnNlMTsgQHByb2plY3Q0MjI2OyBAcmVmNjU0MDg7IEByZWY2NTQzNTsgQHJlZjY1NDc3OyBAdG9wb3R5cGUyIiAvPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSm9oYW5zc29uLCBFbW1hOyBCZXJnbHVuZCwgU3RlbjsgTGluZGJvcmcsIFRvYmlhczsgUGV0cm9uZSwgSm9oYW5uZXM7IHZhbiBBcywgRGlyazsgR3VzdGFmc3NvbiwgTGFycy1Hw7ZyYW47IE7DpHNsdW5kLCBKZW5zLU92ZTsgTGF1ZG9uLCBIamFsbWFyICgyMDE0KTogSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIGxha2UgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZC4gUEFOR0FFQSwgaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgsIFN1cHBsZW1lbnQgdG86IEpvaGFuc3NvbiwgRSBldCBhbC4gKDIwMTUpOiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgcGVyaWdsYWNpYWwgbGFrZSBjYXRjaG1lbnQgbmVhciBLYW5nZXJsdXNzdWFxLCB3ZXN0IEdyZWVubGFuZCAtIHByZXNlbnRhdGlvbiBvZiBhIG5ldyBtdWx0aS1wYXJhbWV0ZXIgZGF0YSBzZXQuIEVhcnRoIFN5c3RlbSBTY2llbmNlIERhdGEsIDcoMSksIDkzLTEwOCwgaHR0cHM6Ly9kb2kub3JnLzEwLjUxOTQvZXNzZC03LTkzLTIwMTUiIC8+CjxtZXRhIG5hbWU9Imdlby5wb3NpdGlvbiIgY29udGVudD0iNjcuMTI1OTQwOy01MC4xODAzNzAiIC8+CjxtZXRhIG5hbWU9IklDQk0iIGNvbnRlbnQ9IjY3LjEyNTk0MCwgLTUwLjE4MDM3MCIgLz4KPCEtLUJFR0lOOiBEdWJsaW4gQ29yZSBkZXNjcmlwdGlvbi0tPgo8bGluayByZWw9InNjaGVtYS5EQyIgaHJlZj0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIC8+CjxsaW5rIHJlbD0ic2NoZW1hLkRDVEVSTVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIC8+CjxtZXRhIG5hbWU9IkRDLnRpdGxlIiBjb250ZW50PSJIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJKb2hhbnNzb24sIEVtbWEiIC8+CjxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRlbnQ9IkJlcmdsdW5kLCBTdGVuIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJMaW5kYm9yZywgVG9iaWFzIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJQZXRyb25lLCBKb2hhbm5lcyIgLz4KPG1ldGEgbmFtZT0iREMuY3JlYXRvciIgY29udGVudD0idmFuIEFzLCBEaXJrIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJHdXN0YWZzc29uLCBMYXJzLUfDtnJhbiIgLz4KPG1ldGEgbmFtZT0iREMuY3JlYXRvciIgY29udGVudD0iTsOkc2x1bmQsIEplbnMtT3ZlIiAvPgo8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJMYXVkb24sIEhqYWxtYXIiIC8+CjxtZXRhIG5hbWU9IkRDLnB1Ymxpc2hlciIgY29udGVudD0iUEFOR0FFQSIgLz4KPG1ldGEgbmFtZT0iREMuc291cmNlIiBjb250ZW50PSJTdXBwbGVtZW50IHRvOiBKb2hhbnNzb24sIEUgZXQgYWwuICgyMDE1KTogSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIHBlcmlnbGFjaWFsIGxha2UgY2F0Y2htZW50IG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQgLSBwcmVzZW50YXRpb24gb2YgYSBuZXcgbXVsdGktcGFyYW1ldGVyIGRhdGEgc2V0LiBFYXJ0aCBTeXN0ZW0gU2NpZW5jZSBEYXRhLCA3KDEpLCA5My0xMDgsIGh0dHBzOi8vZG9pLm9yZy8xMC41MTk0L2Vzc2QtNy05My0yMDE1IiAvPgo8bWV0YSBuYW1lPSJEQy5kYXRlIiBjb250ZW50PSIyMDE0LTA5LTI1IiBzY2hlbWU9IkRDVEVSTVMuVzNDRFRGIiAvPgo8bWV0YSBuYW1lPSJEQy50eXBlIiBjb250ZW50PSJEYXRhc2V0IiAvPgo8bWV0YSBuYW1lPSJEQy5sYW5ndWFnZSIgY29udGVudD0iZW4iIHNjaGVtZT0iRENURVJNUy5SRkMzMDY2IiAvPgo8bWV0YSBuYW1lPSJEQ1RFUk1TLmxpY2Vuc2UiIHNjaGVtZT0iRENURVJNUy5VUkkiIGNvbnRlbnQ9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8iIC8+CjxtZXRhIG5hbWU9IkRDLmlkZW50aWZpZXIiIGNvbnRlbnQ9Imh0dHBzOi8vZG9pLm9yZy8xMC4xNTk0L1BBTkdBRUEuODM2MTc4IiBzY2hlbWU9IkRDVEVSTVMuVVJJIiAvPgo8bWV0YSBuYW1lPSJEQy5mb3JtYXQiIGNvbnRlbnQ9ImFwcGxpY2F0aW9uL3ppcCwgNTY2My4wIGtCeXRlcyIgLz4KPG1ldGEgbmFtZT0iREMucmVsYXRpb24iIGNvbnRlbnQ9Ik1hcCBvZiBUd28gQm9hdCBMYWtlIGluIEdyZWVubGFuZCAoanBnIDEzIE1CKSB3aXRoIHBvc2l0aW9uIG9mIHNhbXBsaW5nIHNpdGVzIChVUkk6IGh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvdHdvYm9hdGxha2VfZ3JlZW5sYW5kLmpwZykiIC8+CjxtZXRhIG5hbWU9IkRDLnJlbGF0aW9uIiBjb250ZW50PSJUaW1lIGxhcHMgcGhvdG9zIG9mIGxha2UgMjAxMi0wOS0wNSB0byAyMDEzLTA4LTE0IChtb3YgZmlsZSwgemlwcGVkIDIwNSBNQikgKFVSSTogaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9UaW1lbGFwc2VfVEJMLnppcCkiIC8+CjwhLS1FTkQ6IER1YmxpbiBDb3JlIGRlc2NyaXB0aW9uLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9qcz92PTMmYW1wO2xhbmd1YWdlPWVuJmFtcDtrZXk9QUl6YVN5RFNpVmpQUzVZdmFuWnNFSDRSdkswZ0VyNDZVby0xckNRIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8qPCFbQ0RBVEFbKi9qUXVlcnkoZnVuY3Rpb24oJCkgeyByZXR1cm4gaW5pdGlhbGl6ZVNtYWxsRGF0YXNldEdNYXAoODM2MTc4LCdoYXNoPTM0MjY2OWYxMmVkNGE2NGM0YzNiM2I3MzE0ODQ2ODcxJyxuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nQm91bmRzKG5ldyBnb29nbGUubWFwcy5MYXRMbmcoNjcuMTI1OTQsLTUwLjE4MDM3KSxuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKDY3LjEyNTk0LC01MC4xODAzNykpLHVuZGVmaW5lZCk7IH0pOy8qXV0+Ki88L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy9kMWJ4aDh1YXMxbW53Ny5jbG91ZGZyb250Lm5ldC9hc3NldHMvZW1iZWQuanMiPjwvc2NyaXB0Pgo8bGluayByZWw9ImNpdGUtYXMiIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC4xNTk0L1BBTkdBRUEuODM2MTc4Ij4KPGxpbmsgcmVsPSJkZXNjcmliZWRieSIgaHJlZj0iaHR0cHM6Ly9kb2kucGFuZ2FlYS5kZS8xMC4xNTk0L1BBTkdBRUEuODM2MTc4P2Zvcm1hdD1tZXRhZGF0YV9qc29ubGQiIHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgo8bGluayByZWw9ImRlc2NyaWJlZGJ5IiBocmVmPSJodHRwczovL2RvaS5wYW5nYWVhLmRlLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg/Zm9ybWF0PWNpdGF0aW9uX3JpcyIgdHlwZT0iYXBwbGljYXRpb24veC1yZXNlYXJjaC1pbmZvLXN5c3RlbXMiPgo8bGluayByZWw9ImRlc2NyaWJlZGJ5IiBocmVmPSJodHRwczovL2RvaS5wYW5nYWVhLmRlLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg/Zm9ybWF0PWNpdGF0aW9uX2JpYnRleCIgdHlwZT0iYXBwbGljYXRpb24veC1iaWJ0ZXgiPgo8bGluayByZWw9Iml0ZW0iIGhyZWY9Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvam9oYW5zc29uX2V0YWwtMjAxNC56aXAiIHR5cGU9ImFwcGxpY2F0aW9uL3ppcCI+CjxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDEtNjA1OC0xNDY2Ij4KPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj57IkBjb250ZXh0IjoiaHR0cDovL3NjaGVtYS5vcmcvIiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiLCJAdHlwZSI6IkRhdGFzZXQiLCJpZGVudGlmaWVyIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiLCJ1cmwiOiJodHRwczovL2RvaS5wYW5nYWVhLmRlLzEwLjE1OTQvUEFOR0FFQS44MzYxNzgiLCJjcmVhdG9yIjpbeyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJKb2hhbnNzb24iLCJnaXZlbk5hbWUiOiJFbW1hIiwiZW1haWwiOiJlbW1hLmpvaGFuc3NvbkBza2Iuc2UifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkJlcmdsdW5kIiwiZ2l2ZW5OYW1lIjoiU3RlbiJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiTGluZGJvcmciLCJnaXZlbk5hbWUiOiJUb2JpYXMiLCJlbWFpbCI6InRvYmlhcy5saW5kYm9yZ0Bza2Iuc2UifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IlBldHJvbmUiLCJnaXZlbk5hbWUiOiJKb2hhbm5lcyIsImVtYWlsIjoiam9oYW5uZXMucGV0cm9uZUBza2Iuc2UifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6InZhbiBBcyIsImdpdmVuTmFtZSI6IkRpcmsifSx7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6Ikd1c3RhZnNzb24iLCJnaXZlbk5hbWUiOiJMYXJzLUfDtnJhbiJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiTsOkc2x1bmQiLCJnaXZlbk5hbWUiOiJKZW5zLU92ZSJ9LHsiQGlkIjoiaHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiIsIkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkxhdWRvbiIsImdpdmVuTmFtZSI6IkhqYWxtYXIiLCJpZGVudGlmaWVyIjoiaHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiJ9XSwibmFtZSI6Ikh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBsYWtlIG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQiLCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiUEFOR0FFQSIsImRpc2FtYmlndWF0aW5nRGVzY3JpcHRpb24iOiJEYXRhIFB1Ymxpc2hlciBmb3IgRWFydGggJiBFbnZpcm9ubWVudGFsIFNjaWVuY2UiLCJ1cmwiOiJodHRwczovL3d3dy5wYW5nYWVhLmRlLyJ9LCJpbmNsdWRlZEluRGF0YUNhdGFsb2ciOnsiQHR5cGUiOiJEYXRhQ2F0YWxvZyIsIm5hbWUiOiJQQU5HQUVBIiwiZGlzYW1iaWd1YXRpbmdEZXNjcmlwdGlvbiI6IkRhdGEgUHVibGlzaGVyIGZvciBFYXJ0aCAmIEVudmlyb25tZW50YWwgU2NpZW5jZSIsInVybCI6Imh0dHBzOi8vd3d3LnBhbmdhZWEuZGUvIn0sImRhdGVQdWJsaXNoZWQiOiIyMDE0LTA5LTI1IiwiaXNQYXJ0T2YiOnsiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjUxOTQvZXNzZC03LTkzLTIwMTUiLCJAdHlwZSI6IlB1YmxpY2F0aW9uSXNzdWUiLCJpZGVudGlmaWVyIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjUxOTQvZXNzZC03LTkzLTIwMTUiLCJ1cmwiOiJodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIsImNyZWF0b3IiOlt7IkB0eXBlIjoiUGVyc29uIiwiZmFtaWx5TmFtZSI6IkpvaGFuc3NvbiIsImdpdmVuTmFtZSI6IkVtbWEiLCJlbWFpbCI6ImVtbWEuam9oYW5zc29uQHNrYi5zZSJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiQmVyZ2x1bmQiLCJnaXZlbk5hbWUiOiJTdGVuIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJMaW5kYm9yZyIsImdpdmVuTmFtZSI6IlRvYmlhcyIsImVtYWlsIjoidG9iaWFzLmxpbmRib3JnQHNrYi5zZSJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiUGV0cm9uZSIsImdpdmVuTmFtZSI6IkpvaGFubmVzIiwiZW1haWwiOiJqb2hhbm5lcy5wZXRyb25lQHNrYi5zZSJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoidmFuIEFzIiwiZ2l2ZW5OYW1lIjoiRGlyayJ9LHsiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiR3VzdGFmc3NvbiIsImdpdmVuTmFtZSI6IkxhcnMtR8O2cmFuIn0seyJAdHlwZSI6IlBlcnNvbiIsImZhbWlseU5hbWUiOiJOw6RzbHVuZCIsImdpdmVuTmFtZSI6IkplbnMtT3ZlIn0seyJAaWQiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDEtNjA1OC0xNDY2IiwiQHR5cGUiOiJQZXJzb24iLCJmYW1pbHlOYW1lIjoiTGF1ZG9uIiwiZ2l2ZW5OYW1lIjoiSGphbG1hciIsImlkZW50aWZpZXIiOiJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDEtNjA1OC0xNDY2In1dLCJuYW1lIjoiSHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBpbnZlc3RpZ2F0aW9ucyBpbiBhIHBlcmlnbGFjaWFsIGxha2UgY2F0Y2htZW50IG5lYXIgS2FuZ2VybHVzc3VhcSwgd2VzdCBHcmVlbmxhbmQgLSBwcmVzZW50YXRpb24gb2YgYSBuZXcgbXVsdGktcGFyYW1ldGVyIGRhdGEgc2V0IiwiZGF0ZVB1Ymxpc2hlZCI6IjIwMTUiLCJpc3N1ZU51bWJlciI6IjcoMSkiLCJwYWdpbmF0aW9uIjoiOTMtMTA4IiwiaXNQYXJ0T2YiOnsiQHR5cGUiOiJDcmVhdGl2ZVdvcmtTZXJpZXMiLCJuYW1lIjoiRWFydGggU3lzdGVtIFNjaWVuY2UgRGF0YSJ9fSwiZGVzY3JpcHRpb24iOiJGZXcgaHlkcm9sb2dpY2FsIHN0dWRpZXMgaGF2ZSBiZWVuIG1hZGUgaW4gR3JlZW5sYW5kLCBvdGhlciB0aGFuIG9uIGdsYWNpYWwgaHlkcm9sb2d5IGFzc29jaWF0ZWQgd2l0aCB0aGUgaWNlIHNoZWV0LiBVbmRlcnN0YW5kaW5nIHBlcm1hZnJvc3QgaHlkcm9sb2d5IGFuZCBoeWRyb2NsaW1hdGljIGNoYW5nZSBhbmQgdmFyaWFiaWxpdHksIGhvd2V2ZXIsIHByb3ZpZGVzIGtleSBpbmZvcm1hdGlvbiBmb3IgdW5kZXJzdGFuZGluZyBjbGltYXRlIGNoYW5nZSBlZmZlY3RzIGFuZCBmZWVkYmFja3MgaW4gdGhlIEFyY3RpYyBsYW5kc2NhcGUuIFRoaXMgcGFwZXIgcHJlc2VudHMgYSBuZXcgZXh0ZW5zaXZlIGFuZCBkZXRhaWxlZCBoeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIG9wZW4gYWNjZXNzIGRhdGFzZXQsIHdpdGggaGlnaCB0ZW1wb3JhbCByZXNvbHV0aW9uIGZyb20gYSAxLjU2IGttKioyIHBlcm1hZnJvc3QgY2F0Y2htZW50IHdpdGggYSBsYWtlIHVuZGVybGFpbiBieSBhIHRocm91Z2ggdGFsaWsgY2xvc2UgdG8gdGhlIGljZSBzaGVldCBpbiB0aGUgS2FuZ2VybHVzc3VhcSByZWdpb24sIHdlc3Rlcm4gR3JlZW5sYW5kLiBUaGUgcGFwZXIgZGVzY3JpYmVzIHRoZSBoeWRyb2xvZ2ljYWwgc2l0ZSBpbnZlc3RpZ2F0aW9ucyBhbmQgdXRpbGl6ZWQgZXF1aXBtZW50LCBhcyB3ZWxsIGFzIHRoZSBkYXRhIGNvbGxlY3Rpb24gYW5kIHByb2Nlc3NpbmcuIFRoZSBpbnZlc3RpZ2F0aW9ucyB3ZXJlIHBlcmZvcm1lZCBiZXR3ZWVuIDIwMTAgYW5kIDIwMTMuIFRoZSBoaWdoIHNwYXRpYWwgcmVzb2x1dGlvbiwgd2l0aGluIHRoZSBpbnZlc3RpZ2F0ZWQgYXJlYSwgb2YgdGhlIGRhdGFzZXQgbWFrZXMgaXQgaGlnaGx5IHN1aXRhYmxlIGZvciB2YXJpb3VzIGRldGFpbGVkIGh5ZHJvbG9naWNhbCBhbmQgZWNvbG9naWNhbCBzdHVkaWVzIG9uIGNhdGNobWVudCBzY2FsZS4iLCJjaXRhdGlvbiI6W3siQGlkIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC90d29ib2F0bGFrZV9ncmVlbmxhbmQuanBnIiwiQHR5cGUiOiJXZWJQYWdlIiwiaWRlbnRpZmllciI6Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvdHdvYm9hdGxha2VfZ3JlZW5sYW5kLmpwZyIsInVybCI6Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvdHdvYm9hdGxha2VfZ3JlZW5sYW5kLmpwZyIsIm5hbWUiOiJNYXAgb2YgVHdvIEJvYXQgTGFrZSBpbiBHcmVlbmxhbmQgKGpwZyAxMyBNQikgd2l0aCBwb3NpdGlvbiBvZiBzYW1wbGluZyBzaXRlcyJ9LHsiQGlkIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9UaW1lbGFwc2VfVEJMLnppcCIsIkB0eXBlIjoiV2ViUGFnZSIsImlkZW50aWZpZXIiOiJodHRwOi8vc3RvcmUucGFuZ2FlYS5kZS9QdWJsaWNhdGlvbnMvSm9oYW5zc29uRV9ldF9hbF8yMDE0L1RpbWVsYXBzZV9UQkwuemlwIiwidXJsIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9UaW1lbGFwc2VfVEJMLnppcCIsIm5hbWUiOiJUaW1lIGxhcHMgcGhvdG9zIG9mIGxha2UgMjAxMi0wOS0wNSB0byAyMDEzLTA4LTE0IChtb3YgZmlsZSwgemlwcGVkIDIwNSBNQikifV0sInNwYXRpYWxDb3ZlcmFnZSI6eyJAdHlwZSI6IlBsYWNlIiwiZ2VvIjp7IkB0eXBlIjoiR2VvQ29vcmRpbmF0ZXMiLCJsYXRpdHVkZSI6NjcuMTI1OTQsImxvbmdpdHVkZSI6LTUwLjE4MDM3fX0sImluTGFuZ3VhZ2UiOiJlbiIsImxpY2Vuc2UiOiJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvIiwia2V5d29yZHMiOiJAc3VwcGxlbWVudDsgQGNpdGFibGU7IEBjaXRhYmxlV2l0aENoaWxkczsgQGF1dGhvcjUyODQ1OyBAYXV0aG9yNTI4NDY7IEBhdXRob3I1Mjg0NzsgQGF1dGhvcjUyODQ4OyBAYXV0aG9yNTI4NDk7IEBhdXRob3I1Mjg1MDsgQGF1dGhvcjUyODUxOyBAYXV0aG9yNTI4NTI7IEBldmVudDI3NDU5Nzc7IEB0ZXJtMzEyMjM7IEBnZW9jb2RlMTYwMDsgQGdlb2NvZGUxNjAxOyBAam91cm5hbDE2NTkwOyBAbGljZW5zZTE7IEBwcm9qZWN0NDIyNjsgQHJlZjY1NDA4OyBAcmVmNjU0MzU7IEByZWY2NTQ3NzsgQHRvcG90eXBlMiIsImRpc3RyaWJ1dGlvbiI6eyJAdHlwZSI6IkRhdGFEb3dubG9hZCIsImZpbGVGb3JtYXQiOiJhcHBsaWNhdGlvbi96aXAiLCJjb250ZW50VXJsIjoiaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9qb2hhbnNzb25fZXRhbC0yMDE0LnppcCJ9fTwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Lyo8IVtDREFUQVsqLw0KKGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpew0KKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksDQptPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pDQp9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJy8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsJ2dhJyk7DQpnYSgnY3JlYXRlJywgJ1VBLTMwNjI0MTUwLTEnLCAncGFuZ2FlYS5kZScpOw0KZ2EoJ3NldCcsICdhbm9ueW1pemVJcCcsIHRydWUpOw0KZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsNCi8qXV0+Ki88L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5IGNsYXNzPSJob21lcGFnZS1sYXlvdXQiPg0KPGRpdiBpZD0iaGVhZGVyLXdyYXBwZXIiPg0KICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPg0KICAgIDxoZWFkZXIgY2xhc3M9InJvdyI+PCEtLSB2b2xsZSBTY3JlZW4tQnJlaXRlIC0tPg0KICAgICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj48IS0tIG1heC4gQnJlaXRlIC0tPg0KICAgICAgICA8ZGl2IGlkPSJsb2dpbi1hcmVhLXdyYXBwZXIiIGNsYXNzPSJoaWRkZW4tcHJpbnQiPjxkaXYgaWQ9ImxvZ2luLWFyZWEiPjxzcGFuIGlkPSJ1c2VyLW5hbWUiPk5vdCBsb2dnZWQgaW48L3NwYW4+PGEgaWQ9InNpZ251cC1idXR0b24iIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXBsdXMtc2lnbiBzZWxmLXJlZmVyZXItbGluayIgdGl0bGU9IlNpZ24gVXAgLyBDcmVhdGUgQWNjb3VudCIgYXJpYS1sYWJlbD0iU2lnbiB1cCIgdGFyZ2V0PSJfc2VsZiIgcmVsPSJub2ZvbGxvdyIgaHJlZj0iaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS91c2VyL3NpZ251cC5waHA/cmVmZXJlcj1odHRwcyUzQSUyRiUyRnd3dy5wYW5nYWVhLmRlJTJGIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3d3dy5wYW5nYWVhLmRlL3VzZXIvc2lnbnVwLnBocD9yZWZlcmVyPSN1IyI+PC9hPjxhIGlkPSJsb2dpbi1idXR0b24iIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWxvZy1pbiBzZWxmLXJlZmVyZXItbGluayIgdGl0bGU9IkxvZyBJbiIgYXJpYS1sYWJlbD0iTG9nIGluIiB0YXJnZXQ9Il9zZWxmIiByZWw9Im5vZm9sbG93IiBocmVmPSJodHRwczovL3d3dy5wYW5nYWVhLmRlL3VzZXIvbG9naW4ucGhwP3JlZmVyZXI9aHR0cHMlM0ElMkYlMkZ3d3cucGFuZ2FlYS5kZSUyRiIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly93d3cucGFuZ2FlYS5kZS91c2VyL2xvZ2luLnBocD9yZWZlcmVyPSN1IyI+PC9hPjwvZGl2PjwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJibGluZHNwYWx0ZSBoZWFkZXItYmxvY2sgY29sLWxnLTMgY29sLW1kLTQiPjwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBpZD0iaGVhZGVyLWxvZ28tYmxvY2siIGNsYXNzPSJoZWFkZXItYmxvY2sgY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTQgY29sLXhzLTgiPg0KICAgICAgICAgIDxkaXYgaWQ9InBhbmdhZWEtbG9nbyI+DQogICAgICAgICAgICA8YSB0aXRsZT0iUEFOR0FFQSBob21lIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlLyIgY2xhc3M9ImhvbWUtbGluayI+PGltZyBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuZTFkYzMxN2QzYjI5MjMwMzBmOWJhNWQ2MTY0Nzg0OGEvbGF5b3V0LWltYWdlcy9wYW5nYWVhLWxvZ28ucG5nIiBhbHQ9IlBBTkdBRUEgaG9tZSI+PC9hPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgaWQ9ImhlYWRlci1taWQtYmxvY2siIGNsYXNzPSJoZWFkZXItYmxvY2sgY29sLWxnLTEyIGNvbC1tZC05IGNvbC1zbS0yMCBjb2wteHMtMTYiPg0KICAgICAgICAgIDxkaXYgaWQ9InBhbmdhZWEtbG9nby1oZWFkbGluZSI+DQogICAgICAgICAgICBQQU5HQUVBPHNwYW4gY2xhc3M9InB1bmt0Ij4uPC9zcGFuPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxkaXYgaWQ9InBhbmdhZWEtbG9nby1zbG9nYW4iPg0KICAgICAgICAgICAgPHNwYW4+RGF0YSBQdWJsaXNoZXIgZm9yIEVhcnRoICZhbXA7IDwvc3Bhbj48c3BhbiBjbGFzcz0ibm93cmFwIj5FbnZpcm9ubWVudGFsIFNjaWVuY2U8L3NwYW4+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdiBpZD0ic2VhcmNoLWFyZWEtaGVhZGVyIiBjbGFzcz0icm93Ij48L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGlkPSJoZWFkZXItbWFpbi1tZW51LWJsb2NrIiBjbGFzcz0iaGVhZGVyLWJsb2NrIGhpZGRlbi1wcmludCBjb2wtbGctNiBjb2wtbWQtNyBjb2wtc20tMjQgY29sLXhzLTI0Ij4NCiAgICAgICAgICA8bmF2IGlkPSJtYWluLW5hdiI+DQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgIDxsaSBpZD0ibWVudS1zZWFyY2giPg0KICAgICAgICAgICAgICAgIDwhLS0gY2xhc3Mgb24gbGluayBpcyBpbXBvcnRhbnQsIGRvbid0IGNoYW5nZSEhISAtLT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlLyIgY2xhc3M9ImhvbWUtbGluayI+U2VhcmNoPC9hPg0KICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICA8bGkgaWQ9Im1lbnUtc3VibWl0Ij4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL3N1Ym1pdC8iPlN1Ym1pdDwvYT4NCiAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgPGxpIGlkPSJtZW51LWFib3V0Ij4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0LyI+QWJvdXQ8L2E+DQogICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgIDxsaSBpZD0ibWVudS1jb250YWN0Ij4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2NvbnRhY3QvIj5Db250YWN0PC9hPg0KICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICA8L25hdj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9oZWFkZXI+DQogIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGlkPSJmbGV4LXdyYXBwZXIiPg0KPGRpdiBpZD0ibWFpbi1jb250YWluZXIiIGNsYXNzPSJjb250YWluZXItZmx1aWQiPg0KPGRpdiBpZD0ibWFpbi1yb3ciIGNsYXNzPSJyb3cgbWFpbi1yb3ciPg0KPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImNvbC1sZy0yNCBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQo8ZGl2IGlkPSJkYXRhc2V0Ij4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0IGhpZGRlbi14cyBoaWRkZW4tc20iPjxkaXYgY2xhc3M9InRpdGxlIGNpdGF0aW9uIj5DaXRhdGlvbjo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IgdG9wLWJvcmRlciI+PGRpdiBpZD0iZ21hcC1kYXRhc2V0LXdyYXBwZXIiIGNsYXNzPSJnbWFwLXdyYXBwZXIgaGlkZGVuLXByaW50IGNvbC1sZy04IGNvbC1tZC04IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9ImVtYmVkLXJlc3BvbnNpdmUgZW1iZWQtcmVzcG9uc2l2ZS00YnkzIj48ZGl2IGlkPSJnbWFwLWRhdGFzZXQiIGNsYXNzPSJlbWJlZC1yZXNwb25zaXZlLWl0ZW0iPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxoMSBjbGFzcz0iTWV0YUhlYWRlckl0ZW0gY2l0YXRpb24iPjxzdHJvbmc+PGEgY2xhc3M9InBvcG92ZXItbGluayBsaW5rLXVuc3R5bGVkIiBocmVmPSIjIiBkYXRhLXRpdGxlPSImbHQ7c3BhbiZndDtKb2hhbnNzb24sIEVtbWEmbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdKb2hhbnNzb24sIEVtbWEnLi4uJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0pvaGFuc3NvbiwgRW1tYScmcXVvdDsgaHJlZj0mcXVvdDsvL3d3dy5wYW5nYWVhLmRlLz9xPWF1dGhvciUzQWVtYWlsJTNBZW1tYS5qb2hhbnNzb24lNDBza2Iuc2UmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDthIGNsYXNzPSZxdW90O21haWwtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyBocmVmPSZxdW90O21haWx0bzplbW1hLmpvaGFuc3NvbkBza2Iuc2UmcXVvdDsmZ3Q7ZW1tYS5qb2hhbnNzb25Ac2tiLnNlJmx0Oy9hJmd0OyZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiPkpvaGFuc3NvbiwgRW1tYTwvYT47IEJlcmdsdW5kLCBTdGVuOyA8YSBjbGFzcz0icG9wb3Zlci1saW5rIGxpbmstdW5zdHlsZWQiIGhyZWY9IiMiIGRhdGEtdGl0bGU9IiZsdDtzcGFuJmd0O0xpbmRib3JnLCBUb2JpYXMmbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdMaW5kYm9yZywgVG9iaWFzJy4uLiZxdW90OyBhcmlhLWxhYmVsPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdMaW5kYm9yZywgVG9iaWFzJyZxdW90OyBocmVmPSZxdW90Oy8vd3d3LnBhbmdhZWEuZGUvP3E9YXV0aG9yJTNBZW1haWwlM0F0b2JpYXMubGluZGJvcmclNDBza2Iuc2UmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDthIGNsYXNzPSZxdW90O21haWwtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyBocmVmPSZxdW90O21haWx0bzp0b2JpYXMubGluZGJvcmdAc2tiLnNlJnF1b3Q7Jmd0O3RvYmlhcy5saW5kYm9yZ0Bza2Iuc2UmbHQ7L2EmZ3Q7Jmx0Oy9kaXYmZ3Q7JiMxMDsmbHQ7L2RpdiZndDsmIzEwOyI+TGluZGJvcmcsIFRvYmlhczwvYT47IDxhIGNsYXNzPSJwb3BvdmVyLWxpbmsgbGluay11bnN0eWxlZCIgaHJlZj0iIyIgZGF0YS10aXRsZT0iJmx0O3NwYW4mZ3Q7UGV0cm9uZSwgSm9oYW5uZXMmbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdQZXRyb25lLCBKb2hhbm5lcycuLi4mcXVvdDsgYXJpYS1sYWJlbD0mcXVvdDtTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnUGV0cm9uZSwgSm9oYW5uZXMnJnF1b3Q7IGhyZWY9JnF1b3Q7Ly93d3cucGFuZ2FlYS5kZS8/cT1hdXRob3IlM0FlbWFpbCUzQWpvaGFubmVzLnBldHJvbmUlNDBza2Iuc2UmcXVvdDsmZ3Q7Jmx0Oy9hJmd0OyZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiZndDsmbHQ7ZGl2Jmd0OyZsdDthIGNsYXNzPSZxdW90O21haWwtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyBocmVmPSZxdW90O21haWx0bzpqb2hhbm5lcy5wZXRyb25lQHNrYi5zZSZxdW90OyZndDtqb2hhbm5lcy5wZXRyb25lQHNrYi5zZSZsdDsvYSZndDsmbHQ7L2RpdiZndDsmIzEwOyZsdDsvZGl2Jmd0OyYjMTA7Ij5QZXRyb25lLCBKb2hhbm5lczwvYT47IHZhbiBBcywgRGlyazsgR3VzdGFmc3NvbiwgTGFycy1Hw7ZyYW47IE7DpHNsdW5kLCBKZW5zLU92ZTsgPGEgY2xhc3M9InBvcG92ZXItbGluayBsaW5rLXVuc3R5bGVkIiBocmVmPSIjIiBkYXRhLXRpdGxlPSImbHQ7c3BhbiZndDtMYXVkb24sIEhqYWxtYXImbHQ7YSBjbGFzcz0mcXVvdDtzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsgcmVsPSZxdW90O25vZm9sbG93JnF1b3Q7IHRpdGxlPSZxdW90O1NlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdMYXVkb24sIEhqYWxtYXInLi4uJnF1b3Q7IGFyaWEtbGFiZWw9JnF1b3Q7U2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0xhdWRvbiwgSGphbG1hcicmcXVvdDsgaHJlZj0mcXVvdDsvL3d3dy5wYW5nYWVhLmRlLz9xPWF1dGhvciUzQW9yY2lkJTNBMDAwMC0wMDAxLTYwNTgtMTQ2NiZxdW90OyZndDsmbHQ7L2EmZ3Q7Jmx0Oy9zcGFuJmd0OyIgZGF0YS1jb250ZW50PSImbHQ7ZGl2Jmd0OyZsdDtkaXYmZ3Q7Jmx0O2EgY2xhc3M9JnF1b3Q7b3JjaWQtbGluayB0ZXh0LW5vd3JhcCB3aWRlLWljb24tbGluayZxdW90OyB0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTYwNTgtMTQ2NiZxdW90OyZndDtodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDEtNjA1OC0xNDY2Jmx0Oy9hJmd0OyZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiPkxhdWRvbiwgSGphbG1hcjwvYT4gKDIwMTQpOjwvc3Ryb25nPiBIeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIGludmVzdGlnYXRpb25zIGluIGEgbGFrZSBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kLiA8ZW0+UEFOR0FFQTwvZW0+LCA8YSByZWw9Im5vZm9sbG93IGJvb2ttYXJrIiBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuMTU5NC9QQU5HQUVBLjgzNjE3OCIgZGF0YS10aXRsZT0iJmx0O3NwYW4mZ3Q7UGVyc2lzdGVudCBET0kgTmFtZSZsdDsvc3BhbiZndDsiIGRhdGEtY29udGVudD0iJmx0O2RpdiBjbGFzcz0mcXVvdDtsaW5rLWRlc2NyaXB0aW9uJnF1b3Q7Jmd0OyZsdDtwJmd0O0EgJmx0O2EgaHJlZj0mcXVvdDtodHRwczovL2RvaS5vcmcvJnF1b3Q7IGNsYXNzPSZxdW90O2RvaS1saW5rJnF1b3Q7IHRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDsmZ3Q7RE9JIG5hbWUmbHQ7L2EmZ3Q7IHNoYWxsIGJlIHVzZWQgdG8gY2l0ZSBhbmQgbGluayBQQU5HQUVBIGRhdGEgc2V0cy4mbHQ7L3AmZ3Q7JiMxMDsmbHQ7cCZndDtBICZsdDtiJmd0O0RPSSBuYW1lJmx0Oy9iJmd0OyBpcyBndWFyYW50ZWVkIHRvIG5ldmVyIGNoYW5nZSwgc28geW91IGNhbiB1c2UgaXQgdG8gbGluayBwZXJtYW5lbnRseSB0byBkYXRhIHNldHMgb3IgZG9jdW1lbnRzLiAmbHQ7YiZndDtJZiB5b3Ugd2FudCB0byBjaXRlIHRoaXMgZGF0YSBzZXQsIHVzZSB0aGUgZnVsbCBjaXRhdGlvbiBhbmQgYWRkIHRoaXMgbGluayBhcyBhIHBlcnNpc3RlbnQgcmVmZXJlbmNlLiZsdDsvYiZndDsmbHQ7L3AmZ3Q7JiMxMDsmbHQ7ZGl2Jmd0O1lvdSBtYXkgdXNlIHlvdXIgYnJvd3NlcidzICZsdDtjb2RlJmd0O2NvcHkgbGluayBsb2NhdGlvbiZsdDsvY29kZSZndDsgZnVuY3Rpb25hbGl0eSB0byByZXRyaWV2ZSB0aGUgbGluayEgWW91IGNhbiBhbHNvIGRvd25sb2FkIHRoZSBjaXRhdGlvbiBpbiBzZXZlcmFsIGZvcm1hdHMgb24gdGhpcyBwYWdlLiZsdDsvZGl2Jmd0OyYjMTA7Jmx0Oy9kaXYmZ3Q7JiMxMDsiIGNsYXNzPSJ0ZXh0LWxpbmt3cmFwIHBvcG92ZXItbGluayBkb2ktbGluayI+aHR0cHM6Ly9kb2kub3JnLzEwLjE1OTQvUEFOR0FFQS44MzYxNzg8L2E+LDxociBjbGFzcz0ic3BhY2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgLz4KPGVtPlN1cHBsZW1lbnQgdG86PC9lbT4gSm9oYW5zc29uLCBFIGV0IGFsLiAoMjAxNSk6IEh5ZHJvbG9naWNhbCBhbmQgbWV0ZW9yb2xvZ2ljYWwgaW52ZXN0aWdhdGlvbnMgaW4gYSBwZXJpZ2xhY2lhbCBsYWtlIGNhdGNobWVudCBuZWFyIEthbmdlcmx1c3N1YXEsIHdlc3QgR3JlZW5sYW5kIC0gcHJlc2VudGF0aW9uIG9mIGEgbmV3IG11bHRpLXBhcmFtZXRlciBkYXRhIHNldC4gPGVtPkVhcnRoIFN5c3RlbSBTY2llbmNlIERhdGE8L2VtPiwgPHN0cm9uZz43KDEpPC9zdHJvbmc+LCA5My0xMDgsIDxhIGNsYXNzPSJ0ZXh0LWxpbmt3cmFwIGRvaS1saW5rIiBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTE5NC9lc3NkLTctOTMtMjAxNSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZG9pLm9yZy8xMC41MTk0L2Vzc2QtNy05My0yMDE1PC9hPjwvaDE+CjxwIGNsYXNzPSJob3d0b2NpdGUiPjxzbWFsbD48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1idWxsaG9ybiI+PC9zcGFuPiA8c3Ryb25nPkFsd2F5cyBxdW90ZSBhYm92ZSBjaXRhdGlvbiB3aGVuIHVzaW5nIGRhdGEhPC9zdHJvbmc+IFlvdSBjYW4gZG93bmxvYWQgdGhlIGNpdGF0aW9uIGluIHNldmVyYWwgZm9ybWF0cyBiZWxvdy48L3NtYWxsPjwvcD4KPHAgY2xhc3M9ImRhdGEtYnV0dG9ucyI+PGEgcmVsPSJub2ZvbGxvdyBkZXNjcmliZWRieSIgdGl0bGU9IkV4cG9ydCBjaXRhdGlvbiB0byBSZWZlcmVuY2UgTWFuYWdlciwgRW5kTm90ZSwgUHJvQ2l0ZSIgaHJlZj0iP2Zvcm1hdD1jaXRhdGlvbl9yaXMiIGNsYXNzPSJhY3Rpb25idXR0b25saW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj5SSVMgQ2l0YXRpb248L3NwYW4+PC9hPjxhIHJlbD0ibm9mb2xsb3cgZGVzY3JpYmVkYnkiIHRpdGxlPSJFeHBvcnQgY2l0YXRpb24gdG8gQmliVGVYIiBocmVmPSI/Zm9ybWF0PWNpdGF0aW9uX2JpYnRleCIgY2xhc3M9ImFjdGlvbmJ1dHRvbmxpbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPjxzcGFuIHN0eWxlPSJmb250LXZhcmlhbnQ6c21hbGwtY2FwczsiPkJpYlRlWDwvc3Bhbj4gQ2l0YXRpb248L3NwYW4+PC9hPjxhIHJlbD0ibm9mb2xsb3ciIHRpdGxlPSJFeHBvcnQgY2l0YXRpb24gYXMgcGxhaW4gdGV4dCIgaHJlZj0iP2Zvcm1hdD1jaXRhdGlvbl90ZXh0IiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImFjdGlvbmJ1dHRvbmxpbmsgc2hhcmUtbGluayI+PHNwYW4gY2xhc3M9ImFjdGlvbmJ1dHRvbiI+VGV4dCBDaXRhdGlvbjwvc3Bhbj48L2E+PHNwYW4gY2xhc3M9InNlcGFyYXRvciI+PC9zcGFuPjxhIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJzZWxmLXJlZmVyZXItbGluayBzaGFyZS1saW5rIGFjdGlvbmJ1dHRvbmxpbmsiIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvbm9qcy5waHAiIGRhdGEtdGVtcGxhdGU9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIucGhwP3U9I3UjJmFtcDt0PSN0IyIgdGl0bGU9IlNoYXJlIGRhdGFzZXQgb24gRmFjZWJvb2siIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zaGFyZSI+PC9zcGFuPiBGYWNlYm9vazwvc3Bhbj48L2E+PGEgcmVsPSJub2ZvbGxvdyIgY2xhc3M9InNlbGYtcmVmZXJlci1saW5rIHNoYXJlLWxpbmsgYWN0aW9uYnV0dG9ubGluayIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9ub2pzLnBocCIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPSN1IyZhbXA7dGV4dD0jdCMiIHRpdGxlPSJTaGFyZSBkYXRhc2V0IG9uIFR3aXR0ZXIiIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zaGFyZSI+PC9zcGFuPiBUd2l0dGVyPC9zcGFuPjwvYT48YSByZWw9Im5vZm9sbG93IiBjbGFzcz0ic2VsZi1yZWZlcmVyLWxpbmsgc2hhcmUtbGluayBhY3Rpb25idXR0b25saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3BsdXMuZ29vZ2xlLmNvbS9zaGFyZT91cmw9I3UjJmFtcDtobD1lbiIgdGl0bGU9IlNoYXJlIGRhdGFzZXQgb24gR29vZ2xlKyIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJhY3Rpb25idXR0b24iPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNoYXJlIj48L3NwYW4+IEdvb2dsZSs8L3NwYW4+PC9hPjxzcGFuIGNsYXNzPSJzZXBhcmF0b3IiPjwvc3Bhbj48YSByZWw9Im5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkRpc3BsYXkgZXZlbnRzIGluIG1hcCIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9hZHZhbmNlZC9nbWFwLWRhdGFzZXQucGhwP2lkPTgzNjE3OCZhbXA7dmlld3BvcnRCQk9YPS01MC4xODAzNyw2Ny4xMjU5NCwtNTAuMTgwMzcsNjcuMTI1OTQiIGNsYXNzPSJhY3Rpb25idXR0b25saW5rIj48c3BhbiBjbGFzcz0iYWN0aW9uYnV0dG9uIj5TaG93IE1hcDwvc3Bhbj48L2E+PGEgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IkRpc3BsYXkgZXZlbnRzIGluIEdvb2dsZSBFYXJ0aCIgaHJlZj0iP2Zvcm1hdD1ldmVudHNfa21sIiBjbGFzcz0iYWN0aW9uYnV0dG9ubGluayI+PHNwYW4gY2xhc3M9ImFjdGlvbmJ1dHRvbiI+R29vZ2xlIEVhcnRoPC9zcGFuPjwvYT48c3BhbiBjbGFzcz0ic2VwYXJhdG9yIj48L3NwYW4+PHNwYW4gZGF0YS1iYWRnZS10eXBlPSIxIiBkYXRhLWRvaT0iMTAuMTU5NC9QQU5HQUVBLjgzNjE3OCIgZGF0YS1iYWRnZS1wb3BvdmVyPSJyaWdodCIgZGF0YS1oaWRlLW5vLW1lbnRpb25zPSJ0cnVlIiBjbGFzcz0iYWx0bWV0cmljLWVtYmVkIj48L3NwYW4+PC9wPgo8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkFic3RyYWN0OjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckFic3RyYWN0Ij5GZXcgaHlkcm9sb2dpY2FsIHN0dWRpZXMgaGF2ZSBiZWVuIG1hZGUgaW4gR3JlZW5sYW5kLCBvdGhlciB0aGFuIG9uIGdsYWNpYWwgaHlkcm9sb2d5IGFzc29jaWF0ZWQgd2l0aCB0aGUgaWNlIHNoZWV0LiBVbmRlcnN0YW5kaW5nIHBlcm1hZnJvc3QgaHlkcm9sb2d5IGFuZCBoeWRyb2NsaW1hdGljIGNoYW5nZSBhbmQgdmFyaWFiaWxpdHksIGhvd2V2ZXIsIHByb3ZpZGVzIGtleSBpbmZvcm1hdGlvbiBmb3IgdW5kZXJzdGFuZGluZyBjbGltYXRlIGNoYW5nZSBlZmZlY3RzIGFuZCBmZWVkYmFja3MgaW4gdGhlIEFyY3RpYyBsYW5kc2NhcGUuIFRoaXMgcGFwZXIgcHJlc2VudHMgYSBuZXcgZXh0ZW5zaXZlIGFuZCBkZXRhaWxlZCBoeWRyb2xvZ2ljYWwgYW5kIG1ldGVvcm9sb2dpY2FsIG9wZW4gYWNjZXNzIGRhdGFzZXQsIHdpdGggaGlnaCB0ZW1wb3JhbCByZXNvbHV0aW9uIGZyb20gYSAxLjU2IGttKioyIHBlcm1hZnJvc3QgY2F0Y2htZW50IHdpdGggYSBsYWtlIHVuZGVybGFpbiBieSBhIHRocm91Z2ggdGFsaWsgY2xvc2UgdG8gdGhlIGljZSBzaGVldCBpbiB0aGUgS2FuZ2VybHVzc3VhcSByZWdpb24sIHdlc3Rlcm4gR3JlZW5sYW5kLiBUaGUgcGFwZXIgZGVzY3JpYmVzIHRoZSBoeWRyb2xvZ2ljYWwgc2l0ZSBpbnZlc3RpZ2F0aW9ucyBhbmQgdXRpbGl6ZWQgZXF1aXBtZW50LCBhcyB3ZWxsIGFzIHRoZSBkYXRhIGNvbGxlY3Rpb24gYW5kIHByb2Nlc3NpbmcuIFRoZSBpbnZlc3RpZ2F0aW9ucyB3ZXJlIHBlcmZvcm1lZCBiZXR3ZWVuIDIwMTAgYW5kIDIwMTMuIFRoZSBoaWdoIHNwYXRpYWwgcmVzb2x1dGlvbiwgd2l0aGluIHRoZSBpbnZlc3RpZ2F0ZWQgYXJlYSwgb2YgdGhlIGRhdGFzZXQgbWFrZXMgaXQgaGlnaGx5IHN1aXRhYmxlIGZvciB2YXJpb3VzIGRldGFpbGVkIGh5ZHJvbG9naWNhbCBhbmQgZWNvbG9naWNhbCBzdHVkaWVzIG9uIGNhdGNobWVudCBzY2FsZS48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+RnVydGhlciBkZXRhaWxzOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0iPjxhIHRhcmdldD0iX3NlbGYiIGhyZWY9Imh0dHA6Ly9zdG9yZS5wYW5nYWVhLmRlL1B1YmxpY2F0aW9ucy9Kb2hhbnNzb25FX2V0X2FsXzIwMTQvdHdvYm9hdGxha2VfZ3JlZW5sYW5kLmpwZyI+TWFwIG9mIFR3byBCb2F0IExha2UgaW4gR3JlZW5sYW5kIChqcGcgMTMgTUIpIHdpdGggcG9zaXRpb24gb2Ygc2FtcGxpbmcgc2l0ZXM8L2E+PGEgY2xhc3M9InNlYXJjaGxpbmsgZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiB0aXRsZT0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gdGhpcyBwdWJsaWNhdGlvbi4uLiIgYXJpYS1sYWJlbD0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gdGhpcyBwdWJsaWNhdGlvbiIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT0lNDByZWY2NTQ3NyI+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJNZXRhSGVhZGVySXRlbSI+PGEgdGFyZ2V0PSJfc2VsZiIgaHJlZj0iaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9UaW1lbGFwc2VfVEJMLnppcCI+VGltZSBsYXBzIHBob3RvcyBvZiBsYWtlIDIwMTItMDktMDUgdG8gMjAxMy0wOC0xNCAobW92IGZpbGUsIHppcHBlZCAyMDUgTUIpPC9hPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvIHRoaXMgcHVibGljYXRpb24uLi4iIGFyaWEtbGFiZWw9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvIHRoaXMgcHVibGljYXRpb24iIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvP3E9JTQwcmVmNjU0MDgiPjwvYT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+UHJvamVjdChzKTo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9Ik1ldGFIZWFkZXJJdGVtIj48c3Ryb25nPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5yZXNlYXJjaGdhdGUubmV0L3Byb2plY3QvR1JlZW5sYW5kLUFuYWxvZ3VlLVN1cmZhY2UtUHJvamVjdC1HUkFTUCI+R1JlZW5sYW5kIEFuYWxvZ3VlIFN1cmZhY2UgUHJvamVjdDwvYT48L3N0cm9uZz4gKEdSQVNQKTxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdHUmVlbmxhbmQgQW5hbG9ndWUgU3VyZmFjZSBQcm9qZWN0Jy4uLiIgYXJpYS1sYWJlbD0iU2VhcmNoIFBBTkdBRUEgZm9yIG90aGVyIGRhdGFzZXRzIHJlbGF0ZWQgdG8gJ0dSZWVubGFuZCBBbmFsb2d1ZSBTdXJmYWNlIFByb2plY3QnIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlLz9xPXByb2plY3QlM0FsYWJlbCUzQUdSQVNQIj48L2E+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkNvdmVyYWdlOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0gZ2VvIj48ZW0gY2xhc3M9InVuZmFyYmUiPkxhdGl0dWRlOiA8L2VtPjxzcGFuIGNsYXNzPSJsYXRpdHVkZSI+NjcuMTI1OTQwPC9zcGFuPjxlbSBjbGFzcz0idW5mYXJiZSI+ICogTG9uZ2l0dWRlOiA8L2VtPjxzcGFuIGNsYXNzPSJsb25naXR1ZGUiPi01MC4xODAzNzA8L3NwYW4+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0idGl0bGUiPkV2ZW50KHMpOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0gZ2VvIj48c3Ryb25nPlRCTDwvc3Ryb25nPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdUQkwnLi4uIiBhcmlhLWxhYmVsPSJTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnVEJMJyIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT1ldmVudCUzQWxhYmVsJTNBVEJMIj48L2E+PGVtIGNsYXNzPSJ1bmZhcmJlIj4gKiBMYXRpdHVkZTogPC9lbT48c3BhbiBjbGFzcz0ibGF0aXR1ZGUiPjY3LjEyNTk0MDwvc3Bhbj48ZW0gY2xhc3M9InVuZmFyYmUiPiAqIExvbmdpdHVkZTogPC9lbT48c3BhbiBjbGFzcz0ibG9uZ2l0dWRlIj4tNTAuMTgwMzcwPC9zcGFuPjxlbSBjbGFzcz0idW5mYXJiZSI+ICogTG9jYXRpb246IDwvZW0+PHNwYW4+VHdvIEJvYXQgTGFrZSwgS2FuZ2VybHVzc3VhcSwgR3JlZW5sYW5kPC9zcGFuPjxhIGNsYXNzPSJzZWFyY2hsaW5rIGdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9IlNlYXJjaCBQQU5HQUVBIGZvciBvdGhlciBkYXRhc2V0cyByZWxhdGVkIHRvICdUd28gQm9hdCBMYWtlLCBLYW5nZXJsdXNzdWFxLCBHcmVlbmxhbmQnLi4uIiBhcmlhLWxhYmVsPSJTZWFyY2ggUEFOR0FFQSBmb3Igb3RoZXIgZGF0YXNldHMgcmVsYXRlZCB0byAnVHdvIEJvYXQgTGFrZSwgS2FuZ2VybHVzc3VhcSwgR3JlZW5sYW5kJyIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS8/cT1sb2NhdGlvbiUzQSUyMlR3bytCb2F0K0xha2UlMkMrS2FuZ2VybHVzc3VhcSUyQytHcmVlbmxhbmQlMjIiPjwvYT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJ0aXRsZSI+Q29tbWVudDo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImNvbC1sZy0yMSBjb2wtbWQtMjAgY29sLXNtLTI0IGNvbC14cy0yNCI+PGRpdiBjbGFzcz0iZGVzY3IiPjxkaXYgY2xhc3M9Ik1ldGFIZWFkZXJBYnN0cmFjdCI+VGhlIGRhdGFzZXQgY29udGFpbnMgaHlkcm9sb2dpY2FsIGFuZCBtZXRlb3JvbG9naWNhbCBkYXRhIGZyb20gYSBsYWtlIGNhdGNobWVudCBpbiB0aGUgS2FuZ2VybHVzc3VhcSByZWdpb24sIFdlc3Rlcm4gR3JlZW5sYW5kLiBUaGUgaW52ZXN0aWdhdGlvbnMgd2VyZSBwZXJmb3JtZWQgZHVyaW5nIDIwMTAtMjAxMyBhbmQgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIGFyZSBpbmNsdWRlZDogU29pbCBtb2lzdHVyZSwgU29pbCB0ZW1wZXJhdHVyZSwgSHlkcmF1bGljIHByb3BlcnRpZXMgb2YgdGhlIGFjdGl2ZSBsYXllciwgbWV0ZW9yb2xvZ2ljYWwgcGFyYW1ldGVycyBmcm9tIGEgbG9jYWwgd2VhdGhlciBzdGF0aW9uIHdpdGhpbiB0aGUgY2F0Y2htZW50LCB3YXRlciBsZXZlbHMgYW5kIGRpc2NoYXJnZSwgc3VibGltYXRpb24gYW5kIGV2YXBvcnRhdGlvbiBtZWFzdXJtZW50cywgc25vdyBkZXB0aCBhbmQgc25vdyB3YXRlciBjb250ZW50IGRhdGEgYW5kIHRpbWUgbGFwc2UgcGhvdG9zLjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5MaWNlbnNlOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0iPjxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8iIHJlbD0ibGljZW5zZSIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL3NoYXJlZC9waWNzL2xpY2Vuc2VzL0NDLUJZLnBuZyIgc3R5bGU9InZlcnRpY2FsLWFsaWduOmJhc2VsaW5lOyBib3JkZXItd2lkdGg6MDsiIGFsdD0iQ0MtQlkiIC8+IENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gMy4wIFVucG9ydGVkPC9hPjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS0yNCBjb2wteHMtMjQiPjxkaXYgY2xhc3M9InRpdGxlIj5TaXplOjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0Ij48ZGl2IGNsYXNzPSJkZXNjciI+PGRpdiBjbGFzcz0iTWV0YUhlYWRlckl0ZW0iPjU2NjMuMCBrQnl0ZXM8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KPGRpdiBjbGFzcz0iY29sLWxnLTIxIGNvbC1tZC0yMCBjb2wtc20tMjQgY29sLXhzLTI0IGNvbC1sZy1vZmZzZXQtMyBjb2wtbWQtb2Zmc2V0LTQiPgo8ZGl2IGNsYXNzPSJ0ZXh0LWJsb2NrIHRvcC1ib3JkZXIiPgo8aDIgaWQ9ImRvd25sb2FkIj5Eb3dubG9hZCBEYXRhPC9oMj4KPHA+PGEgaHJlZj0iaHR0cDovL3N0b3JlLnBhbmdhZWEuZGUvUHVibGljYXRpb25zL0pvaGFuc3NvbkVfZXRfYWxfMjAxNC9qb2hhbnNzb25fZXRhbC0yMDE0LnppcCIgdGFyZ2V0PSJfc2VsZiI+RG93bmxvYWQgZGF0YXNldDwvYT48L3A+CjwvZGl2PjwvZGl2PjwvZGl2Pgo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBpZD0iZm9vdGVyLXdyYXBwZXIiIGNsYXNzPSJ0b3AtYm9yZGVyIGhpZGRlbi1wcmludCI+DQogIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+DQogICAgPGZvb3RlciBjbGFzcz0icm93Ij48IS0tIHZvbGxlIFNjcmVlbi1CcmVpdGUgLS0+DQogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPjwhLS0gbWF4LiBCcmVpdGUgLS0+DQogICAgICAgIDxkaXYgY2xhc3M9ImJsaW5kc3BhbHRlIGNvbC1sZy0zIGNvbC1tZC00IGNvbC1zbS00IGNvbC14cy00Ij48L2Rpdj4NCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyLWhvc3RlZC1ieS1hcmVhIiBjbGFzcz0iY29sLWxnLTE4IGNvbC1tZC05IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPSJjb2wtbGctMjQgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPi0tPg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkbGluZSB1bmRlcmxpbmVkIj4NCiAgICAgICAgICAgICAgUEFOR0FFQSBpcyBob3N0ZWQgYnkNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICA8cD4NCiAgICAgICAgICAgICAgICBBbGZyZWQgV2VnZW5lciBJbnN0aXR1dGUsIEhlbG1ob2x0eiBDZW50ZXIgZm9yIFBvbGFyIGFuZCBNYXJpbmUgUmVzZWFyY2ggKEFXSSk8YnIvPg0KICAgICAgICAgICAgICAgIENlbnRlciBmb3IgTWFyaW5lIEVudmlyb25tZW50YWwgU2NpZW5jZXMsIFVuaXZlcnNpdHkgb2YgQnJlbWVuIChNQVJVTSkNCiAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRsaW5lIHVuZGVybGluZWQiPg0KICAgICAgICAgICAgICBUaGUgU3lzdGVtIGlzIHN1cHBvcnRlZCBieQ0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgIDxwPg0KICAgICAgICAgICAgICAgIFRoZSBFdXJvcGVhbiBDb21taXNzaW9uLCBSZXNlYXJjaDxici8+DQogICAgICAgICAgICAgICAgRmVkZXJhbCBNaW5pc3RyeSBvZiBFZHVjYXRpb24gYW5kIFJlc2VhcmNoIChCTUJGKTxici8+DQogICAgICAgICAgICAgICAgRGV1dHNjaGUgRm9yc2NodW5nc2dlbWVpbnNjaGFmdCAoREZHKTxici8+DQogICAgICAgICAgICAgICAgSW50ZXJuYXRpb25hbCBPY2VhbiBEaXNjb3ZlcnkgUHJvZ3JhbSAoSU9EUCkNCiAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGxpbmUgdW5kZXJsaW5lZCI+DQogICAgICAgICAgICAgIFBBTkdBRUEgaXMgbWVtYmVyIG9mDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cuaWNzdS13ZHMub3JnLyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJJQ1NVIFdvcmxkIERhdGEgU3lzdGVtIj4NCiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJjb2wtbGctNiBjb2wtbWQtNiBjb2wtc20tNiBjb2wteHMtNiIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUxZGMzMTdkM2IyOTIzMDMwZjliYTVkNjE2NDc4NDhhL2xvZ29zL2xvZ28td2RzLWJsb2NrLnBuZyIgYWx0PSJJQ1NVIFdvcmxkIERhdGEgU3lzdGVtIj4NCiAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy53bW8uaW50LyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJXb3JsZCBNZXRlb3JvbG9naWNhbCBPcmdhbml6YXRpb24iPg0KICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC02IGNvbC1zbS02IGNvbC14cy02IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuZTFkYzMxN2QzYjI5MjMwMzBmOWJhNWQ2MTY0Nzg0OGEvbG9nb3MvbG9nby13bW8tYmxvY2sucG5nIiBhbHQ9IldvcmxkIE1ldGVvcm9sb2dpY2FsIE9yZ2FuaXphdGlvbiI+DQogICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyLXNvY2lhbC1hcmVhIiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTI0IGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgIDxkaXYgaWQ9ImZvb3Rlci1zb2NpYWwtYXJlYS13cmFwcGVyIiBjbGFzcz0iY29sLWxnLTI0IGNvbC1tZC0yNCBjb2wtc20tMjQgY29sLXhzLTI0Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsaW5kc3BhbHRlIGNvbC1sZy0wIGNvbC1tZC00Ij48L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0yNCBjb2wtbWQtNSBjb2wtbWQtNSBjb2wteHMtMTAiPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1bmRlcmxpbmVkIj5TaGFyZSBvbi4uLjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWwtaWNvbnMiPg0KICAgICAgICAgICAgICAgIDxhIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJzZWxmLXJlZmVyZXItbGluayBzaGFyZS1saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyLnBocD91PSN1IyZhbXA7dD0jdCMiIHRpdGxlPSJTaGFyZSBvbiBGYWNlYm9vayIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgPGltZyBpZD0iZmFjZWJvb2staWNvbiIgY2xhc3M9ImNvbC1sZy04IGNvbC1tZC04IGNvbC1zbS04IGNvbC14cy04IiBzcmM9Ii8vd3d3LnBhbmdhZWEuZGUvYXNzZXRzL3YuZTFkYzMxN2QzYjI5MjMwMzBmOWJhNWQ2MTY0Nzg0OGEvc29jaWFsLWljb25zL2ZhY2Vib29rLWljb24ucG5nIiBhbHQ9IkZhY2Vib29rIEljb24iPg0KICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICA8YSByZWw9Im5vZm9sbG93IiBjbGFzcz0ic2VsZi1yZWZlcmVyLWxpbmsgc2hhcmUtbGluayIgaHJlZj0iLy93d3cucGFuZ2FlYS5kZS9ub2pzLnBocCIgZGF0YS10ZW1wbGF0ZT0iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPSN1IyZhbXA7dGV4dD0jdCMiIHRpdGxlPSJTaGFyZSBvbiBUd2l0dGVyIiB0YXJnZXQ9Il9ibGFuayI+DQogICAgICAgICAgICAgICAgICA8aW1nIGlkPSJ0d2l0dGVyLWljb24iIGNsYXNzPSJjb2wtbGctOCBjb2wtbWQtOCBjb2wtc20tOCBjb2wteHMtOCIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUxZGMzMTdkM2IyOTIzMDMwZjliYTVkNjE2NDc4NDhhL3NvY2lhbC1pY29ucy90d2l0dGVyLWljb24ucG5nIiBhbHQ9IlR3aXR0ZXIgSWNvbiI+DQogICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgIDxhIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJzZWxmLXJlZmVyZXItbGluayBzaGFyZS1saW5rIiBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL25vanMucGhwIiBkYXRhLXRlbXBsYXRlPSJodHRwczovL3BsdXMuZ29vZ2xlLmNvbS9zaGFyZT91cmw9I3UjJmFtcDtobD1lbiIgdGl0bGU9IlNoYXJlIG9uIEdvb2dsZSsiIHRhcmdldD0iX2JsYW5rIj4NCiAgICAgICAgICAgICAgICAgIDxpbWcgaWQ9ImdwbHVzLWljb24iIGNsYXNzPSJjb2wtbGctOCBjb2wtbWQtOCBjb2wtc20tOCBjb2wteHMtOCIgc3JjPSIvL3d3dy5wYW5nYWVhLmRlL2Fzc2V0cy92LmUxZGMzMTdkM2IyOTIzMDMwZjliYTVkNjE2NDc4NDhhL3NvY2lhbC1pY29ucy9ncGx1cy1pY29uLnBuZyIgYWx0PSJHb29nbGUrIEljb24iPg0KICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsaW5kc3BhbHRlIGNvbG8tbGctMCBjb2wtbWQtMTgiPjwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICANCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyLW1lbnUtYXJlYSIgY2xhc3M9ImNvbC1sZy0yNCBjb2wtbWQtMjQgY29sLXNtLTI0IGNvbC14cy0yNCI+DQogICAgICAgICAgPGRpdiBjbGFzcz0iYmxpbmRzcGFsdGUgY29sLWxnLTMgY29sLW1kLTQgY29sLXNtLTQgY29sLXhzLTQiPjwvZGl2Pg0KICAgICAgICAgIDxkaXYgaWQ9ImZvb3Rlci1tZW51LXdyYXBwZXIiIGNsYXNzPSJjb2wtbGctMjEgY29sLW1kLTIwIGNvbC1zbS0yNCBjb2wteHMtMjQiPg0KICAgICAgICAgICAgPG5hdiBpZD0iZm9vdGVyLW5hdiI+DQogICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICA8bGkgaWQ9ImFib3V0LWxlZ2FsLW5vdGljZSI+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0L2xlZ2FsLnBocCI+TGVnYWwgbm90aWNlPC9hPg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGlkPSJhYm91dC1wcml2YWN5LXBvbGljeSI+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0L3ByaXZhY3lwb2xpY3kucGhwIj5Qcml2YWN5IHBvbGljeTwvYT4NCiAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgIDxsaSBpZD0iYWJvdXQtY29va2llcyI+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSIvL3d3dy5wYW5nYWVhLmRlL2Fib3V0L2Nvb2tpZXMucGhwIj5Db29raWVzPC9hPg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpIGlkPSJhYm91dC1jb250YWN0Ij4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8vd3d3LnBhbmdhZWEuZGUvY29udGFjdC8iPkNvbnRhY3Q8L2E+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvbmF2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZm9vdGVyPg0KICA8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pgo8L2h0bWw+Cg==
|
43
43
|
http_version:
|
44
|
-
recorded_at:
|
44
|
+
recorded_at: Sat, 05 May 2018 11:18:19 GMT
|
45
45
|
recorded_with: VCR 3.0.3
|
@@ -19,11 +19,11 @@ http_interactions:
|
|
19
19
|
Server:
|
20
20
|
- nginx/1.12.2
|
21
21
|
Date:
|
22
|
-
-
|
22
|
+
- Sat, 05 May 2018 11:18:20 GMT
|
23
23
|
Content-Type:
|
24
24
|
- text/html; charset=utf-8
|
25
25
|
Content-Length:
|
26
|
-
- '
|
26
|
+
- '34869'
|
27
27
|
Vary:
|
28
28
|
- Accept-Encoding
|
29
29
|
X-Frame-Options:
|
@@ -41,15 +41,15 @@ http_interactions:
|
|
41
41
|
X-Ratelimit-Remaining:
|
42
42
|
- '4999'
|
43
43
|
X-Ratelimit-Reset:
|
44
|
-
- '
|
44
|
+
- '1525522701'
|
45
45
|
Retry-After:
|
46
|
-
- '
|
46
|
+
- '3600'
|
47
47
|
Set-Cookie:
|
48
|
-
- session=
|
49
|
-
|
48
|
+
- session=97c5661c06730b5_5aed92fc.Ok-qAndogCA71XVECkk8UbNqAE0; Expires=Tue,
|
49
|
+
05-Jun-2018 11:18:20 GMT; Secure; HttpOnly; Path=/
|
50
50
|
body:
|
51
51
|
encoding: ASCII-8BIT
|
52
|
-
string: "<!DOCTYPE html>\n<html lang=\"en\" dir=\"ltr\">\n <head>\n\n <meta
|
52
|
+
string: "\n<!DOCTYPE html>\n<html lang=\"en\" dir=\"ltr\">\n <head>\n\n <meta
|
53
53
|
charset=\"utf-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n
|
54
54
|
\ <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n
|
55
55
|
\ <meta name=\"google-site-verification\" content=\"5fPGCLllnWrvFxH9QWI0l1TadV7byeEvfPcyK2VkS_s\"/>\n
|
@@ -348,7 +348,7 @@ http_interactions:
|
|
348
348
|
\ item-template=\"/static/templates/invenio_csl/item.html\">\n </invenio-csl-typeahead>\n
|
349
349
|
\ </invenio-csl>\n </div>\n </div>\n <div class=\"well\"><h4>Export</h4>\n<ul
|
350
350
|
class=\"list-inline\">\n <li><a href=\"/record/1196821/export/hx\">BibTeX</a></li>\n
|
351
|
-
\ <li><a href=\"/record/1196821/export/csl\">CSL</a></li>\n <li><a href=\"/record/1196821/export/
|
351
|
+
\ <li><a href=\"/record/1196821/export/csl\">CSL</a></li>\n <li><a href=\"/record/1196821/export/dcite4\">DataCite</a></li>\n
|
352
352
|
\ <li><a href=\"/record/1196821/export/xd\">Dublin Core</a></li>\n <li><a
|
353
353
|
href=\"/record/1196821/export/json\">JSON</a></li>\n <li><a href=\"/record/1196821/export/schemaorg_jsonld\">JSON-LD</a></li>\n
|
354
354
|
\ <li><a href=\"/record/1196821/export/xm\">MARCXML</a></li>\n <li><a href=\"https://www.mendeley.com/import/?url=https://www.zenodo.org/record/1196821\"><i
|
@@ -458,18 +458,16 @@ http_interactions:
|
|
458
458
|
\n \"contentUrl\": \"https://www.zenodo.org:443/api/files/53b69001-2a2b-493b-8bc9-d09d85f9d215/README.txt\",
|
459
459
|
\n \"fileFormat\": \"txt\"\n }\n ], \n \"identifier\": \"https://doi.org/10.5281/zenodo.1196821\",
|
460
460
|
\n \"inLanguage\": {\n \"@type\": \"Language\", \n \"alternateName\":
|
461
|
-
\"eng\", \n \"name\": \"English\"\n }, \n \"
|
462
|
-
\"
|
463
|
-
\
|
464
|
-
|
465
|
-
\n \"
|
466
|
-
\n \"SCR\", \n \"ECG\", \n \"EMG\", \n \"EDA\", \n \"GSR\"\n
|
467
|
-
\ ], \n \"license\": \"https://creativecommons.org/licenses/by-sa/4.0/\",
|
461
|
+
\"eng\", \n \"name\": \"English\"\n }, \n \"keywords\": [\n \"Pupil
|
462
|
+
Size Response\", \n \"Skin Conductance Response\", \n \"Electrocardiogram\",
|
463
|
+
\n \"Electromyogram\", \n \"Electrodermal Activity\", \n \"Galvanic
|
464
|
+
Skin Response\", \n \"PSR\", \n \"SCR\", \n \"ECG\", \n \"EMG\",
|
465
|
+
\n \"EDA\", \n \"GSR\"\n ], \n \"license\": \"https://creativecommons.org/licenses/by-sa/4.0/\",
|
468
466
|
\n \"name\": \"PsPM-SC4B: SCR, ECG, EMG, PSR and respiration measurements
|
469
467
|
in a delay fear conditioning task with auditory CS and electrical US\", \n
|
470
|
-
\ \"url\": \"https://
|
471
|
-
|
472
|
-
|
468
|
+
\ \"url\": \"https://zenodo.org/record/1196821\", \n \"version\": \"1.0.2\"\n}</script>\n\n<script
|
469
|
+
type=\"text/javascript\">\nvar _paq = _paq || [];\n_paq.push([\"setDomains\",
|
470
|
+
[\"*.zenodo.org\",\"*.zenodo.cern.ch\",\"*.zenodo.eu\",\"*.zenodo.net\"]]);\n_paq.push([\"trackPageView\"]);\n_paq.push([\"enableLinkTracking\"]);\n\n(function()
|
473
471
|
{\n var u=((\"https:\" == document.location.protocol) ? \"https\" : \"http\")
|
474
472
|
+ \"://piwik.web.cern.ch/\";\n _paq.push([\"setTrackerUrl\", u+\"piwik.php\"]);\n
|
475
473
|
\ _paq.push([\"setSiteId\", \"57\"]);\n var d=document, g=d.createElement(\"script\"),
|
@@ -477,5 +475,5 @@ http_interactions:
|
|
477
475
|
g.async=true; g.src=u+\"piwik.js\"; s.parentNode.insertBefore(g,s);\n})();\n</script>\n
|
478
476
|
\ </body>\n</html>"
|
479
477
|
http_version:
|
480
|
-
recorded_at:
|
478
|
+
recorded_at: Sat, 05 May 2018 11:18:20 GMT
|
481
479
|
recorded_with: VCR 3.0.3
|
@@ -29,22 +29,6 @@ describe Bolognese::Metadata, vcr: true do
|
|
29
29
|
expect(subject.publisher).to eq("DataCite")
|
30
30
|
end
|
31
31
|
|
32
|
-
it "no codemeta.json" do
|
33
|
-
input = "https://github.com/datacite/homepage"
|
34
|
-
subject = Bolognese::Metadata.new(input: input)
|
35
|
-
expect(subject.id).to eq("https://github.com/datacite/homepage")
|
36
|
-
expect(subject.exists?).to be false
|
37
|
-
expect(subject.state).to eq("not_found")
|
38
|
-
end
|
39
|
-
|
40
|
-
it "not found error" do
|
41
|
-
input = "https://github.com/datacite/x"
|
42
|
-
subject = Bolognese::Metadata.new(input: input)
|
43
|
-
expect(subject.id).to eq("https://github.com/datacite/x")
|
44
|
-
expect(subject.exists?).to be false
|
45
|
-
expect(subject.state).to eq("not_found")
|
46
|
-
end
|
47
|
-
|
48
32
|
it "rdataone" do
|
49
33
|
input = fixture_path + 'codemeta.json'
|
50
34
|
subject = Bolognese::Metadata.new(input: input)
|
@@ -389,15 +389,6 @@ describe Bolognese::Metadata, vcr: true do
|
|
389
389
|
end
|
390
390
|
|
391
391
|
context "change datacite metadata" do
|
392
|
-
it "change id" do
|
393
|
-
subject.id = "https://doi.org/10.5061/8515"
|
394
|
-
expect(subject.valid?).to be true
|
395
|
-
expect(subject.id).to eq("https://doi.org/10.5061/8515")
|
396
|
-
expect(subject.doi).to eq("10.5061/8515")
|
397
|
-
expect(subject.b_url).to eq("http://datadryad.org/resource/doi:10.5061/dryad.8515")
|
398
|
-
expect(subject.type).to eq("Dataset")
|
399
|
-
end
|
400
|
-
|
401
392
|
it "change title" do
|
402
393
|
subject.title = "A new malaria agent in African hominids."
|
403
394
|
expect(subject.valid?).to be true
|
@@ -433,131 +424,5 @@ describe Bolognese::Metadata, vcr: true do
|
|
433
424
|
expect(subject.publisher).to eq("DataCite")
|
434
425
|
expect(subject.publication_year).to eq(2016)
|
435
426
|
end
|
436
|
-
|
437
|
-
it "change author" do
|
438
|
-
input = fixture_path + 'datacite.xml'
|
439
|
-
author = [{ "type"=>"Person", "name"=>"Ollomi, Benjamin", "givenName"=>"Benjamin", "familyName"=>"Ollomo" }, { "type"=>"Person", "name"=>"Duran, Patrick", "givenName"=>"Patrick", "familyName"=>"Durand" }]
|
440
|
-
subject = Bolognese::Metadata.new(input: input, author: author)
|
441
|
-
expect(subject.valid?).to be true
|
442
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
443
|
-
expect(subject.doi).to eq("10.5438/4k3m-nyvg")
|
444
|
-
expect(subject.author).to eq([{"type"=>"Person", "name"=>"Ollomi, Benjamin", "givenName"=>"Benjamin", "familyName"=>"Ollomo"}, {"type"=>"Person", "name"=>"Duran, Patrick", "givenName"=>"Patrick", "familyName"=>"Durand"}])
|
445
|
-
expect(subject.title).to eq("Eating your own Dog Food")
|
446
|
-
expect(subject.publisher).to eq("DataCite")
|
447
|
-
expect(subject.publication_year).to eq(2016)
|
448
|
-
end
|
449
|
-
|
450
|
-
it "change title" do
|
451
|
-
input = fixture_path + 'datacite.xml'
|
452
|
-
title = "A new malaria agent in African hominids."
|
453
|
-
subject = Bolognese::Metadata.new(input: input, title: title)
|
454
|
-
expect(subject.valid?).to be true
|
455
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
456
|
-
expect(subject.doi).to eq("10.5438/4k3m-nyvg")
|
457
|
-
expect(subject.title).to eq("A new malaria agent in African hominids.")
|
458
|
-
expect(subject.publisher).to eq("DataCite")
|
459
|
-
expect(subject.publication_year).to eq(2016)
|
460
|
-
end
|
461
|
-
|
462
|
-
it "change publisher" do
|
463
|
-
input = fixture_path + 'datacite.xml'
|
464
|
-
publisher = "Zenodo"
|
465
|
-
subject = Bolognese::Metadata.new(input: input, publisher: publisher)
|
466
|
-
expect(subject.valid?).to be true
|
467
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
468
|
-
expect(subject.doi).to eq("10.5438/4k3m-nyvg")
|
469
|
-
expect(subject.title).to eq("Eating your own Dog Food")
|
470
|
-
expect(subject.publisher).to eq("Zenodo")
|
471
|
-
expect(subject.publication_year).to eq(2016)
|
472
|
-
end
|
473
|
-
|
474
|
-
it "change publication_year" do
|
475
|
-
input = fixture_path + 'datacite.xml'
|
476
|
-
date_published = "2017"
|
477
|
-
subject = Bolognese::Metadata.new(input: input, date_published: date_published)
|
478
|
-
expect(subject.valid?).to be true
|
479
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
480
|
-
expect(subject.doi).to eq("10.5438/4k3m-nyvg")
|
481
|
-
expect(subject.title).to eq("Eating your own Dog Food")
|
482
|
-
expect(subject.publisher).to eq("DataCite")
|
483
|
-
expect(subject.publication_year).to eq(2017)
|
484
|
-
expect(subject.resource_type_general).to eq("Text")
|
485
|
-
expect(subject.additional_type).to eq("BlogPosting")
|
486
|
-
end
|
487
|
-
|
488
|
-
it "change resource_type_general" do
|
489
|
-
input = fixture_path + 'datacite.xml'
|
490
|
-
resource_type_general = "Software"
|
491
|
-
subject = Bolognese::Metadata.new(input: input, resource_type_general: resource_type_general)
|
492
|
-
expect(subject.valid?).to be true
|
493
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
494
|
-
expect(subject.doi).to eq("10.5438/4k3m-nyvg")
|
495
|
-
expect(subject.title).to eq("Eating your own Dog Food")
|
496
|
-
expect(subject.publisher).to eq("DataCite")
|
497
|
-
expect(subject.publication_year).to eq(2016)
|
498
|
-
expect(subject.resource_type_general).to eq("Software")
|
499
|
-
expect(subject.additional_type).to eq("BlogPosting")
|
500
|
-
end
|
501
|
-
|
502
|
-
it "change additional_type" do
|
503
|
-
input = fixture_path + 'datacite.xml'
|
504
|
-
additional_type = "ScholarlyArticle"
|
505
|
-
subject = Bolognese::Metadata.new(input: input, additional_type: additional_type)
|
506
|
-
expect(subject.valid?).to be true
|
507
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
508
|
-
expect(subject.doi).to eq("10.5438/4k3m-nyvg")
|
509
|
-
expect(subject.title).to eq("Eating your own Dog Food")
|
510
|
-
expect(subject.publisher).to eq("DataCite")
|
511
|
-
expect(subject.publication_year).to eq(2016)
|
512
|
-
expect(subject.resource_type_general).to eq("Text")
|
513
|
-
expect(subject.additional_type).to eq("ScholarlyArticle")
|
514
|
-
expect(subject.description).to eq("type"=>"Abstract", "text"=>"Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...")
|
515
|
-
end
|
516
|
-
|
517
|
-
it "change description" do
|
518
|
-
input = fixture_path + 'datacite.xml'
|
519
|
-
description = "Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for..."
|
520
|
-
subject = Bolognese::Metadata.new(input: input, description: description)
|
521
|
-
expect(subject.valid?).to be true
|
522
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
523
|
-
expect(subject.doi).to eq("10.5438/4k3m-nyvg")
|
524
|
-
expect(subject.title).to eq("Eating your own Dog Food")
|
525
|
-
expect(subject.publisher).to eq("DataCite")
|
526
|
-
expect(subject.publication_year).to eq(2016)
|
527
|
-
expect(subject.resource_type_general).to eq("Text")
|
528
|
-
expect(subject.additional_type).to eq("BlogPosting")
|
529
|
-
expect(subject.description).to eq(description)
|
530
|
-
end
|
531
|
-
|
532
|
-
it "change license" do
|
533
|
-
input = fixture_path + 'datacite.xml'
|
534
|
-
license = { "id"=>"http://creativecommons.org/publicdomain/zero/1.0" }
|
535
|
-
subject = Bolognese::Metadata.new(input: input, license: license)
|
536
|
-
expect(subject.valid?).to be true
|
537
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
538
|
-
expect(subject.doi).to eq("10.5438/4k3m-nyvg")
|
539
|
-
expect(subject.title).to eq("Eating your own Dog Food")
|
540
|
-
expect(subject.publisher).to eq("DataCite")
|
541
|
-
expect(subject.publication_year).to eq(2016)
|
542
|
-
expect(subject.resource_type_general).to eq("Text")
|
543
|
-
expect(subject.additional_type).to eq("BlogPosting")
|
544
|
-
expect(subject.license).to eq(license)
|
545
|
-
expect(subject.date_published).to eq("2016-12-20")
|
546
|
-
end
|
547
|
-
|
548
|
-
it "change date_published" do
|
549
|
-
input = fixture_path + 'datacite.xml'
|
550
|
-
date_published = "2017-12-20"
|
551
|
-
subject = Bolognese::Metadata.new(input: input, date_published: date_published)
|
552
|
-
expect(subject.valid?).to be true
|
553
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
554
|
-
expect(subject.doi).to eq("10.5438/4k3m-nyvg")
|
555
|
-
expect(subject.title).to eq("Eating your own Dog Food")
|
556
|
-
expect(subject.publisher).to eq("DataCite")
|
557
|
-
expect(subject.publication_year).to eq(2017)
|
558
|
-
expect(subject.resource_type_general).to eq("Text")
|
559
|
-
expect(subject.additional_type).to eq("BlogPosting")
|
560
|
-
expect(subject.date_published).to eq(date_published)
|
561
|
-
end
|
562
427
|
end
|
563
428
|
end
|
@@ -6,7 +6,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
6
6
|
|
7
7
|
subject { Bolognese::Metadata.new(input: input) }
|
8
8
|
|
9
|
-
context "get
|
9
|
+
context "get schema_org raw" do
|
10
10
|
it "BlogPosting" do
|
11
11
|
input = fixture_path + 'schema_org.json'
|
12
12
|
subject = Bolognese::Metadata.new(input: input)
|
@@ -33,8 +33,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
it "BlogPosting with new DOI" do
|
36
|
-
subject = Bolognese::Metadata.new(input: input)
|
37
|
-
subject.id = "https://doi.org/10.5438/0000-00ss"
|
36
|
+
subject = Bolognese::Metadata.new(input: input, doi: "10.5438/0000-00ss")
|
38
37
|
expect(subject.valid?).to be true
|
39
38
|
expect(subject.id).to eq("https://doi.org/10.5438/0000-00ss")
|
40
39
|
expect(subject.doi).to eq("10.5438/0000-00ss")
|
@@ -42,23 +41,14 @@ describe Bolognese::Metadata, vcr: true do
|
|
42
41
|
expect(subject.type).to eq("BlogPosting")
|
43
42
|
end
|
44
43
|
|
45
|
-
it "not found error" do
|
46
|
-
input = "https://doi.org/10.5438/4K3M-NYVGx"
|
47
|
-
subject = Bolognese::Metadata.new(input: input, from: "schema_org")
|
48
|
-
expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvgx")
|
49
|
-
expect(subject.exists?).to be false
|
50
|
-
expect(subject.state).to eq("not_found")
|
51
|
-
end
|
52
|
-
|
53
44
|
it "zenodo" do
|
54
45
|
input = "https://www.zenodo.org/record/1196821"
|
55
|
-
subject = Bolognese::Metadata.new(input: input, from: "schema_org"
|
56
|
-
subject.
|
57
|
-
#expect(subject.errors.size).to eq(2)
|
46
|
+
subject = Bolognese::Metadata.new(input: input, from: "schema_org")
|
47
|
+
expect(subject.errors.size).to eq(2)
|
58
48
|
expect(subject.errors.first).to eq("43:0: ERROR: Element '{http://datacite.org/schema/kernel-4}publisher': [facet 'minLength'] The value has a length of '0'; this underruns the allowed minimum length of '1'.")
|
59
|
-
expect(subject.id).to eq("https://doi.org/10.
|
60
|
-
expect(subject.doi).to eq("10.
|
61
|
-
expect(subject.b_url).to eq("https://
|
49
|
+
expect(subject.id).to eq("https://doi.org/10.5281/zenodo.1196821")
|
50
|
+
expect(subject.doi).to eq("10.5281/zenodo.1196821")
|
51
|
+
expect(subject.b_url).to eq("https://zenodo.org/record/1196821")
|
62
52
|
expect(subject.type).to eq("Dataset")
|
63
53
|
expect(subject.title).to eq("PsPM-SC4B: SCR, ECG, EMG, PSR and respiration measurements in a delay fear conditioning task with auditory CS and electrical US")
|
64
54
|
expect(subject.author.size).to eq(6)
|
@@ -67,11 +57,10 @@ describe Bolognese::Metadata, vcr: true do
|
|
67
57
|
|
68
58
|
it "pangaea" do
|
69
59
|
input = "https://doi.pangaea.de/10.1594/PANGAEA.836178"
|
70
|
-
subject = Bolognese::Metadata.new(input: input, from: "schema_org"
|
71
|
-
subject.id = "https://doi.org/10.5438/0000-00ss"
|
60
|
+
subject = Bolognese::Metadata.new(input: input, from: "schema_org")
|
72
61
|
expect(subject.valid?).to be true
|
73
|
-
expect(subject.id).to eq("https://doi.org/10.
|
74
|
-
expect(subject.doi).to eq("10.
|
62
|
+
expect(subject.id).to eq("https://doi.org/10.1594/pangaea.836178")
|
63
|
+
expect(subject.doi).to eq("10.1594/pangaea.836178")
|
75
64
|
expect(subject.b_url).to eq("https://doi.pangaea.de/10.1594/PANGAEA.836178")
|
76
65
|
expect(subject.type).to eq("Dataset")
|
77
66
|
expect(subject.title).to eq("Hydrological and meteorological investigations in a lake near Kangerlussuaq, west Greenland")
|
@@ -95,11 +84,10 @@ describe Bolognese::Metadata, vcr: true do
|
|
95
84
|
|
96
85
|
it "harvard dataverse" do
|
97
86
|
input = "https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/GAOC03"
|
98
|
-
subject = Bolognese::Metadata.new(input: input, from: "schema_org"
|
99
|
-
subject.id = "https://doi.org/10.3334/ornldaac/1418"
|
87
|
+
subject = Bolognese::Metadata.new(input: input, from: "schema_org")
|
100
88
|
expect(subject.valid?).to be true
|
101
|
-
expect(subject.id).to eq("https://doi.org/10.
|
102
|
-
expect(subject.doi).to eq("10.
|
89
|
+
expect(subject.id).to eq("https://doi.org/10.7910/dvn/gaoc03")
|
90
|
+
expect(subject.doi).to eq("10.7910/dvn/gaoc03")
|
103
91
|
expect(subject.type).to eq("Dataset")
|
104
92
|
expect(subject.title).to eq("The National Labor Force : SAKERNAS, 2008")
|
105
93
|
expect(subject.container_title).to eq("Harvard Dataverse")
|