relaton 1.7.pre7 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +34 -0
- data/.github/workflows/ubuntu.yml +32 -0
- data/.github/workflows/windows.yml +35 -0
- data/docs/README.adoc +3 -233
- data/lib/relaton/config.rb +2 -3
- data/lib/relaton/db.rb +35 -247
- data/lib/relaton/db_cache.rb +6 -28
- data/lib/relaton/processor.rb +0 -11
- data/lib/relaton/registry.rb +1 -1
- data/lib/relaton/version.rb +1 -1
- data/lib/relaton.rb +7 -8
- data/relaton.gemspec +6 -8
- data/spec/relaton/db_cache_spec.rb +1 -1
- data/spec/relaton/db_spec.rb +0 -145
- data/spec/relaton/processor_spec.rb +0 -4
- data/spec/relaton/regirtry_spec.rb +44 -54
- data/spec/relaton_spec.rb +19 -120
- data/spec/vcr_cassetes/19133_2005.yml +20 -20
- data/spec/vcr_cassetes/cc_dir_10005_2019.yml +10 -10
- data/spec/vcr_cassetes/fisp_140.yml +6 -6
- data/spec/vcr_cassetes/gb_t_20223_2006.yml +11 -15
- data/spec/vcr_cassetes/ieee_528_2019.yml +17 -17
- data/spec/vcr_cassetes/iho_b_11.yml +15 -15
- data/spec/vcr_cassetes/iso_111111119115_1.yml +5 -5
- data/spec/vcr_cassetes/iso_19115.yml +22 -22
- data/spec/vcr_cassetes/iso_19115_1.yml +20 -20
- data/spec/vcr_cassetes/iso_19115_1_2.yml +39 -39
- data/spec/vcr_cassetes/iso_awi_24229.yml +22 -22
- data/spec/vcr_cassetes/ogc_19_025r1.yml +1902 -2554
- data/spec/vcr_cassetes/ogm_ami4ccm_1_0.yml +7 -7
- data/spec/vcr_cassetes/rfc_8341.yml +15 -47
- data/spec/vcr_cassetes/sp_800_38b.yml +6 -6
- data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +30 -30
- data/spec/vcr_cassetes/w3c_json_ld11.yml +12 -12
- metadata +51 -61
- data/.github/workflows/rake.yml +0 -46
- data/globalcache/iec/iec_60050_102_2007.xml +0 -58
- data/globalcache/iec/version +0 -1
- data/lib/relaton/workers_pool.rb +0 -23
- data/spec/vcr_cassetes/cie_001_1980.yml +0 -120
- data/spec/vcr_cassetes/ecma_6.yml +0 -159
- data/spec/vcr_cassetes/hist_cmbined_included.yml +0 -105
- data/spec/vcr_cassetes/iec_60050_102_2007.yml +0 -285
- data/spec/vcr_cassetes/iec_combined_included.yml +0 -945
- data/spec/vcr_cassetes/iso_combined_applied.yml +0 -361
- data/spec/vcr_cassetes/iso_combined_included.yml +0 -361
- data/spec/vcr_cassetes/itu_combined_included.yml +0 -1296
- data/spec/vcr_cassetes/rfc_unsuccess.yml +0 -70
@@ -19,11 +19,11 @@ http_interactions:
|
|
19
19
|
message: '200'
|
20
20
|
headers:
|
21
21
|
Date:
|
22
|
-
-
|
22
|
+
- Wed, 25 Nov 2020 23:46:12 GMT
|
23
23
|
Server:
|
24
24
|
- Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 mod_perl/2.0.10 Perl/v5.16.3
|
25
25
|
X-Arequestid:
|
26
|
-
-
|
26
|
+
- 1126x522352x2
|
27
27
|
X-Xss-Protection:
|
28
28
|
- 1; mode=block
|
29
29
|
X-Content-Type-Options:
|
@@ -33,10 +33,10 @@ http_interactions:
|
|
33
33
|
Content-Security-Policy:
|
34
34
|
- frame-ancestors 'self'
|
35
35
|
X-Asen:
|
36
|
-
- SEN-
|
36
|
+
- SEN-L16286435
|
37
37
|
Set-Cookie:
|
38
|
-
- JSESSIONID=
|
39
|
-
- atlassian.xsrf.token=BZ1S-78OQ-47MN-
|
38
|
+
- JSESSIONID=D50D2FC40AAD4BEA8250D5411C38AB50; Path=/; Secure; HttpOnly
|
39
|
+
- atlassian.xsrf.token=BZ1S-78OQ-47MN-5Q1I_5a39689771b6f3b17836e209fe21bd33cdb690b8_lout;
|
40
40
|
Path=/; Secure
|
41
41
|
X-Ausername:
|
42
42
|
- anonymous
|
@@ -49,7 +49,7 @@ http_interactions:
|
|
49
49
|
body:
|
50
50
|
encoding: ASCII-8BIT
|
51
51
|
string: !binary |-
|
52
|
-
CgoKCgoKCgoKCgoKCgoKCjxodG1sIGNsYXNzPSJqcyBuby10b3VjaCBjc3N0cmFuc2Zvcm1zM2QgY3NzdHJhbnNpdGlvbnMiIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8dGl0bGU+QWJvdXQgdGhlIEFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIFNwZWNpZmljYXRpb24gVmVyc2lvbiAxLjA8L3RpdGxlPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS8iLz4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0eXBlPSJhcHBsaWNhdGlvbi9yZGYreG1sIiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS8iLz4KICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+WyB7CiAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9jYXRlZ29yeSIsCiAgIkB0eXBlIiA6IFsgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI0Fubm90YXRpb25Qcm9wZXJ0eSIgXQp9LCB7CiAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00iLAogICJAdHlwZSIgOiBbICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNOYW1lZEluZGl2aWR1YWwiLCAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9TcGVjaWZpY2F0aW9uIiBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2NhdGVnb3J5IiA6IFsgewogICAgIkB2YWx1ZSIgOiAiY29tcG9uZW50LWFyY2hpdGVjdHVyZSIKICB9LCB7CiAgICAiQHZhbHVlIiA6ICJjb3JiYS1wbGF0Zm9ybSIKICB9IF0sCiAgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvcHVibGljYXRpb25EYXRlIiA6IFsgewogICAgIkB0eXBlIiA6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNkYXRlVGltZSIsCiAgICAiQHZhbHVlIiA6ICIyMDEzLTAzLTMxVDAwOjAwOjAwLTA0MDAiCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3NwZWNpZmljYXRpb25BYmJyZXZpYXRpb24iIDogWyB7CiAgICAiQHZhbHVlIiA6ICJBTUk0Q0NNIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uQWJzdHJhY3QiIDogWyB7CiAgICAiQHZhbHVlIiA6ICJUaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBhIG1lY2hhbmlzbSB0byBwZXJmb3JtIGFzeW5jaHJvbm91cyBtZXRob2QgaW52b2NhdGlvbiBmb3IgQ0NNIChBTUk0Q0NNKS4iCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3NwZWNpZmljYXRpb25UaXRsZSIgOiBbIHsKICAgICJAdmFsdWUiIDogIkFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uVVJMIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS5odG1sIgogIH0gXQp9LCB7CiAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS8iLAogICJAdHlwZSIgOiBbICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNPbnRvbG9neSIgXSwKICAiaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zL2xpY2Vuc2UiIDogWyB7CiAgICAiQGlkIiA6ICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL01JVExpY2Vuc2UiCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2NyZWF0aW9uRGF0ZSIgOiBbIHsKICAgICJAdHlwZSIgOiAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGF0ZVRpbWUiLAogICAgIkB2YWx1ZSIgOiAiMjAxMy0wMy0zMVQwMDowMDowMC0wNDAwIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9maWxlbmFtZSIgOiBbIHsKICAgICJAdmFsdWUiIDogIkFib3V0LUFNSTRDQ00ucmRmIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI2xhYmVsIiA6IFsgewogICAgIkB2YWx1ZSIgOiAiQWJvdXQgdGhlIEFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIFNwZWNpZmljYXRpb24gVmVyc2lvbiAxLjAiCiAgfSBdLAogICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNpbXBvcnRzIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS8iCiAgfSBdLAogICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCN2ZXJzaW9uSVJJIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00vIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjdmVyc2lvbkluZm8iIDogWyB7CiAgICAiQHZhbHVlIiA6ICJHZW5lcmF0ZWQgb24gMjAyMS0wMy0xNFQxOToxMzoyNS0wNDAwIgogIH0gXQp9IF08L3NjcmlwdD4KICAgIDwhLS0gSEVBRCBJTkNMVURFIEJFR0lOIC0tPgo8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKPCEtLSBNb2JpbGUgU3BlY2lmaWMgTWV0YXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xLjAsbWF4aW11bS1zY2FsZT0xLjAsdXNlci1zY2FsYWJsZT0wIj4KCjwhLS0gR29vZ2xlIFdlYiBGb250cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KPGxpbmsgaHJlZj0iLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUFudG9ufE11bGk6MzAwLDQwMCw0MDBpdGFsaWMsMzAwaXRhbGljfE9zd2FsZCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Cgo8IS0tIEdsb2JhbCBTaXRlIFRhZyAoZ3RhZy5qcykgLSBHb29nbGUgQW5hbHl0aWNzIC0tPgo8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1VQS0xMDY5NDE0ODgtMSI+PC9zY3JpcHQ+CjxzY3JpcHQ+CiAgICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKICAgIGZ1bmN0aW9uIGd0YWcoKXtkYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpfTsKICAgIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7CiAgICBndGFnKCdjb25maWcnLCAnVUEtMTA2OTQxNDg4LTEnKTsKPC9zY3JpcHQ+CjwhLS0gR29vZ2xlIEFuYWx5dGljcyAtLT4KCjwhLS0gQ1NTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgo8IS0tIEJhc2UgKyBWZW5kb3JzIENTUyAtLT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL2Nzcy9ib290c3RyYXAubWluLmNzcyI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy9jc3MvZm9udHMvZm9udC1hd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9vd2wtY2Fyb3VzZWwvb3dsLmNhcm91c2VsLmNzcyIgbWVkaWE9InNjcmVlbiI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy92ZW5kb3Ivb3dsLWNhcm91c2VsL293bC50aGVtZS5jc3MiIG1lZGlhPSJzY3JlZW4iPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL21hZ25pZmljLXBvcHVwL21hZ25pZmljLXBvcHVwLmNzcyIgbWVkaWE9InNjcmVlbiI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy92ZW5kb3IvbWVkaWFlbGVtZW50L21lZGlhZWxlbWVudHBsYXllci5jc3MiIC8+Cgo8IS0tIFRoZW1lIENTUy0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvY3NzL3RoZW1lLmNzcyI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy9jc3MvdGhlbWUtZWxlbWVudHMuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL2Nzcy9hbmltYXRlLm1pbi5jc3MiPgoKPCEtLSBTa2luIENTUyAtLT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL2Nzcy9za2lucy90ZWFsLmNzcyI+Cgo8IS0tIEN1c3RvbSBDU1MtLT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL2Nzcy9jdXN0b20uY3NzIj4KCjwhLS0gSGVhZCBMaWJzIC0tPgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvbW9kZXJuaXpyLmpzIj48L3NjcmlwdD4KCjwhLS1baWYgbHQgSUUgOV0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cDovL2h0bWw1c2hpbS5nb29nbGVjb2RlLmNvbS9zdm4vdHJ1bmsvaHRtbDUuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9InZlbmRvci9yZXNwb25kLm1pbi5qcyI+PC9zY3JpcHQ+CjwhW2VuZGlmXS0tPgoKPCEtLVtpZiBJRV0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9pZS5jc3MiPgo8IVtlbmRpZl0tLT4KCjwhLS0gRmF2aWNvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLy93d3cub21nLm9yZy9pbWFnZXMvZmF2aWNvbi5pY28iPgo8bGluayByZWw9Imljb24iIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24ucG5nIj4KPGxpbmsgcmVsPSJpY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tNzJ4NzIucG5nIj4KPGxpbmsgcmVsPSJpY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLy93d3cub21nLm9yZy9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi0xMTR4MTE0LnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgc2l6ZXM9IjE0NHgxNDQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTQ0eDE0NC5wbmciPgoKPCEtLSBzb3J0YWJsZSB0YWJsZXMgLS0+CjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9zb3J0YWJsZS8wLjguMC9qcy9zb3J0YWJsZS5taW4uanMiIGludGVncml0eT0ic2hhMjU2LWdDdGRBMWNMSzJFaFFaQ01oaHZHelVzV00vZnN4dEoySUltVUorNFVPUDg9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9zb3J0YWJsZS8wLjguMC9jc3Mvc29ydGFibGUtdGhlbWUtbWluaW1hbC5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTI1Ni1sVXBhNVp6SytmRUpuYzRMdGVHZWhGL0lFWVFlYU9NdmtIeG43eWNuMSs0PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgLz48IS0tIHNvcnRhYmxlIHRhYmxlcyAtLT4KCjwhLS0gSW5zdGFuY2VCZWdpbkVkaXRhYmxlIG5hbWU9ImhlYWQiIC0tPgo8IS0tIEluc3RhbmNlRW5kRWRpdGFibGUgLS0+CjxzdHlsZSBpZD0iZml0LXZpZHMtc3R5bGUiPgogICAgLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXJ7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjA7fQogICAgLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIgaWZyYW1lLC5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIG9iamVjdCwuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciBlbWJlZCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7fQo8L3N0eWxlPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvL3Muc3dpZnR5cGVjZG4uY29tL2Fzc2V0cy9uZXdfZW1iZWQtNTlhZjU3YjI4MDFkN2Q4Y2NhODBlYmUwNDNjZGNmODAuY3NzIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgIC5zdC1pbnN0YWxsLVVKd2ttUHpnakhCQ3hIeXh6Q2FqIC5zdC11aS1yZXN1bHQKICAgIC5zdC11aS10eXBlLWhlYWRpbmcgeyBjb2xvcjojMDA4OWQ3ICFpbXBvcnRhbnQgfQogICAgLnN0LWluc3RhbGwtVUp3a21QemdqSEJDeEh5eHpDYWogLnN0LXVpLXJlc3VsdCBlbSB7Zm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OmJvbGQ7IGJhY2tncm91bmQtY29sb3I6I2Y2ZmNmZSAhaW1wb3J0YW50fQoKICAgIHVsLmRkLWxpc3QgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICB9Cjwvc3R5bGU+CjwhLS0gSEVBRCBJTkNMVURFIEVORCAtLT4KPC9oZWFkPgo8Ym9keT4KICAgIDwhLS0gQk9EWSBIRUFERVIgSU5DTFVERSBCRUdJTiAtLT4KPGhlYWRlciBjbGFzcz0iaGVhZGVyIGhlYWRlci1kZWZhdWx0Ij4KICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AtbGVmdCI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImhlYWRlci10b3AtbmF2Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9pbmRleC5odG0iPjxzcGFuIHN0eWxlPSJjb2xvcjp3aGl0ZSI+SG9tZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9zaXRlLW1hcC5odG0iPjxzcGFuIHN0eWxlPSJjb2xvcjp3aGl0ZSI+U2l0ZSBNYXA8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvbGVnYWwvaW5kZXguaHRtIj48c3BhbiBzdHlsZT0iY29sb3I6d2hpdGUiPkxlZ2FsPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaGVhZGVyLXRvcC1uYXYiPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vT2JqZWN0LU1hbmFnZW1lbnQtR3JvdXAtMTcxNTM0NDEwMDIyLyI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+PC9hPiZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vb2JqZWN0bWdtdGdyb3VwIj48aSBjbGFzcz0iZmEgZmEtdHdpdHRlciI+PC9pPjwvYT4mbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vZ3JvdXBzLzY2Nzk5Ij48aSBjbGFzcz0iZmEgZmEtbGlua2VkaW4iPjwvaT48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iaHR0cDovL2Jsb2cub21nLm9yZy8iPjxpIGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8iPjwvaT48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3R1VGoxd3R5d29qWU5ab3lQZVlBRnciPjxpIGNsYXNzPSJmYSBmYS15b3V0dWJlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRvcC1yaWdodCI+CiAgICAgICAgICAgICAgICA8IS0tIEFkZFNlYXJjaCAtLT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FkZHNlYXJjaC5jb20vanMvP2tleT1hNzdmYjFlYjJjM2M4ZmFmZTJiMzAxODI0MzY5ZWQ5NyZjYXRlZ29yaWVzPTB4d3d3Lm9tZy5vcmciPjwvc2NyaXB0PgogICAgICAgICAgICAgICAgPCEtLSBBZGRTZWFyY2ggLS0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgDQoNCg0KCQk8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQgZmhtbSI+DQoJCQkJCQk8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4NCgkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUiPg0KCQkJCQkJCQk8aSBjbGFzcz0iZmEgZmEtYmFycyI+PC9pPg0KCQkJCQkJCTwvYnV0dG9uPg0KCQkJCQkJCTwhLS0gTG9nbyAtLT4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJsb2dvIj4NCgkJCQkJCQkJPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmRleC5odG0iPjxpbWcgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL2ltYWdlcy9sb2dvcy9PTUctbG9nby13ZWItc20uc3ZnIiBhbHQ9Ik9NRyBsb2dvIj48L2E+CQ0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTwhLS0gTG9nbyAvIEVuZCAtLT4NCgkJCQkJCTwvZGl2PjwhLS0gZW5kIG5hdmJhci1oZWFkZXIgLS0+DQoNCgkJCQkJCTxkaXYgaWQ9Im1haW4tbmF2IiBjbGFzcz0ibmF2YmFyLWNvbGxhcHNlIGNvbGxhcHNlIj4NCgkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2Ij4NCgkJCQkJCQkJPGxpIGNsYXNzPSJkcm9wZG93biI+DQoJCQkJCQkJCQk8YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Fib3V0L2luZGV4Lmh0bSIgZGF0YS10b2dnbGU9IiIgY2xhc3M9IiI+QWJvdXQgdXMgPGIgY2xhc3M9IiI+PC9iPjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJDQoJCQkJCQkJCTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJlc291cmNlIEh1YiBtZW51IC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4NCgkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+UmVzb3VyY2UgSHViIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4NCgkJCQkJCQkJCTx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSIgcm9sZT0ibWVudSI+DQoJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvZXZlbnRzL2luZGV4Lmh0bSI+RXZlbnRzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaG90LXRvcGljcy9pbmRleC5odG0iPkhvdCBUb3BpY3M8L2E+PC9saT4NCgkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly9wdWIub21nLm9yZy8iPk9NRyBTdGFuZGFyZGl6ZTwvYT48L2xpPg0KCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL25ld3MvcmVsZWFzZXMvaW5kZXguaHRtIj5QcmVzcyBSb29tPC9hPjwvbGk+DQoJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvb21nLWRpcmVjdG9yaWVzLmh0bSI+VmVuZG9yIERpcmVjdG9yaWVzPC9hPjwvbGk+DQoJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvd2ViaW5hcnMvaW5kZXguaHRtIj5XZWJpbmFyczwvYT48L2xpPg0KCQkJCQkJCQkJICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9uZXdzL3doaXRlcGFwZXJzL2luZGV4Lmh0bSI+V2hpdGUgUGFwZXJzPC9hPjwvbGk+DQoJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSZXNvdXJjZSBIdWIgbWVudSAtLT4NCg0KCQkJCQkJCQ0KCQkJCQkJCQkJPCEtLSBTcGVjcyAtLT4NCgkJCQkJCQkJPGxpIGNsYXNzPSJkcm9wZG93biBmaG1tLWZ3Ij4NCgkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+T01HIFNwZWNpZmljYXRpb25zIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4NCgkJCQkJCQkJCTx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBmdWxsIj4NCgkJCQkJCQkJCQk8bGkgY2xhc3M9ImZobW0tY29udGVudCI+DQoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InJvdyI+DQoJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tMyI+DQoJCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+U3BlY2lmaWNhdGlvbnM8L2gzPg0KCQkJCQkJCQkJCQkJCTx1bD4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy8iPkFkb3B0ZWQgU3BlY2lmaWNhdGlvbnM8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvZmF4dm90ZXMvIiB0YXJnZXQ9Il9ibGFuayI+RmF4dm90ZXMgU3RhdHVzPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9pc3N1ZXMvbGlzdHMiPklzc3VlczwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCSAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvcHVibGljX3NjaGVkdWxlLyI+UkZJICZhbXA7IFJGUDwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jZ2ktYmluL2RvYz9zbXNjLzIwMTgtMDgtMDEiPlNwZWNpZmljYXRpb24gR3VpZGVsaW5lczwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy90ZWNobm9sb2d5L2RvY3VtZW50cy92YXVsdC5odG0iPlNwZWNpZmljYXRpb24gVmF1bHQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJCQkgIDwvdWw+DQoJCQkJCQkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMyI+DQoJCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL2luZGV4Lmh0bSI+SW5kdXN0cmllczwvYT48L2gzPg0KCQkJCQkJCQkJCQkJCTx1bD4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9maW5hbmNlLmh0bSI+RmluYW5jZTwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCSAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL2dvdmVybm1lbnQuaHRtIj5Hb3Zlcm5tZW50PC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvaGVhbHRoY2FyZS5odG0iPkhlYWx0aGNhcmU8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9tYW51ZmFjdHVyaW5nLmh0bSI+TWFudWZhY3R1cmluZzwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL21pbGl0YXJ5Lmh0bSI+TWlsaXRhcnk8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9yZXRhaWwuaHRtIj5SZXRhaWw8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9zcGFjZS5odG0iPlNwYWNlIEV4cGxvcmF0aW9uPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tMyI+DQoJCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+RG9jdW1lbnQgSGVscDwvaDM+DQoJCQkJCQkJCQkJCQkJPHVsPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy90ZWNobm9sb2d5L2Rvd25sb2FkLmh0bSI+RG93bmxvYWQgSW5zdHJ1Y3Rpb25zPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jZ2ktYmluL2RvYz9oaCI+SG93IHRvIEZpbmQgYSBEb2N1bWVudDwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9pc3N1ZXMvY3JlYXRlLW5ldy1pc3N1ZSI+UmVwb3J0IGFuIElzc3VlPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2NnaS1iaW4vYXBwcy9kb2NsaXN0LnBsIj5TZWFyY2ggRG9jdW1lbnRzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL21lbWJlcnNfZG9jc2VhcmNoLmh0bSI+U2VhcmNoIERvY3VtZW50cyAoRnVsbCk8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvZ2V0dGluZ3N0YXJ0ZWQvdGVybXNfYW5kX2Fjcm9ueW1zLmh0bSI+VGVybXMgJmFtcDsgQWNyb255bXM8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tMyI+DQoJCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+T01HIGluIEFjdGlvbiE8L2gzPg0KCQkJCQkJCQkJCQkJCTx1bD4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvcHVibGljX3NjaGVkdWxlLyI+V29yayBpbiBQcm9ncmVzczwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy90ZWNobm9sb2d5L3JmYy1mb3JtLmh0bSI+UkZDIENvbW1lbnRzIEZvcm08L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaG9tZXBhZ2VzL2luZGV4Lmh0bSI+VGVjaG5vbG9neSBDb21taXR0ZWVzIERpcmVjdG9yeTwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9hYm91dC9vbWctc3RhbmRhcmRzLWludHJvZHVjdGlvbi5odG0iPlBvcHVsYXIgT01HIFN0YW5kYXJkczwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCSAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9ldmVudHMvc3R1ZGVudC1wb3N0ZXItc2Vzc2lvbi1wcm9ncmFtL2luZGV4Lmh0bSI+U3R1ZGVudCBSZXNlYXJjaDwvYT48L2xpPg0KCQkJCQkJCQkJCQkJICA8L3VsPg0KCQkJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCTwvbGk+DQoJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3BlY3MgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByb2dyYW1zIC0tPg0KCQkJCQkJCQkNCgkJCQkJCQkJPGxpIGNsYXNzPSJkcm9wZG93biBkcm9wZG93bi1yaWdodCBmaG1tLWZ3Ij4NCgkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+UHJvZ3JhbXMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPg0KCQkJCQkJCQkJDQoJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgZnVsbCI+DQoJCQkJCQkJCQkJPGxpIGNsYXNzPSJmaG1tLWNvbnRlbnQgd2l0aG91dGRlc2MiPg0KCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPg0KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTYiPg0KCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPkNlcnRpZmljYXRpb25zPC9oMz4NCgkJCQkJCQkJCQkJCQk8dWw+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29jdXAtMi9pbmRleC5odG0iPk9DVVAgMiAtIFVNTCBDZXJ0aWZpY2F0aW9uPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29jZWItMi9pbmRleC5odG0iPk9DRUIgMiAtIEJQTSBDZXJ0aWZpY2F0aW9uPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29jc21wL2luZGV4Lmh0bSI+T0NTTVAgLSBTeXNNTCBDZXJ0aWZpY2F0aW9uPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29jcmVzL2luZGV4Lmh0bSI+T0NSRVMgLSBSZWFsLXRpbWUgQ2VydGlmaWNhdGlvbjwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jZ2ktYmluL3NlYXJjaGNlcnQuY2dpIiB0YXJnZXQ9Il9ibGFuayI+Q2VydGlmaWVkIFByb2Zlc3Npb25hbHMgRGlyZWN0b3J5PC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTYiPg0KCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPk1hbmFnZWQgUHJvZ3JhbXM8L2gzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5icG0tcGx1cy5vcmcvIiBvbmNsaWNrPSJ0cmFja091dGJvdW5kTGluaygnaHR0cHM6Ly93d3cuYnBtLXBsdXMub3JnLycpOyByZXR1cm4gZmFsc2U7Ij48aSBjbGFzcz0iZmEgZmEtaGVhcnRiZWF0Ij48L2k+IEJQTSYjNDM7IEhlYWx0aDwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9pdC1jaXNxLm9yZyIgb25jbGljaz0idHJhY2tPdXRib3VuZExpbmsoJ2h0dHBzOi8vaXQtY2lzcS5vcmcnKTsgcmV0dXJuIGZhbHNlOyI+PGkgY2xhc3M9ImZhIGZhLWNvZGUiPjwvaT4gQ29uc29ydGl1bSBmb3IgSW5mb3JtYXRpb24gJmFtcDsgU29mdHdhcmUgUXVhbGl0eSAgLSBDSVNRPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGRzLWZvdW5kYXRpb24ub3JnLyIgb25jbGljaz0idHJhY2tPdXRib3VuZExpbmsoJ2h0dHBzOi8vd3d3LmRkcy1mb3VuZGF0aW9uLm9yZy8nKTsgcmV0dXJuIGZhbHNlOyI+PGkgY2xhc3M9ImZhIGZhLWNvbm5lY3RkZXZlbG9wIj48L2k+IEREUyBGb3VuZGF0aW9uPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuaWljb25zb3J0aXVtLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3d3dy5paWNvbnNvcnRpdW0ub3JnLycpOyByZXR1cm4gZmFsc2U7Ij48aSBjbGFzcz0iZmEgZmEtZ2VhciI+PC9pPiBJbmR1c3RyaWFsIEludGVybmV0IENvbnNvcnRpdW0gLSBJSUM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQoJCQkJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJCQkJPC9kaXY+PCEtLSBlbmQgcm93IC0tPg0KCQkJCQkJCQkJCTwvbGk+PCEtLSBlbmQgZ3JpZCBkZW1vIC0tPg0KCQkJCQkJCQkJPC91bD48IS0tIGVuZCBkcm9wIGRvd24gbWVudSAtLT4NCgkJCQkJCQkJPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJvZ3JhbXMgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJPCEtLSBNZW1iZXJzaGlwIC0tPg0KCQkJCQkJCQkgPGxpIGNsYXNzPSJkcm9wZG93biI+DQoJCQkJCQkJCQk8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPk1lbWJlcnNoaXAgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPg0KCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Fib3V0L25ldy10by1vbWcuaHRtIj5OZXcgdG8gT01HPzwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvYmUtYS1tZW1iZXIuaHRtIj5CZWNvbWUgYSBNZW1iZXI8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2NnaS1iaW4vYXBwcy9tZW1iZXJzZWFyY2gucGwiPkN1cnJlbnQgTWVtYmVyczwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvcXVvdGVzLmh0bSI+TWVtYmVyIFF1b3RlczwvYT48L2xpPg0KICAgICANCgkJCQkJCQkJICAgPC91bD4NCgkJCQkJCQkJPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNZW1iZXJzaGlwIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQkJPCEtLSBNZW1iZXJzaGlwIC0tPg0KCQkJCQkJCQkgPGxpIGNsYXNzPSJkcm9wZG93biI+DQoJCQkJCQkJCQk8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPk1lbWJlcnMgQXJlYSA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+DQoJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbWVtYmVycy8iPjxpIGNsYXNzPSJmYSBmYS1sb2NrIj48L2k+TG9nLUluPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9sb2dpbi9pbmRleC5odG0iPjxpIGNsYXNzPSJmYSBmYS11bmxvY2siPjwvaT5Mb2ctSW4gQXNzaXN0YW5jZTwvYT48L2xpPg0KCQkJCQkJCQkJDQoJCQkJCQkJCQkNCgkJCQkJCQkJCQkNCgkJCQkJCQkJICAgPC91bD4NCgkJCQkJCQkJPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNZW1iZXJzaGlwIC0tPg0KCQkJCQkJCTwvdWw+PCEtLSBlbmQgbmF2IG5hdmJhci1uYXYgLS0+DQoJCQkJCQk8L2Rpdj48IS0tIGVuZCAjbWFpbi1uYXYgLS0+DQoNCgkJCQkJPC9uYXY+DQoNCg0KDQoKICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2hlYWRlcj4KPCEtLSBCT0RZIEhFQURFUiBJTkNMVURFIEVORCAtLT4KPGRpdiBjbGFzcz0ibWFpbiIgcm9sZT0ibWFpbiI+IDwhLS0gTWFpbiAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJwYWdlLWhlYWRpbmciIHJvbGU9Im5hdmlnYXRpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtOSI+CiAgICAgICAgICAgICAgICAgICAgPGgxPkFib3V0IHRoZSBBc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTSBTcGVjaWZpY2F0aW9uIFZlcnNpb24gMS4wPC9oMT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMiPgogICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJtZW51IiBjbGFzcz0iYnJlYWRjcnVtYiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSIgY2xhc3M9ImFjdGl2ZSI+MS4wPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vIj5BTUk0Q0NNPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJtZW51aXRlbSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjIj5TcGVjaWZpY2F0aW9uczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8ZGl2IGNsYXNzPSJwYWdlLWNvbnRlbnQiIHJvbGU9ImRpcmVjdG9yeSI+CiAgICAgICAgPHNlY3Rpb24gaWQ9ImRvY3VtZW50LW1ldGFkYXRhIiByb2xlPSJjb21wbGVtZW50YXJ5IiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxoMSBjbGFzcz0ic3BlYy1hY3JvbnltIGNvbC1tZC0zIj5BTUk0Q0NN4oSiPC9oMT4KICAgICAgICAgICAgICAgIDxoMSBjbGFzcz0ic3BlYy1uYW1lIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06IG5vbmUiPkFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNPC9oMT4KCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnkiPlRoaXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIGEgbWVjaGFuaXNtIHRvIHBlcmZvcm0gYXN5bmNocm9ub3VzIG1ldGhvZCBpbnZvY2F0aW9uIGZvciBDQ00gKEFNSTRDQ00pLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkbCBjbGFzcz0iZGwtaG9yaXpvbnRhbCBjb2wtbWQtMTEiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gdGl0bGUgLS0+CiAgICAgICAgICAgICAgICAgICAgPGR0PlRpdGxlOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkPkFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNPC9kZD4KICAgICAgICAgICAgICAgICAgICA8IS0tIGFjcm9ueW0gLS0+CiAgICAgICAgICAgICAgICAgICAgPGR0PkFjcm9ueW06PC9kdD4KICAgICAgICAgICAgICAgICAgICA8ZGQ+QU1JNENDTeKEojwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHZlcnNpb24gLS0+CiAgICAgICAgICAgICAgICAgICAgPGR0PlZlcnNpb246PC9kdD4KICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0+VGhpcyB2ZXJzaW9uIHdhcyBzdXBlcnNlZGVkIGJ5IGEgbmV3ZXIgaW52ZW50b3J5LiBUaGUgbGF0ZXN0IHZlcnNpb24gY2FuIGJlIGZvdW5kIGhlcmU6IDxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8iPmh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzwvYT48L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBkb2N1bWVudCBzdGF0dXMgLS0+CiAgICAgICAgICAgICAgICAgICAgPGR0PkRvY3VtZW50IFN0YXR1czo8L2R0PgogICAgICAgICAgICAgICAgICAgIDxkZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJyaWdodCIgZGF0YS1jb250YWluZXI9J2JvZHknCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJGb3JtYWwgU3BlY2lmaWNhdGlvbnMgaGF2ZSBiZWVuIGFwcHJvdmVkIGJ5IE9NRyBCb2FyZCBvZiBEaXJlY3RvcnMgYW5kIGhhdmUgYmVlbiBlZGl0ZWQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hbCAmIzk0MzI7CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICA8IS0tIHB1YmxpY2F0aW9uIGRhdGUgLS0+CiAgICAgICAgICAgICAgICAgICAgPGR0PlB1YmxpY2F0aW9uIERhdGU6PC9kdD4KICAgICAgICAgICAgICAgICAgICA8ZGQ+ICAgICAgICAgICAgTWFyY2ggMjAxMwogICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICA8IS0tIGNhdGVnb3JpZXMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PkNhdGVnb3JpZXM6PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRkIHJvbGU9Imxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Imdyb3VwIiBjbGFzcz0ibGlzdC1pbmxpbmUgZGQtbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Imxpc3RpdGVtIiBjbGFzcz0idGV4dC1jYXBpdGFsaXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJiYWRnZSBiYWRnZS1pbmZvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL2NhdGVnb3J5L2NvcmJhLXBsYXRmb3JtLyI+PGVtPkNvcmJhIFBsYXRmb3JtPC9lbT48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Imxpc3RpdGVtIiBjbGFzcz0idGV4dC1jYXBpdGFsaXplIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJiYWRnZSBiYWRnZS1pbmZvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL2NhdGVnb3J5L2NvbXBvbmVudC1hcmNoaXRlY3R1cmUvIj48ZW0+Q29tcG9uZW50IEFyY2hpdGVjdHVyZTwvZW0+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBpcHIgbW9kZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9InJpZ2h0IiBkYXRhLWNvbnRhaW5lcj0nYm9keScgZGF0YS1odG1sPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9J09NRyYjMzk7cyBQb2xpY3kgb24gSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cyBpcyBkZXNpZ25lZCB0byBlbmFibGUgdGhlIG9wZW4gZGV2ZWxvcG1lbnQsIGRpc3NlbWluYXRpb24sIGFuZCB1c2Ugb2YgaXRzIHNwZWNpZmljYXRpb25zLCBhbmQgdGhlaXIgYnJvYWQgaW1wbGVtZW50YXRpb24gYW5kIHVwdGFrZS4gU3BlY2lmaWNhdGlvbnMsIGluY2x1ZGluZyBGaW5hbGl6YXRpb24vUmV2aXNpb24gVGFzayBGb3JjZSBSZXBvcnRzIGFyZSByZXF1aXJlZCB0byBoYXZlIGEgZGVjbGFyZWQgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cyBzdGF0ZW1lbnQgYmFzZWQgb24gZWl0aGVyIFJBTkQsIFJGIG9uIExpbWl0ZWQgVGVybXMsIG9yIE5vbi1Bc3NlcnQuPGJyLz5TZWUgdGhlIE9NRyBQb2xpY3kgU3RhdGVtZW50LCBJbnRlbGxlY3R1YWwgUHJvcGVydHkgUmlnaHRzLCBjbGljayB0aGUgbGluayBmb3IgZGV0YWlscy4nPiA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vZG9jLm9tZy5vcmcvaXByIj5JUFIgTW9kZSAmIzk0MzI7PC9hPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJyaWdodCIgZGF0YS1jb250YWluZXI9J2JvZHknCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0nRWFjaCBPYmxpZ2F0ZWQgUGFydHkgaW4gYW4gUkYgb24gTGltaXRlZCBUZXJtcyBJUFIgTW9kZSBBZG9wdGlvbiBvciBSZXZpc2lvbiBQcm9jZXNzIGNvdmVuYW50cyB0aGF0IGl0IHdpbGwgZ3JhbnQgdG8gYW4gdW5yZXN0cmljdGVkIG51bWJlciBvZiBhcHBsaWNhbnRzIGEgcm95YWx0eSBhbmQgZmVlIGZyZWUsIG5vbmV4Y2x1c2l2ZSwgd29ybGR3aWRlLCBub24tc3VibGljZW5zYWJsZSwgcGVycGV0dWFsIHBhdGVudCBsaWNlbnNlIHRvIGl0cyBFc3NlbnRpYWwgQ2xhaW1zJz5SRi1MaW1pdGVkICYjOTQzMjs8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEiIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDVweDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZG93bmxvYWQtZG9jdW1lbnQiIGRhdGEtc3BlYz0iQU1JNENDTS8xLjAiIGRhdGEtbGFiZWw9IkFNSTRDQ00vMS4wL1BERiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL1BERiIgdGl0bGU9IkNsaWNrIHRvIERvd25sb2FkIFNwZWNpZmljYXRvbiBEb2N1bWVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZmlsZS1wZGYtbyBmYS0zeCI+PC9pPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmljYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy77+977+977+9LyI+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBpZD0idG9jIiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGgyIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjEiPlRhYmxlIE9mIENvbnRlbnRzPC9oMj4KICAgICAgICAgICAgPHVsIHJvbGU9ImRpcmVjdG9yeSIgY2xhc3M9InRvYyI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2RvY3VtZW50LW1ldGFkYXRhIj5BYm91dCB0aGUgU3BlY2lmaWNhdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNjb21wYW5pZXMiPkNvbXBhbmllcyB0aGF0IGhhdmUgY29udHJpYnV0ZWQgdG8gdGhlIGRldmVsb3BtZW50IG9mIHRoaXMgU3BlY2lmaWNhdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNkb2N1bWVudHMiPlNwZWNpZmljYXRpb24gRG9jdW1lbnRzPC9hPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idG9jIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjZG9jcy1ub3JtYXRpdmUtc3VwcG9ydGluZyI+Tm9ybWF0aXZlIERvY3VtZW50czwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjZG9jcy1ub3JtYXRpdmUtbWFjaGluZSI+Tm9ybWF0aXZlIE1hY2hpbmUgUmVhZGFibGUgRG9jdW1lbnRzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNzcGVjLXZlcnNpb25zIj5IaXN0b3J5PC9hPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idG9jIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI3NwZWMtdmVyc2lvbnMtZm9ybWFsIj5Gb3JtYWwgVmVyc2lvbnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2ludmVudG9yeS1saW5rcyI+TGlua3M8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8aHIgY2xhc3M9ImNvbnRhaW5lcu+/ve+/ve+/vS8iPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBpZD0iY29tcGFuaWVzIiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5Db21wYW5pZXMgdGhhdCBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFNwZWNpZmljYXRpb248L2gyPgogICAgICAgICAgICAgICAgPHVsIHJvbGU9ImRpcmVjdG9yeSIgY2xhc3M9InRvYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj5Db3B5cmlnaHQgwqkgMjAxMyA8YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIvc3BlYy9jb21wYW55L29iamVjdC1tYW5hZ2VtZW50LWdyb3VwIj5PYmplY3QgTWFuYWdlbWVudCBHcm91cDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPkNvcHlyaWdodCDCqSAyMDExLTIwMTIgPGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iL3NwZWMvY29tcGFueS9yZW1lZHktaXQiPlJlbWVkeSBJVDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy77+977+977+9LyI+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAKICAgICAgICA8c2VjdGlvbiBpZD0iaXNzdWVzIiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGgyIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjEiPklzc3VlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBzcGVjaWZpY2F0aW9uPC9oMj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGlzc3Vlcy1saW5rcyI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY29sLW1kLTIiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLm9tZy5vcmcvaXNzdWVzL3NwZWMvQU1JNENDTS8xLjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtbGlzdCBmYS0zeCI+PC9pPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgIElzc3VlcyBSZXBvcnRlZCBpbiB0aGlzIFNwZWNpZmljYXRpb24KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY29sLW1kLTIiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLm9tZy5vcmcvaXNzdWVzL3NwZWMvQU1JNENDTS8xLjAvZml4ZWQiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZmxhZy1jaGVja2VyZWQgZmEtM3giPjwvaT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICBJc3N1ZXMgRml4ZWQgaW4gdGhpcyBTcGVjaWZpY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9jcmVhdGUtbmV3LWlzc3VlP3NwZWNpZmljYXRpb249QU1JNENDTSUyMzEuMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jb21tZW50aW5nIGZhLTN4Ij48L2k+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgUmVwb3J0IGFuIGlzc3VlCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY29sLW1kLTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2Jyb3dzZS9BTUk0Q0NNMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXVzZXJzIGZhLTN4Ij48L2k+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElzc3VlIFRyYWNrZXIgKE1lbWJlcnMgT25seSkKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8aHIgY2xhc3M9ImNvbnRhaW5lcu+/ve+/ve+/vS8iPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gaWQ9ImRvY3VtZW50cyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5TcGVjaWZpY2F0aW9uIERvY3VtZW50czwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbnRhaW5lciIgaWQ9ImRvY3Mtbm9ybWF0aXZlLXN1cHBvcnRpbmciPgogICAgICAgIDxoMyByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj5Ob3JtYXRpdmUgRG9jdW1lbnRzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1zdHJpcGVkIj4KICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTUiPkRlc2NyaXB0aW9uPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0xIj5Gb3JtYXQ8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTMiPlVSTDwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtMiI+T01HIEZpbGUgSUQ8L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZG9jdW1lbnQtZXhwbGFuYXRpb24iPlNwZWNpZmljYXRpb248L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImRvY3VtZW50LWZvcm1hdCI+UERGPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZG93bmxvYWQtZG9jdW1lbnQiIGRhdGEtc3BlYz0iQU1JNENDTS8xLjAiIGRhdGEtbGFiZWw9IkFNSTRDQ00vMS4wL1BERiIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL1BERiI+QU1JNENDTS8xLjAvUERGPC9hPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImRvY3VtZW50LW51bWJlciIgdGl0bGU9IjQ3NDkyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYWwvMTMtMDQtMDEKICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iY29udGFpbmVyIiBpZD0iZG9jcy1ub3JtYXRpdmUtbWFjaGluZSI+CiAgICAgICAgPGgzIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjIiPk5vcm1hdGl2ZSBNYWNoaW5lIFJlYWRhYmxlIERvY3VtZW50czwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtc3RyaXBlZCI+CiAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy01Ij5EZXNjcmlwdGlvbjwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtMSI+Rm9ybWF0PC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0zIj5VUkw8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTIiPk9NRyBGaWxlIElEPC90aD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImRvY3VtZW50LWV4cGxhbmF0aW9uIj5Bc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTSBGVEYgemlwcGVkIElETCBmaWxlPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1mb3JtYXQiPklETDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRvd25sb2FkLWRvY3VtZW50IiBkYXRhLXNwZWM9IkFNSTRDQ00vMS4wIiBkYXRhLWxhYmVsPSJBTUk0Q0NNLzIwMTIwNzA3L2FtaTRjY20uaWRsIiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbCI+QU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbDwvYT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1udW1iZXIiIHRpdGxlPSI0NzM5MTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRjLzEyLTA3LTA3CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLvv73vv73vv70vIj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGlkPSJzcGVjLXZlcnNpb25zIiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGgyIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjEiPkhpc3Rvcnk8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iY29udGFpbmVyIiBpZD0ic3BlYy12ZXJzaW9ucy1mb3JtYWwiPgogICAgICAgIDxoMyByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj5Gb3JtYWwgVmVyc2lvbnM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQiPgogICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTIiPlZlcnNpb248L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTMiPkFkb3B0aW9uIERhdGU8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTciPlVSTDwvdGg+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjEuMDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4gICAgICAgICAgICBNYXJjaCAyMDEzCiAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjA8L2E+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLvv73vv73vv70vIj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGlkPSJpbnZlbnRvcnktbGlua3MiIHJvbGU9ImNvbXBsZW1lbnRhcnkiIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+TGlua3M8L2gyPgogICAgICAgICAgICA8ZGwgY2xhc3M9ImRsLWhvcml6b250YWwiPgogICAgICAgICAgICAgICAgPGR0PlRoaXMgRG9jdW1lbnQ6PC9kdD4KICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvPC9hPjwvZGQ+CgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9InNtYWxsIj5SREY8L2R0PgogICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJzbWFsbCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00ucmRmIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS5yZGY8L2E+PC9kZD4KCiAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9InNtYWxsIj5KU09OLUxEPC9kdD4KICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0ic21hbGwiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLmpzb25sZCI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00uanNvbmxkPC9hPjwvZGQ+CgogICAgICAgICAgICAgICAgPGR0PkxhdGVzdCBEb2N1bWVudDo8L2R0PgogICAgICAgICAgICAgICAgPGRkPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLyI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vPC9hPjwvZGQ+CgogICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJzbWFsbCI+UkRGPC9kdD4KICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0ic21hbGwiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00ucmRmIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS9BYm91dC1BTUk0Q0NNLnJkZjwvYT48L2RkPgoKICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0ic21hbGwiPkpTT04tTEQ8L2R0PgogICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJzbWFsbCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS5qc29ubGQiPmh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00uanNvbmxkPC9hPjwvZGQ+CgogICAgICAgICAgICAgICAgPGR0Pk1lbWJlcnMgT25seTwvZHQ+CiAgICAgICAgICAgICAgICA8ZGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9tZW1iZXJzL3NwZWMvQU1JNENDTS8xLjAvIj5odHRwczovL3d3dy5vbWcub3JnL21lbWJlcnMvc3BlYy9BTUk0Q0NNLzEuMC88L2E+PC9kZD4KICAgICAgICAgICAgICAgIDwhLS0ga2V5d29yZHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgIDwvc2VjdGlvbj4KICAgIDwvZGl2PiA8IS0tIFBhZ2UgQ29udGVudCAvIEVuZCAtLT4KPC9kaXY+IDwhLS0gTWFpbiAvIEVuZCAtLT4KCiAgICA8IS0tIEJPRFkgRk9PVEVSIElOQ0xVREUgQkVHSU4gLS0+CjwhLS0gRm9vdGVyIC0tPgo8Zm9vdGVyIGNsYXNzPSJmb290ZXIiIGlkPSJmb290ZXIiPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLXdpZGdldHMiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBXaWRnZXQgOjogQ3VzdG9tIE1lbnUgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X25hdl9tZW51IHdpZGdldCB3aWRnZXRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj5DdXN0b20gTGlua3M8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvZ2V0dGluZ3N0YXJ0ZWQvYm9kX3B1YmxpYy5odG0iPkJvYXJkIG9mIERpcmVjdG9yczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2xlZ2FsL2luZGV4Lmh0bSI+TGVnYWw8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9hYm91dC9saWFpc29uLmh0bSI+TGlhaXNvbiBSZWxhdGlvbnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9hYm91dC9zdGFmZi5odG0iPk1lZXQgT3VyIFN0YWZmPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8IS0tIC9XaWRnZXQgOjogQ3VzdG9tIE1lbnUgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICA8IS0tIFdpZGdldCA6OiBUZXh0IFdpZGdldCAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXRfdGV4dCB3aWRnZXQgd2lkZ2V0X19mb290ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9IndpZGdldC10aXRsZSI+QWJvdXQgVXM8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgT2JqZWN0IE1hbmFnZW1lbnQgR3JvdXAmcmVnOyAoT01HJnJlZzspIGlzIGFuIGludGVybmF0aW9uYWwsIG9wZW4gbWVtYmVyc2hpcCwgbm90LWZvci1wcm9maXQgdGVjaG5vbG9neSBzdGFuZGFyZHMgY29uc29ydGl1bS48L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Rm91bmRlZCBpbiAxOTg5LCBPTUcgc3RhbmRhcmRzIGFyZSBkcml2ZW4gYnkgdmVuZG9ycywgZW5kLXVzZXJzLCBhY2FkZW1pYyBpbnN0aXR1dGlvbnMgYW5kIGdvdmVybm1lbnQgYWdlbmNpZXMuIE9NRyBUYXNrIEZvcmNlcyBkZXZlbG9wIGVudGVycHJpc2UgaW50ZWdyYXRpb24gc3RhbmRhcmRzIGZvciBhIHdpZGUgcmFuZ2Ugb2YgdGVjaG5vbG9naWVzIGFuZCBhbiBldmVuIHdpZGVyIHJhbmdlIG9mIGluZHVzdHJpZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cub21nLm9yZy9hYm91dC9pbmRleC5odG0iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gL1dpZGdldCA6OiBUZXh0IFdpZGdldCAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gV2lkZ2V0IDo6IENvbnRhY3RzIEluZm8gLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdHMtd2lkZ2V0IHdpZGdldCB3aWRnZXRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj5Db250YWN0IFVzPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJjb250YWN0cy1pbmZvLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLW1hcC1tYXJrZXIiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDlDIE1lZHdheSBSb2FkLCBQTUIgMjc0PGJyPiBNaWxmb3JkLCBNQSAwMTc1NyBVU0EKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1waG9uZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGguKzEgNzgxIDQ0NC0wNDA0PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmF4ICsxIDc4MS00NDQtMDMyMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWVudmVsb3BlIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWl0ZW0iPgoJCQkJCQkJCQkJCQkJPGEgaHJlZj0ibWFpbHRvOmluZm9Ab21nLm9yZyI+aW5mb0BvbWcub3JnPC9hPgoJCQkJCQkJCQkJCQk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gL1dpZGdldCA6OiBDb250YWN0cyBJbmZvIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29weXJpZ2h0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAmY29weTsgMjAyMSAgPGEgaHJlZj0iLy93d3cub21nLm9yZy9pbmRleC5odG0iPk9iamVjdCBNYW5hZ2VtZW50IEdyb3VwJnJlZzssIE9NRyZyZWc7PC9hPiAmbmJzcDt8ICZuYnNwO0FsbCBSaWdodHMgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNvY2lhbC1saW5rcy13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNvY2lhbC1saW5rcy10eHQiPkNvbm5lY3Qgd2l0aCB1czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzb2NpYWwtbGlua3Mgc29jaWFsLWxpbmtzX19kYXJrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vT2JqZWN0LU1hbmFnZW1lbnQtR3JvdXAtMTcxNTM0NDEwMDIyLyI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9vYmplY3RtZ210Z3JvdXAiPjxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2dyb3Vwcy82Njc5OSI+PGkgY2xhc3M9ImZhIGZhLWxpbmtlZGluIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2Jsb2cub21nLm9yZy8iPjxpIGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8iPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9jaGFubmVsL1VDdHVUajF3dHl3b2pZTlpveVBlWUFGdyI+PGkgY2xhc3M9ImZhIGZhLXlvdXR1YmUiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3BsdXMuZ29vZ2xlLmNvbS9iLzExMjMwMzQ2MTk5NTg3MDMxNTE1Ni8xMTIzMDM0NjE5OTU4NzAzMTUxNTYvcG9zdHMiPjxpIGNsYXNzPSJmYSBmYS1nb29nbGUtcGx1cyI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS1yc3MiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Zvb3Rlcj4KPCEtLSBGb290ZXIgLyBFbmQgLS0+Cgo8IS0tIEphdmFzY3JpcHQgRmlsZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnktMS4xMS4wLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnktbWlncmF0ZS0xLjIuMS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9oZWFkaGVzaXZlLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9maG1tLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL2pxdWVyeS5mbGlja3JmZWVkLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL2lzb3RvcGUvaXNvdG9wZS5wa2dkLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9pc290b3BlL2pxdWVyeS5pbWFnZXNsb2FkZWQubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL21hZ25pZmljLXBvcHVwL2pxdWVyeS5tYWduaWZpYy1wb3B1cC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9vd2wtY2Fyb3VzZWwvb3dsLmNhcm91c2VsLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnkuZml0dmlkcy5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnkuYXBwZWFyLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL2pxdWVyeS5zdGVsbGFyLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9zbmFwLnN2Zy1taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvbWVkaWFlbGVtZW50L21lZGlhZWxlbWVudC1hbmQtcGxheWVyLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIiBzcmM9Ii8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2dhLmpzIj48L3NjcmlwdD4KCjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL2pzL2N1c3RvbS5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvc2VsZWN0Mi80LjAuMy9qcy9zZWxlY3QyLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGEyNTYtK21XZC9HNjlTNHF0Z1Bvd1NFTEllVkF2NytGdUw4NzFXWGFvbGdYbnJ3UT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0Pgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3NlbGVjdDIvNC4wLjMvY3NzL3NlbGVjdDIubWluLmNzcyIgaW50ZWdyaXR5PSJzaGEyNTYteEpPWkhmcHhMUi91aGgxQndZRlM1ZmhtT0FkSVJRYWlPdWw1Ri9iN3Yzcz0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIC8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBzZWFyY2hCb3ggPSAkKCIjc3BlY3Mtc2VhcmNoLWJveCIpOwogICAgICAgIHNlYXJjaEJveC5zZWxlY3QyKHsKICAgICAgICAgICAgcGxhY2Vob2xkZXIgICAgICAgICAgICAgOiAiVHlwZSBTcGVjaWZpY2F0aW9ucywgQ2F0ZWdvcmllcyBvciBLZXl3b3JkcyIsCiAgICAgICAgICAgIGFsbG93Q2xlYXIgICAgICAgICAgICAgIDogdHJ1ZSwKICAgICAgICAgICAgbWluaW11bVJlc3VsdHNGb3JTZWFyY2ggOiA1CiAgICAgICAgfSk7CiAgICAgICAgc2VhcmNoQm94Lm9uKCJzZWxlY3QyOnNlbGVjdCIsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIHZhciBwYXRoID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlOwogICAgICAgICAgICBzZWFyY2hCb3gudmFsKFtdKS50cmlnZ2VyKCJjaGFuZ2UiKTsKICAgICAgICAgICAgaWYgKCF3aW5kb3cubG9jYXRpb24uaHJlZi5lbmRzV2l0aCgiLyIpKQogICAgICAgICAgICAgICAgcGF0aCA9ICIvIiArIHBhdGg7CiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLmhyZWYgKyBwYXRoOwogICAgICAgIH0pOwogICAgICAgICQoIiNzcGVjcy1zZWFyY2gtYnV0dG9uIikuaGlkZSgpOwogICAgICAgICQoImEuZG93bmxvYWQtZG9jdW1lbnQiKS5jbGljayhmdW5jdGlvbigpewogICAgICAgICAgICBndGFnKCdldmVudCcsICdkb3dubG9hZCcsIHsKICAgICAgICAgICAgICAgICdldmVudF9jYXRlZ29yeSc6ICdkb3dubG9hZHMnLAogICAgICAgICAgICAgICAgJ2V2ZW50X2FjdGlvbicgIDogJCh0aGlzKS5kYXRhKCJzcGVjIiksCiAgICAgICAgICAgICAgICAnZXZlbnRfbGFiZWwnICAgOiAkKHRoaXMpLmRhdGEoImxhYmVsIil9KTsKICAgICAgICB9KTsKICAgIH0pOwogICAgJCgnW2RhdGEtdG9nZ2xlPSJ0b29sdGlwIl0nKS50b29sdGlwKCkKPC9zY3JpcHQ+Cgo8IS0tIEJPRFkgRk9PVEVSIElOQ0xVREUgRU5EIC0tPgo8L2JvZHk+CjwvaHRtbD4KCg==
|
52
|
+
CgoKCgoKCgoKCgoKCgoKCjxodG1sIGNsYXNzPSJqcyBuby10b3VjaCBjc3N0cmFuc2Zvcm1zM2QgY3NzdHJhbnNpdGlvbnMiIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8dGl0bGU+QWJvdXQgdGhlIEFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIFNwZWNpZmljYXRpb24gVmVyc2lvbiAxLjA8L3RpdGxlPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS8iLz4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0eXBlPSJhcHBsaWNhdGlvbi9yZGYreG1sIiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS8iLz4KICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+WyB7CiAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9jYXRlZ29yeSIsCiAgIkB0eXBlIiA6IFsgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI0Fubm90YXRpb25Qcm9wZXJ0eSIgXQp9LCB7CiAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00iLAogICJAdHlwZSIgOiBbICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNOYW1lZEluZGl2aWR1YWwiLCAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9TcGVjaWZpY2F0aW9uIiBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2NhdGVnb3J5IiA6IFsgewogICAgIkB2YWx1ZSIgOiAiY29tcG9uZW50LWFyY2hpdGVjdHVyZSIKICB9LCB7CiAgICAiQHZhbHVlIiA6ICJjb3JiYS1wbGF0Zm9ybSIKICB9IF0sCiAgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvcHVibGljYXRpb25EYXRlIiA6IFsgewogICAgIkB0eXBlIiA6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNkYXRlVGltZSIsCiAgICAiQHZhbHVlIiA6ICIyMDEzLTAzLTMxVDAwOjAwOjAwLTA0MDAiCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3NwZWNpZmljYXRpb25BYmJyZXZpYXRpb24iIDogWyB7CiAgICAiQHZhbHVlIiA6ICJBTUk0Q0NNIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uQWJzdHJhY3QiIDogWyB7CiAgICAiQHZhbHVlIiA6ICJUaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBhIG1lY2hhbmlzbSB0byBwZXJmb3JtIGFzeW5jaHJvbm91cyBtZXRob2QgaW52b2NhdGlvbiBmb3IgQ0NNIChBTUk0Q0NNKS4iCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3NwZWNpZmljYXRpb25UaXRsZSIgOiBbIHsKICAgICJAdmFsdWUiIDogIkFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uVVJMIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS5odG1sIgogIH0gXQp9LCB7CiAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS8iLAogICJAdHlwZSIgOiBbICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNPbnRvbG9neSIgXSwKICAiaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zL2xpY2Vuc2UiIDogWyB7CiAgICAiQGlkIiA6ICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL01JVExpY2Vuc2UiCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2NyZWF0aW9uRGF0ZSIgOiBbIHsKICAgICJAdHlwZSIgOiAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGF0ZVRpbWUiLAogICAgIkB2YWx1ZSIgOiAiMjAxMy0wMy0zMVQwMDowMDowMC0wNDAwIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9maWxlbmFtZSIgOiBbIHsKICAgICJAdmFsdWUiIDogIkFib3V0LUFNSTRDQ00ucmRmIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI2xhYmVsIiA6IFsgewogICAgIkB2YWx1ZSIgOiAiQWJvdXQgdGhlIEFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIFNwZWNpZmljYXRpb24gVmVyc2lvbiAxLjAiCiAgfSBdLAogICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNpbXBvcnRzIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS8iCiAgfSBdLAogICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCN2ZXJzaW9uSVJJIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00vIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjdmVyc2lvbkluZm8iIDogWyB7CiAgICAiQHZhbHVlIiA6ICJHZW5lcmF0ZWQgb24gMjAyMC0xMS0wOFQyMToxNTo0My0wNTAwIgogIH0gXQp9IF08L3NjcmlwdD4KICAgIDwhLS0gSEVBRCBJTkNMVURFIEJFR0lOIC0tPgo8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKPCEtLSBNb2JpbGUgU3BlY2lmaWMgTWV0YXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xLjAsbWF4aW11bS1zY2FsZT0xLjAsdXNlci1zY2FsYWJsZT0wIj4KCjwhLS0gR29vZ2xlIFdlYiBGb250cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KPGxpbmsgaHJlZj0iLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUFudG9ufE11bGk6MzAwLDQwMCw0MDBpdGFsaWMsMzAwaXRhbGljfE9zd2FsZCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Cgo8IS0tIEdsb2JhbCBTaXRlIFRhZyAoZ3RhZy5qcykgLSBHb29nbGUgQW5hbHl0aWNzIC0tPgo8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1VQS0xMDY5NDE0ODgtMSI+PC9zY3JpcHQ+CjxzY3JpcHQ+CiAgICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKICAgIGZ1bmN0aW9uIGd0YWcoKXtkYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpfTsKICAgIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7CiAgICBndGFnKCdjb25maWcnLCAnVUEtMTA2OTQxNDg4LTEnKTsKPC9zY3JpcHQ+CjwhLS0gR29vZ2xlIEFuYWx5dGljcyAtLT4KCjwhLS0gQ1NTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgo8IS0tIEJhc2UgKyBWZW5kb3JzIENTUyAtLT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL2Nzcy9ib290c3RyYXAubWluLmNzcyI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy9jc3MvZm9udHMvZm9udC1hd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9vd2wtY2Fyb3VzZWwvb3dsLmNhcm91c2VsLmNzcyIgbWVkaWE9InNjcmVlbiI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy92ZW5kb3Ivb3dsLWNhcm91c2VsL293bC50aGVtZS5jc3MiIG1lZGlhPSJzY3JlZW4iPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL21hZ25pZmljLXBvcHVwL21hZ25pZmljLXBvcHVwLmNzcyIgbWVkaWE9InNjcmVlbiI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy92ZW5kb3IvbWVkaWFlbGVtZW50L21lZGlhZWxlbWVudHBsYXllci5jc3MiIC8+Cgo8IS0tIFRoZW1lIENTUy0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvY3NzL3RoZW1lLmNzcyI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy93d3cub21nLm9yZy9jc3MvdGhlbWUtZWxlbWVudHMuY3NzIj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL2Nzcy9hbmltYXRlLm1pbi5jc3MiPgoKPCEtLSBTa2luIENTUyAtLT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL2Nzcy9za2lucy90ZWFsLmNzcyI+Cgo8IS0tIEN1c3RvbSBDU1MtLT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3d3dy5vbWcub3JnL2Nzcy9jdXN0b20uY3NzIj4KCjwhLS0gSGVhZCBMaWJzIC0tPgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvbW9kZXJuaXpyLmpzIj48L3NjcmlwdD4KCjwhLS1baWYgbHQgSUUgOV0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cDovL2h0bWw1c2hpbS5nb29nbGVjb2RlLmNvbS9zdm4vdHJ1bmsvaHRtbDUuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9InZlbmRvci9yZXNwb25kLm1pbi5qcyI+PC9zY3JpcHQ+CjwhW2VuZGlmXS0tPgoKPCEtLVtpZiBJRV0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9pZS5jc3MiPgo8IVtlbmRpZl0tLT4KCjwhLS0gRmF2aWNvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLy93d3cub21nLm9yZy9pbWFnZXMvZmF2aWNvbi5pY28iPgo8bGluayByZWw9Imljb24iIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24ucG5nIj4KPGxpbmsgcmVsPSJpY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tNzJ4NzIucG5nIj4KPGxpbmsgcmVsPSJpY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLy93d3cub21nLm9yZy9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi0xMTR4MTE0LnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgc2l6ZXM9IjE0NHgxNDQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTQ0eDE0NC5wbmciPgoKPCEtLSBzb3J0YWJsZSB0YWJsZXMgLS0+CjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9zb3J0YWJsZS8wLjguMC9qcy9zb3J0YWJsZS5taW4uanMiIGludGVncml0eT0ic2hhMjU2LWdDdGRBMWNMSzJFaFFaQ01oaHZHelVzV00vZnN4dEoySUltVUorNFVPUDg9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9zb3J0YWJsZS8wLjguMC9jc3Mvc29ydGFibGUtdGhlbWUtbWluaW1hbC5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTI1Ni1sVXBhNVp6SytmRUpuYzRMdGVHZWhGL0lFWVFlYU9NdmtIeG43eWNuMSs0PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgLz48IS0tIHNvcnRhYmxlIHRhYmxlcyAtLT4KCjwhLS0gSW5zdGFuY2VCZWdpbkVkaXRhYmxlIG5hbWU9ImhlYWQiIC0tPgo8IS0tIEluc3RhbmNlRW5kRWRpdGFibGUgLS0+CjxzdHlsZSBpZD0iZml0LXZpZHMtc3R5bGUiPgogICAgLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXJ7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjA7fQogICAgLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIgaWZyYW1lLC5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIG9iamVjdCwuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciBlbWJlZCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7fQo8L3N0eWxlPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvL3Muc3dpZnR5cGVjZG4uY29tL2Fzc2V0cy9uZXdfZW1iZWQtNTlhZjU3YjI4MDFkN2Q4Y2NhODBlYmUwNDNjZGNmODAuY3NzIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgIC5zdC1pbnN0YWxsLVVKd2ttUHpnakhCQ3hIeXh6Q2FqIC5zdC11aS1yZXN1bHQKICAgIC5zdC11aS10eXBlLWhlYWRpbmcgeyBjb2xvcjojMDA4OWQ3ICFpbXBvcnRhbnQgfQogICAgLnN0LWluc3RhbGwtVUp3a21QemdqSEJDeEh5eHpDYWogLnN0LXVpLXJlc3VsdCBlbSB7Zm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OmJvbGQ7IGJhY2tncm91bmQtY29sb3I6I2Y2ZmNmZSAhaW1wb3J0YW50fQoKICAgIHVsLmRkLWxpc3QgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICB9Cjwvc3R5bGU+CjwhLS0gSEVBRCBJTkNMVURFIEVORCAtLT4KPC9oZWFkPgo8Ym9keT4KICAgIDwhLS0gQk9EWSBIRUFERVIgSU5DTFVERSBCRUdJTiAtLT4KPGhlYWRlciBjbGFzcz0iaGVhZGVyIGhlYWRlci1kZWZhdWx0Ij4KICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AtbGVmdCI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImhlYWRlci10b3AtbmF2Ij4KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9pbmRleC5odG0iPjxzcGFuIHN0eWxlPSJjb2xvcjp3aGl0ZSI+SG9tZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9zaXRlLW1hcC5odG0iPjxzcGFuIHN0eWxlPSJjb2xvcjp3aGl0ZSI+U2l0ZSBNYXA8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvbGVnYWwvaW5kZXguaHRtIj48c3BhbiBzdHlsZT0iY29sb3I6d2hpdGUiPkxlZ2FsPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaGVhZGVyLXRvcC1uYXYiPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vT2JqZWN0LU1hbmFnZW1lbnQtR3JvdXAtMTcxNTM0NDEwMDIyLyI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+PC9hPiZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vb2JqZWN0bWdtdGdyb3VwIj48aSBjbGFzcz0iZmEgZmEtdHdpdHRlciI+PC9pPjwvYT4mbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vZ3JvdXBzLzY2Nzk5Ij48aSBjbGFzcz0iZmEgZmEtbGlua2VkaW4iPjwvaT48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iaHR0cDovL2Jsb2cub21nLm9yZy8iPjxpIGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8iPjwvaT48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3R1VGoxd3R5d29qWU5ab3lQZVlBRnciPjxpIGNsYXNzPSJmYSBmYS15b3V0dWJlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRvcC1yaWdodCI+CiAgICAgICAgICAgICAgICA8IS0tIEFkZFNlYXJjaCAtLT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FkZHNlYXJjaC5jb20vanMvP2tleT1hNzdmYjFlYjJjM2M4ZmFmZTJiMzAxODI0MzY5ZWQ5NyZjYXRlZ29yaWVzPTB4d3d3Lm9tZy5vcmciPjwvc2NyaXB0PgogICAgICAgICAgICAgICAgPCEtLSBBZGRTZWFyY2ggLS0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgDQoNCg0KCQk8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQgZmhtbSI+DQoJCQkJCQk8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4NCgkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUiPg0KCQkJCQkJCQk8aSBjbGFzcz0iZmEgZmEtYmFycyI+PC9pPg0KCQkJCQkJCTwvYnV0dG9uPg0KCQkJCQkJCTwhLS0gTG9nbyAtLT4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJsb2dvIj4NCgkJCQkJCQkJPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmRleC5odG0iPjxpbWcgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL2ltYWdlcy9sb2dvcy9PTUctbG9nby13ZWItc20uc3ZnIiBhbHQ9Ik9NRyBsb2dvIj48L2E+CQ0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTwhLS0gTG9nbyAvIEVuZCAtLT4NCgkJCQkJCTwvZGl2PjwhLS0gZW5kIG5hdmJhci1oZWFkZXIgLS0+DQoNCgkJCQkJCTxkaXYgaWQ9Im1haW4tbmF2IiBjbGFzcz0ibmF2YmFyLWNvbGxhcHNlIGNvbGxhcHNlIj4NCgkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2Ij4NCgkJCQkJCQkJPGxpIGNsYXNzPSJkcm9wZG93biI+DQoJCQkJCQkJCQk8YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Fib3V0L2luZGV4Lmh0bSIgZGF0YS10b2dnbGU9IiIgY2xhc3M9IiI+QWJvdXQgdXMgPGIgY2xhc3M9IiI+PC9iPjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJDQoJCQkJCQkJCTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJlc291cmNlIEh1YiBtZW51IC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4NCgkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+UmVzb3VyY2UgSHViIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4NCgkJCQkJCQkJCTx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSIgcm9sZT0ibWVudSI+DQoJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvZXZlbnRzL2luZGV4Lmh0bSI+RXZlbnRzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaG90LXRvcGljcy9pbmRleC5odG0iPkhvdCBUb3BpY3M8L2E+PC9saT4NCgkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9uZXdzL3JlbGVhc2VzL2luZGV4Lmh0bSI+UHJlc3MgUm9vbTwvYT48L2xpPg0KCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29tZy1kaXJlY3Rvcmllcy5odG0iPlZlbmRvciBEaXJlY3RvcmllczwvYT48L2xpPg0KCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3dlYmluYXJzL2luZGV4Lmh0bSI+V2ViaW5hcnM8L2E+PC9saT4NCgkJCQkJCQkJCSAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbmV3cy93aGl0ZXBhcGVycy9pbmRleC5odG0iPldoaXRlIFBhcGVyczwvYT48L2xpPg0KCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUmVzb3VyY2UgSHViIG1lbnUgLS0+DQoNCgkJCQkJCQkNCgkJCQkJCQkJCTwhLS0gU3BlY3MgLS0+DQoJCQkJCQkJCTxsaSBjbGFzcz0iZHJvcGRvd24gZmhtbS1mdyI+DQoJCQkJCQkJCQk8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPk9NRyBTcGVjaWZpY2F0aW9ucyA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+DQoJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgZnVsbCI+DQoJCQkJCQkJCQkJPGxpIGNsYXNzPSJmaG1tLWNvbnRlbnQiPg0KCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPg0KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTMiPg0KCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPlNwZWNpZmljYXRpb25zPC9oMz4NCgkJCQkJCQkJCQkJCQk8dWw+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvIj5BZG9wdGVkIFNwZWNpZmljYXRpb25zPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2ZheHZvdGVzLyIgdGFyZ2V0PSJfYmxhbmsiPkZheHZvdGVzIFN0YXR1czwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCSAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLm9tZy5vcmcvaXNzdWVzL2xpc3RzIj5Jc3N1ZXM8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3B1YmxpY19zY2hlZHVsZS8iPlJGSSAmYW1wOyBSRlA8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY2dpLWJpbi9kb2M/c21zYy8yMDE4LTA4LTAxIj5TcGVjaWZpY2F0aW9uIEd1aWRlbGluZXM8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdGVjaG5vbG9neS9kb2N1bWVudHMvdmF1bHQuaHRtIj5TcGVjaWZpY2F0aW9uIFZhdWx0PC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJCQkJICA8L3VsPg0KCQkJCQkJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTMiPg0KCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9pbmRleC5odG0iPkluZHVzdHJpZXM8L2E+PC9oMz4NCgkJCQkJCQkJCQkJCQk8dWw+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvZmluYW5jZS5odG0iPkZpbmFuY2U8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9nb3Zlcm5tZW50Lmh0bSI+R292ZXJubWVudDwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL2hlYWx0aGNhcmUuaHRtIj5IZWFsdGhjYXJlPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvbWFudWZhY3R1cmluZy5odG0iPk1hbnVmYWN0dXJpbmc8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9taWxpdGFyeS5odG0iPk1pbGl0YXJ5PC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvcmV0YWlsLmh0bSI+UmV0YWlsPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvc3BhY2UuaHRtIj5TcGFjZSBFeHBsb3JhdGlvbjwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQkNCgkJCQkJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQkJCQkJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTMiPg0KCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPkRvY3VtZW50IEhlbHA8L2gzPg0KCQkJCQkJCQkJCQkJCTx1bD4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdGVjaG5vbG9neS9kb3dubG9hZC5odG0iPkRvd25sb2FkIEluc3RydWN0aW9uczwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCSAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY2dpLWJpbi9kb2M/aGgiPkhvdyB0byBGaW5kIGEgRG9jdW1lbnQ8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLm9tZy5vcmcvaXNzdWVzL2NyZWF0ZS1uZXctaXNzdWUiPlJlcG9ydCBhbiBJc3N1ZTwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jZ2ktYmluL2FwcHMvZG9jbGlzdC5wbCI+U2VhcmNoIERvY3VtZW50czwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9tZW1iZXJzX2RvY3NlYXJjaC5odG0iPlNlYXJjaCBEb2N1bWVudHMgKEZ1bGwpPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2dldHRpbmdzdGFydGVkL3Rlcm1zX2FuZF9hY3Jvbnltcy5odG0iPlRlcm1zICZhbXA7IEFjcm9ueW1zPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJCQkJCQ0KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTMiPg0KCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPk9NRyBpbiBBY3Rpb24hPC9oMz4NCgkJCQkJCQkJCQkJCQk8dWw+DQoJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3B1YmxpY19zY2hlZHVsZS8iPldvcmsgaW4gUHJvZ3Jlc3M8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdGVjaG5vbG9neS9yZmMtZm9ybS5odG0iPlJGQyBDb21tZW50cyBGb3JtPC9hPjwvbGk+DQoJCQkJCQkJCQkJCQkJICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2hvbWVwYWdlcy9pbmRleC5odG0iPlRlY2hub2xvZ3kgQ29tbWl0dGVlcyBEaXJlY3Rvcnk8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvYWJvdXQvb21nLXN0YW5kYXJkcy1pbnRyb2R1Y3Rpb24uaHRtIj5Qb3B1bGFyIE9NRyBTdGFuZGFyZHM8L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvZXZlbnRzL3N0dWRlbnQtcG9zdGVyLXNlc3Npb24tcHJvZ3JhbS9pbmRleC5odG0iPlN0dWRlbnQgUmVzZWFyY2g8L2E+PC9saT4NCgkJCQkJCQkJCQkJCSAgPC91bD4NCgkJCQkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJCQk8L2xpPg0KCQkJCQkJCQkJPC91bD4NCgkJCQkJCQkJPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNwZWNzIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQcm9ncmFtcyAtLT4NCgkJCQkJCQkJDQoJCQkJCQkJCTxsaSBjbGFzcz0iZHJvcGRvd24gZHJvcGRvd24tcmlnaHQgZmhtbS1mdyI+DQoJCQkJCQkJCQk8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPlByb2dyYW1zIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4NCgkJCQkJCQkJCQ0KCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IGZ1bGwiPg0KCQkJCQkJCQkJCTxsaSBjbGFzcz0iZmhtbS1jb250ZW50IHdpdGhvdXRkZXNjIj4NCgkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icm93Ij4NCgkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS02Ij4NCgkJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRpdGxlIj5DZXJ0aWZpY2F0aW9uczwvaDM+DQoJCQkJCQkJCQkJCQkJPHVsPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9vY3VwLTIvaW5kZXguaHRtIj5PQ1VQIDIgLSBVTUwgQ2VydGlmaWNhdGlvbjwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9vY2ViLTIvaW5kZXguaHRtIj5PQ0VCIDIgLSBCUE0gQ2VydGlmaWNhdGlvbjwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9vY3NtcC9pbmRleC5odG0iPk9DU01QIC0gU3lzTUwgQ2VydGlmaWNhdGlvbjwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9vY3Jlcy9pbmRleC5odG0iPk9DUkVTIC0gUmVhbC10aW1lIENlcnRpZmljYXRpb248L2E+PC9saT4NCgkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY2dpLWJpbi9zZWFyY2hjZXJ0LmNnaSIgdGFyZ2V0PSJfYmxhbmsiPkNlcnRpZmllZCBQcm9mZXNzaW9uYWxzIERpcmVjdG9yeTwvYT48L2xpPg0KCQkJCQkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS02Ij4NCgkJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRpdGxlIj5NYW5hZ2VkIFByb2dyYW1zPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuYnBtLXBsdXMub3JnLyIgb25jbGljaz0idHJhY2tPdXRib3VuZExpbmsoJ2h0dHBzOi8vd3d3LmJwbS1wbHVzLm9yZy8nKTsgcmV0dXJuIGZhbHNlOyI+PGkgY2xhc3M9ImZhIGZhLWhlYXJ0YmVhdCI+PC9pPiBCUE0mIzQzOyBIZWFsdGg8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vaXQtY2lzcS5vcmciIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL2l0LWNpc3Eub3JnJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1jb2RlIj48L2k+IENvbnNvcnRpdW0gZm9yIEluZm9ybWF0aW9uICZhbXA7IFNvZnR3YXJlIFF1YWxpdHkgIC0gQ0lTUTwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRkcy1mb3VuZGF0aW9uLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3d3dy5kZHMtZm91bmRhdGlvbi5vcmcvJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1jb25uZWN0ZGV2ZWxvcCI+PC9pPiBERFMgRm91bmRhdGlvbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmlpY29uc29ydGl1bS5vcmcvIiBvbmNsaWNrPSJ0cmFja091dGJvdW5kTGluaygnaHR0cHM6Ly93d3cuaWljb25zb3J0aXVtLm9yZy8nKTsgcmV0dXJuIGZhbHNlOyI+PGkgY2xhc3M9ImZhIGZhLWdlYXIiPjwvaT4gSW5kdXN0cmlhbCBJbnRlcm5ldCBDb25zb3J0aXVtIC0gSUlDPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KCQkJCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQkJCTwvZGl2PjwhLS0gZW5kIHJvdyAtLT4NCgkJCQkJCQkJCQk8L2xpPjwhLS0gZW5kIGdyaWQgZGVtbyAtLT4NCgkJCQkJCQkJCTwvdWw+PCEtLSBlbmQgZHJvcCBkb3duIG1lbnUgLS0+DQoJCQkJCQkJCTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByb2dyYW1zIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCTwhLS0gTWVtYmVyc2hpcCAtLT4NCgkJCQkJCQkJIDxsaSBjbGFzcz0iZHJvcGRvd24iPg0KCQkJCQkJCQkJPGEgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj5NZW1iZXJzaGlwIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4NCgkJCQkJCQkJCTx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSIgcm9sZT0ibWVudSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9hYm91dC9uZXctdG8tb21nLmh0bSI+TmV3IHRvIE9NRz88L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2JlLWEtbWVtYmVyLmh0bSI+QmVjb21lIGEgTWVtYmVyPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jZ2ktYmluL2FwcHMvbWVtYmVyc2VhcmNoLnBsIj5DdXJyZW50IE1lbWJlcnM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3F1b3Rlcy5odG0iPk1lbWJlciBRdW90ZXM8L2E+PC9saT4NCiAgICAgDQoJCQkJCQkJCSAgIDwvdWw+DQoJCQkJCQkJCTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVtYmVyc2hpcCAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCTwhLS0gTWVtYmVyc2hpcCAtLT4NCgkJCQkJCQkJIDxsaSBjbGFzcz0iZHJvcGRvd24iPg0KCQkJCQkJCQkJPGEgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj5NZW1iZXJzIEFyZWEgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPg0KCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL21lbWJlcnMvIj48aSBjbGFzcz0iZmEgZmEtbG9jayI+PC9pPkxvZy1JbjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbG9naW4vaW5kZXguaHRtIj48aSBjbGFzcz0iZmEgZmEtdW5sb2NrIj48L2k+TG9nLUluIEFzc2lzdGFuY2U8L2E+PC9saT4NCgkJCQkJCQkJCQ0KCQkJCQkJCQkJDQoJCQkJCQkJCQkJDQoJCQkJCQkJCSAgIDwvdWw+DQoJCQkJCQkJCTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVtYmVyc2hpcCAtLT4NCgkJCQkJCQk8L3VsPjwhLS0gZW5kIG5hdiBuYXZiYXItbmF2IC0tPg0KCQkJCQkJPC9kaXY+PCEtLSBlbmQgI21haW4tbmF2IC0tPg0KDQoJCQkJCTwvbmF2Pg0KDQoNCg0KCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9oZWFkZXI+CjwhLS0gQk9EWSBIRUFERVIgSU5DTFVERSBFTkQgLS0+CjxkaXYgY2xhc3M9Im1haW4iIHJvbGU9Im1haW4iPiA8IS0tIE1haW4gLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0icGFnZS1oZWFkaW5nIiByb2xlPSJuYXZpZ2F0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTkiPgogICAgICAgICAgICAgICAgICAgIDxoMT5BYm91dCB0aGUgQXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ00gU3BlY2lmaWNhdGlvbiBWZXJzaW9uIDEuMDwvaDE+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0zIj4KICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIGNsYXNzPSJhY3RpdmUiPjEuMDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLyI+QU1JNENDTTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYyI+U3BlY2lmaWNhdGlvbnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPGRpdiBjbGFzcz0icGFnZS1jb250ZW50IiByb2xlPSJkaXJlY3RvcnkiPgogICAgICAgIDxzZWN0aW9uIGlkPSJkb2N1bWVudC1tZXRhZGF0YSIgcm9sZT0iY29tcGxlbWVudGFyeSIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InNwZWMtYWNyb255bSBjb2wtbWQtMyI+QU1JNENDTeKEojwvaDE+CiAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InNwZWMtbmFtZSIgc3R5bGU9InRleHQtdHJhbnNmb3JtOiBub25lIj5Bc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTTwvaDE+CgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5Ij5UaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBhIG1lY2hhbmlzbSB0byBwZXJmb3JtIGFzeW5jaHJvbm91cyBtZXRob2QgaW52b2NhdGlvbiBmb3IgQ0NNIChBTUk0Q0NNKS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9ImRsLWhvcml6b250YWwgY29sLW1kLTExIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIHRpdGxlIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5UaXRsZTo8L2R0PgogICAgICAgICAgICAgICAgICAgIDxkZD5Bc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTTwvZGQ+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBhY3JvbnltIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5BY3JvbnltOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkPkFNSTRDQ03ihKI8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSB2ZXJzaW9uIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5WZXJzaW9uOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVtPlRoaXMgdmVyc2lvbiB3YXMgc3VwZXJzZWRlZCBieSBhIG5ld2VyIGludmVudG9yeS4gVGhlIGxhdGVzdCB2ZXJzaW9uIGNhbiBiZSBmb3VuZCBoZXJlOiA8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS88L2E+PC9lbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgIDwhLS0gZG9jdW1lbnQgc3RhdHVzIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5Eb2N1bWVudCBTdGF0dXM6PC9kdD4KICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0icmlnaHQiIGRhdGEtY29udGFpbmVyPSdib2R5JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iRm9ybWFsIFNwZWNpZmljYXRpb25zIGhhdmUgYmVlbiBhcHByb3ZlZCBieSBPTUcgQm9hcmQgb2YgRGlyZWN0b3JzIGFuZCBoYXZlIGJlZW4gZWRpdGVkLiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYWwgJiM5NDMyOwogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBwdWJsaWNhdGlvbiBkYXRlIC0tPgogICAgICAgICAgICAgICAgICAgIDxkdD5QdWJsaWNhdGlvbiBEYXRlOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkPiAgICAgICAgICAgIE1hcmNoIDIwMTMKICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBjYXRlZ29yaWVzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5DYXRlZ29yaWVzOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZCByb2xlPSJsaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCByb2xlPSJncm91cCIgY2xhc3M9Imxpc3QtaW5saW5lIGRkLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJsaXN0aXRlbSIgY2xhc3M9InRleHQtY2FwaXRhbGl6ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYmFkZ2UgYmFkZ2UtaW5mbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9jYXRlZ29yeS9jb3JiYS1wbGF0Zm9ybS8iPjxlbT5Db3JiYSBQbGF0Zm9ybTwvZW0+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJsaXN0aXRlbSIgY2xhc3M9InRleHQtY2FwaXRhbGl6ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYmFkZ2UgYmFkZ2UtaW5mbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9jYXRlZ29yeS9jb21wb25lbnQtYXJjaGl0ZWN0dXJlLyI+PGVtPkNvbXBvbmVudCBBcmNoaXRlY3R1cmU8L2VtPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gaXByIG1vZGUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJyaWdodCIgZGF0YS1jb250YWluZXI9J2JvZHknIGRhdGEtaHRtbD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSdPTUcmIzM5O3MgUG9saWN5IG9uIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgaXMgZGVzaWduZWQgdG8gZW5hYmxlIHRoZSBvcGVuIGRldmVsb3BtZW50LCBkaXNzZW1pbmF0aW9uLCBhbmQgdXNlIG9mIGl0cyBzcGVjaWZpY2F0aW9ucywgYW5kIHRoZWlyIGJyb2FkIGltcGxlbWVudGF0aW9uIGFuZCB1cHRha2UuIFNwZWNpZmljYXRpb25zLCBpbmNsdWRpbmcgRmluYWxpemF0aW9uL1JldmlzaW9uIFRhc2sgRm9yY2UgUmVwb3J0cyBhcmUgcmVxdWlyZWQgdG8gaGF2ZSBhIGRlY2xhcmVkIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgc3RhdGVtZW50IGJhc2VkIG9uIGVpdGhlciBSQU5ELCBSRiBvbiBMaW1pdGVkIFRlcm1zLCBvciBOb24tQXNzZXJ0Ljxici8+U2VlIHRoZSBPTUcgUG9saWN5IFN0YXRlbWVudCwgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cywgY2xpY2sgdGhlIGxpbmsgZm9yIGRldGFpbHMuJz4gPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2RvYy5vbWcub3JnL2lwciI+SVBSIE1vZGUgJiM5NDMyOzwvYT48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0icmlnaHQiIGRhdGEtY29udGFpbmVyPSdib2R5JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9J0VhY2ggT2JsaWdhdGVkIFBhcnR5IGluIGFuIFJGIG9uIExpbWl0ZWQgVGVybXMgSVBSIE1vZGUgQWRvcHRpb24gb3IgUmV2aXNpb24gUHJvY2VzcyBjb3ZlbmFudHMgdGhhdCBpdCB3aWxsIGdyYW50IHRvIGFuIHVucmVzdHJpY3RlZCBudW1iZXIgb2YgYXBwbGljYW50cyBhIHJveWFsdHkgYW5kIGZlZSBmcmVlLCBub25leGNsdXNpdmUsIHdvcmxkd2lkZSwgbm9uLXN1YmxpY2Vuc2FibGUsIHBlcnBldHVhbCBwYXRlbnQgbGljZW5zZSB0byBpdHMgRXNzZW50aWFsIENsYWltcyc+UkYtTGltaXRlZCAmIzk0MzI7PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiA1cHg7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRvd25sb2FkLWRvY3VtZW50IiBkYXRhLXNwZWM9IkFNSTRDQ00vMS4wIiBkYXRhLWxhYmVsPSJBTUk0Q0NNLzEuMC9QREYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9QREYiIHRpdGxlPSJDbGljayB0byBEb3dubG9hZCBTcGVjaWZpY2F0b24gRG9jdW1lbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWZpbGUtcGRmLW8gZmEtM3giPjwvaT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTcGVjaWZpY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8aHIgY2xhc3M9ImNvbnRhaW5lcuKAnS8iPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gaWQ9InRvYyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5UYWJsZSBPZiBDb250ZW50czwvaDI+CiAgICAgICAgICAgIDx1bCByb2xlPSJkaXJlY3RvcnkiIGNsYXNzPSJ0b2MiPgogICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNkb2N1bWVudC1tZXRhZGF0YSI+QWJvdXQgdGhlIFNwZWNpZmljYXRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjY29tcGFuaWVzIj5Db21wYW5pZXMgdGhhdCBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFNwZWNpZmljYXRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjZG9jdW1lbnRzIj5TcGVjaWZpY2F0aW9uIERvY3VtZW50czwvYT4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvYyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2RvY3Mtbm9ybWF0aXZlLXN1cHBvcnRpbmciPk5vcm1hdGl2ZSBEb2N1bWVudHM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2RvY3Mtbm9ybWF0aXZlLW1hY2hpbmUiPk5vcm1hdGl2ZSBNYWNoaW5lIFJlYWRhYmxlIERvY3VtZW50czwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjc3BlYy12ZXJzaW9ucyI+SGlzdG9yeTwvYT4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNzcGVjLXZlcnNpb25zLWZvcm1hbCI+Rm9ybWFsIFZlcnNpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNpbnZlbnRvcnktbGlua3MiPkxpbmtzPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLigJ0vIj4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gaWQ9ImNvbXBhbmllcyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8aDIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+Q29tcGFuaWVzIHRoYXQgaGF2ZSBjb250cmlidXRlZCB0byB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhpcyBTcGVjaWZpY2F0aW9uPC9oMj4KICAgICAgICAgICAgICAgIDx1bCByb2xlPSJkaXJlY3RvcnkiIGNsYXNzPSJ0b2MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+Q29weXJpZ2h0IMKpIDIwMTMgPGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iL3NwZWMvY29tcGFueS9vYmplY3QtbWFuYWdlbWVudC1ncm91cCI+T2JqZWN0IE1hbmFnZW1lbnQgR3JvdXA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj5Db3B5cmlnaHQgwqkgMjAxMS0yMDEyIDxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9Ii9zcGVjL2NvbXBhbnkvcmVtZWR5LWl0Ij5SZW1lZHkgSVQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8aHIgY2xhc3M9ImNvbnRhaW5lcuKAnS8iPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgCiAgICAgICAgPHNlY3Rpb24gaWQ9Imlzc3VlcyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5Jc3N1ZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3BlY2lmaWNhdGlvbjwvaDI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBpc3N1ZXMtbGlua3MiPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9zcGVjL0FNSTRDQ00vMS4wIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWxpc3QgZmEtM3giPjwvaT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICBJc3N1ZXMgUmVwb3J0ZWQgaW4gdGhpcyBTcGVjaWZpY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9zcGVjL0FNSTRDQ00vMS4wL2ZpeGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWZsYWctY2hlY2tlcmVkIGZhLTN4Ij48L2k+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgSXNzdWVzIEZpeGVkIGluIHRoaXMgU3BlY2lmaWNhdGlvbgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb2wtbWQtMiI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9pc3N1ZXMvY3JlYXRlLW5ldy1pc3N1ZT9zcGVjaWZpY2F0aW9uPUFNSTRDQ00lMjMxLjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY29tbWVudGluZyBmYS0zeCI+PC9pPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9ydCBhbiBpc3N1ZQogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9icm93c2UvQU1JNENDTTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS11c2VycyBmYS0zeCI+PC9pPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJc3N1ZSBUcmFja2VyIChNZW1iZXJzIE9ubHkpCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLigJ0vIj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGlkPSJkb2N1bWVudHMiIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+U3BlY2lmaWNhdGlvbiBEb2N1bWVudHM8L2gyPgogICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjb250YWluZXIiIGlkPSJkb2NzLW5vcm1hdGl2ZS1zdXBwb3J0aW5nIj4KICAgICAgICA8aDMgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+Tm9ybWF0aXZlIERvY3VtZW50czwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcmVzcG9uc2l2ZSI+CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtc3RyaXBlZCI+CiAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy01Ij5EZXNjcmlwdGlvbjwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtMSI+Rm9ybWF0PC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0zIj5VUkw8L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTIiPk9NRyBGaWxlIElEPC90aD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImRvY3VtZW50LWV4cGxhbmF0aW9uIj5TcGVjaWZpY2F0aW9uPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1mb3JtYXQiPlBERjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRvd25sb2FkLWRvY3VtZW50IiBkYXRhLXNwZWM9IkFNSTRDQ00vMS4wIiBkYXRhLWxhYmVsPSJBTUk0Q0NNLzEuMC9QREYiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9QREYiPkFNSTRDQ00vMS4wL1BERjwvYT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1udW1iZXIiIHRpdGxlPSI0NzQ5MjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWFsLzEzLTA0LTAxCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbnRhaW5lciIgaWQ9ImRvY3Mtbm9ybWF0aXZlLW1hY2hpbmUiPgogICAgICAgIDxoMyByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj5Ob3JtYXRpdmUgTWFjaGluZSBSZWFkYWJsZSBEb2N1bWVudHM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQiPgogICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtNSI+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTEiPkZvcm1hdDwvdGg+CiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtMyI+VVJMPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0yIj5PTUcgRmlsZSBJRDwvdGg+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1leHBsYW5hdGlvbiI+QXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ00gRlRGIHppcHBlZCBJREwgZmlsZTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZG9jdW1lbnQtZm9ybWF0Ij5JREw8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkb3dubG9hZC1kb2N1bWVudCIgZGF0YS1zcGVjPSJBTUk0Q0NNLzEuMCIgZGF0YS1sYWJlbD0iQU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbCIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMjAxMjA3MDcvYW1pNGNjbS5pZGwiPkFNSTRDQ00vMjAxMjA3MDcvYW1pNGNjbS5pZGw8L2E+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iZG9jdW1lbnQtbnVtYmVyIiB0aXRsZT0iNDczOTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0Yy8xMi0wNy0wNwogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBpZD0ic3BlYy12ZXJzaW9ucyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5IaXN0b3J5PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbnRhaW5lciIgaWQ9InNwZWMtdmVyc2lvbnMtZm9ybWFsIj4KICAgICAgICA8aDMgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+Rm9ybWFsIFZlcnNpb25zPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1zdHJpcGVkIj4KICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0yIj5WZXJzaW9uPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0zIj5BZG9wdGlvbiBEYXRlPC90aD4KICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy03Ij5VUkw8L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4xLjA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+ICAgICAgICAgICAgTWFyY2ggMjAxMwogICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMCI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wPC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBpZD0iaW52ZW50b3J5LWxpbmtzIiByb2xlPSJjb21wbGVtZW50YXJ5IiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGgyIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjEiPkxpbmtzPC9oMj4KICAgICAgICAgICAgPGRsIGNsYXNzPSJkbC1ob3Jpem9udGFsIj4KICAgICAgICAgICAgICAgIDxkdD5UaGlzIERvY3VtZW50OjwvZHQ+CiAgICAgICAgICAgICAgICA8ZGQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wLyI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wLzwvYT48L2RkPgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJzbWFsbCI+UkRGPC9kdD4KICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0ic21hbGwiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLnJkZiI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00ucmRmPC9hPjwvZGQ+CgogICAgICAgICAgICAgICAgPGR0IGNsYXNzPSJzbWFsbCI+SlNPTi1MRDwvZHQ+CiAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9InNtYWxsIj48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS5qc29ubGQiPmh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLmpzb25sZDwvYT48L2RkPgoKICAgICAgICAgICAgICAgIDxkdD5MYXRlc3QgRG9jdW1lbnQ6PC9kdD4KICAgICAgICAgICAgICAgIDxkZD48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8iPmh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzwvYT48L2RkPgoKICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0ic21hbGwiPlJERjwvZHQ+CiAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9InNtYWxsIj48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS9BYm91dC1BTUk0Q0NNLnJkZiI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS5yZGY8L2E+PC9kZD4KCiAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9InNtYWxsIj5KU09OLUxEPC9kdD4KICAgICAgICAgICAgICAgIDxkZCBjbGFzcz0ic21hbGwiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00uanNvbmxkIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS9BYm91dC1BTUk0Q0NNLmpzb25sZDwvYT48L2RkPgoKICAgICAgICAgICAgICAgIDxkdD5NZW1iZXJzIE9ubHk8L2R0PgogICAgICAgICAgICAgICAgPGRkPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbWVtYmVycy9zcGVjL0FNSTRDQ00vMS4wLyI+aHR0cHM6Ly93d3cub21nLm9yZy9tZW1iZXJzL3NwZWMvQU1JNENDTS8xLjAvPC9hPjwvZGQ+CiAgICAgICAgICAgICAgICA8IS0tIGtleXdvcmRzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Rpdj4gPCEtLSBQYWdlIENvbnRlbnQgLyBFbmQgLS0+CjwvZGl2PiA8IS0tIE1haW4gLyBFbmQgLS0+CgogICAgPCEtLSBCT0RZIEZPT1RFUiBJTkNMVURFIEJFR0lOIC0tPgo8IS0tIEZvb3RlciAtLT4KPGZvb3RlciBjbGFzcz0iZm9vdGVyIiBpZD0iZm9vdGVyIj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci13aWRnZXRzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gV2lkZ2V0IDo6IEN1c3RvbSBNZW51IC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldF9uYXZfbWVudSB3aWRnZXQgd2lkZ2V0X19mb290ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9IndpZGdldC10aXRsZSI+Q3VzdG9tIExpbmtzPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2dldHRpbmdzdGFydGVkL2JvZF9wdWJsaWMuaHRtIj5Cb2FyZCBvZiBEaXJlY3RvcnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9sZWdhbC9pbmRleC5odG0iPkxlZ2FsPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvYWJvdXQvbGlhaXNvbi5odG0iPkxpYWlzb24gUmVsYXRpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvYWJvdXQvc3RhZmYuaHRtIj5NZWV0IE91ciBTdGFmZjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPCEtLSAvV2lkZ2V0IDo6IEN1c3RvbSBNZW51IC0tPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBXaWRnZXQgOjogVGV4dCBXaWRnZXQgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3RleHQgd2lkZ2V0IHdpZGdldF9fZm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPkFib3V0IFVzPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIE9iamVjdCBNYW5hZ2VtZW50IEdyb3VwJnJlZzsgKE9NRyZyZWc7KSBpcyBhbiBpbnRlcm5hdGlvbmFsLCBvcGVuIG1lbWJlcnNoaXAsIG5vdC1mb3ItcHJvZml0IHRlY2hub2xvZ3kgc3RhbmRhcmRzIGNvbnNvcnRpdW0uPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkZvdW5kZWQgaW4gMTk4OSwgT01HIHN0YW5kYXJkcyBhcmUgZHJpdmVuIGJ5IHZlbmRvcnMsIGVuZC11c2VycywgYWNhZGVtaWMgaW5zdGl0dXRpb25zIGFuZCBnb3Zlcm5tZW50IGFnZW5jaWVzLiBPTUcgVGFzayBGb3JjZXMgZGV2ZWxvcCBlbnRlcnByaXNlIGludGVncmF0aW9uIHN0YW5kYXJkcyBmb3IgYSB3aWRlIHJhbmdlIG9mIHRlY2hub2xvZ2llcyBhbmQgYW4gZXZlbiB3aWRlciByYW5nZSBvZiBpbmR1c3RyaWVzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvYWJvdXQvaW5kZXguaHRtIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5Ij5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8IS0tIC9XaWRnZXQgOjogVGV4dCBXaWRnZXQgLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS00IGNvbC1tZC0zIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIFdpZGdldCA6OiBDb250YWN0cyBJbmZvIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3RzLXdpZGdldCB3aWRnZXQgd2lkZ2V0X19mb290ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9IndpZGdldC10aXRsZSI+Q29udGFjdCBVczwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iY29udGFjdHMtaW5mby1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1tYXAtbWFya2VyIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8taXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5QyBNZWR3YXkgUm9hZCwgUE1CIDI3NDxicj4gTWlsZm9yZCwgTUEgMDE3NTcgVVNBCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtcGhvbmUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBoLisxIDc4MSA0NDQtMDQwNDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZheCArMSA3ODEtNDQ0LTAzMjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1lbnZlbG9wZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1pdGVtIj4KCQkJCQkJCQkJCQkJCTxhIGhyZWY9Im1haWx0bzppbmZvQG9tZy5vcmciPmluZm9Ab21nLm9yZzwvYT4KCQkJCQkJCQkJCQkJPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8IS0tIC9XaWRnZXQgOjogQ29udGFjdHMgSW5mbyAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvcHlyaWdodCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02IGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgJmNvcHk7IDIwMjAgIDxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW5kZXguaHRtIj5PYmplY3QgTWFuYWdlbWVudCBHcm91cCZyZWc7LCBPTUcmcmVnOzwvYT4gJm5ic3A7fCAmbmJzcDtBbGwgUmlnaHRzIFJlc2VydmVkCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02IGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWwtbGlua3Mtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzb2NpYWwtbGlua3MtdHh0Ij5Db25uZWN0IHdpdGggdXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic29jaWFsLWxpbmtzIHNvY2lhbC1saW5rc19fZGFyayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL09iamVjdC1NYW5hZ2VtZW50LUdyb3VwLTE3MTUzNDQxMDAyMi8iPjxpIGNsYXNzPSJmYSBmYS1mYWNlYm9vayI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vb2JqZWN0bWdtdGdyb3VwIj48aSBjbGFzcz0iZmEgZmEtdHdpdHRlciI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9ncm91cHMvNjY3OTkiPjxpIGNsYXNzPSJmYSBmYS1saW5rZWRpbiI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9ibG9nLm9tZy5vcmcvIj48aSBjbGFzcz0iZmEgZmEtcGVuY2lsLXNxdWFyZS1vIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3R1VGoxd3R5d29qWU5ab3lQZVlBRnciPjxpIGNsYXNzPSJmYSBmYS15b3V0dWJlIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vYi8xMTIzMDM0NjE5OTU4NzAzMTUxNTYvMTEyMzAzNDYxOTk1ODcwMzE1MTU2L3Bvc3RzIj48aSBjbGFzcz0iZmEgZmEtZ29vZ2xlLXBsdXMiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtcnNzIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9mb290ZXI+CjwhLS0gRm9vdGVyIC8gRW5kIC0tPgoKPCEtLSBKYXZhc2NyaXB0IEZpbGVzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LTEuMTEuMC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LW1pZ3JhdGUtMS4yLjEubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvaGVhZGhlc2l2ZS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvZmhtbS5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnkuZmxpY2tyZmVlZC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9pc290b3BlL2lzb3RvcGUucGtnZC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvaXNvdG9wZS9qcXVlcnkuaW1hZ2VzbG9hZGVkLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9tYWduaWZpYy1wb3B1cC9qcXVlcnkubWFnbmlmaWMtcG9wdXAuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3Ivb3dsLWNhcm91c2VsL293bC5jYXJvdXNlbC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LmZpdHZpZHMuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LmFwcGVhci5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnkuc3RlbGxhci5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy92ZW5kb3Ivc25hcC5zdmctbWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vd3d3Lm9tZy5vcmcvdmVuZG9yL21lZGlhZWxlbWVudC9tZWRpYWVsZW1lbnQtYW5kLXBsYXllci5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgYXN5bmM9IiIgc3JjPSIvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHNyYz0iLy93d3cub21nLm9yZy9qcy9jdXN0b20uanMiPjwvc2NyaXB0PgoKPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3NlbGVjdDIvNC4wLjMvanMvc2VsZWN0Mi5taW4uanMiIGludGVncml0eT0ic2hhMjU2LSttV2QvRzY5UzRxdGdQb3dTRUxJZVZBdjcrRnVMODcxV1hhb2xnWG5yd1E9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9zZWxlY3QyLzQuMC4zL2Nzcy9zZWxlY3QyLm1pbi5jc3MiIGludGVncml0eT0ic2hhMjU2LXhKT1pIZnB4TFIvdWhoMUJ3WUZTNWZobU9BZElSUWFpT3VsNUYvYjd2M3M9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiAvPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKICAgICAgICB2YXIgc2VhcmNoQm94ID0gJCgiI3NwZWNzLXNlYXJjaC1ib3giKTsKICAgICAgICBzZWFyY2hCb3guc2VsZWN0Mih7CiAgICAgICAgICAgIHBsYWNlaG9sZGVyICAgICAgICAgICAgIDogIlR5cGUgU3BlY2lmaWNhdGlvbnMsIENhdGVnb3JpZXMgb3IgS2V5d29yZHMiLAogICAgICAgICAgICBhbGxvd0NsZWFyICAgICAgICAgICAgICA6IHRydWUsCiAgICAgICAgICAgIG1pbmltdW1SZXN1bHRzRm9yU2VhcmNoIDogNQogICAgICAgIH0pOwogICAgICAgIHNlYXJjaEJveC5vbigic2VsZWN0MjpzZWxlY3QiLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICB2YXIgcGF0aCA9IGUuY3VycmVudFRhcmdldC52YWx1ZTsKICAgICAgICAgICAgc2VhcmNoQm94LnZhbChbXSkudHJpZ2dlcigiY2hhbmdlIik7CiAgICAgICAgICAgIGlmICghd2luZG93LmxvY2F0aW9uLmhyZWYuZW5kc1dpdGgoIi8iKSkKICAgICAgICAgICAgICAgIHBhdGggPSAiLyIgKyBwYXRoOwogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmICsgcGF0aDsKICAgICAgICB9KTsKICAgICAgICAkKCIjc3BlY3Mtc2VhcmNoLWJ1dHRvbiIpLmhpZGUoKTsKICAgICAgICAkKCJhLmRvd25sb2FkLWRvY3VtZW50IikuY2xpY2soZnVuY3Rpb24oKXsKICAgICAgICAgICAgZ3RhZygnZXZlbnQnLCAnZG93bmxvYWQnLCB7CiAgICAgICAgICAgICAgICAnZXZlbnRfY2F0ZWdvcnknOiAnZG93bmxvYWRzJywKICAgICAgICAgICAgICAgICdldmVudF9hY3Rpb24nICA6ICQodGhpcykuZGF0YSgic3BlYyIpLAogICAgICAgICAgICAgICAgJ2V2ZW50X2xhYmVsJyAgIDogJCh0aGlzKS5kYXRhKCJsYWJlbCIpfSk7CiAgICAgICAgfSk7CiAgICB9KTsKICAgICQoJ1tkYXRhLXRvZ2dsZT0idG9vbHRpcCJdJykudG9vbHRpcCgpCjwvc2NyaXB0PgoKPCEtLSBCT0RZIEZPT1RFUiBJTkNMVURFIEVORCAtLT4KPC9ib2R5Pgo8L2h0bWw+Cgo=
|
53
53
|
http_version:
|
54
|
-
recorded_at:
|
54
|
+
recorded_at: Wed, 25 Nov 2020 23:46:12 GMT
|
55
55
|
recorded_with: VCR 5.1.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://
|
5
|
+
uri: https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -14,60 +14,28 @@ http_interactions:
|
|
14
14
|
User-Agent:
|
15
15
|
- Ruby
|
16
16
|
Host:
|
17
|
-
-
|
17
|
+
- xml2rfc.tools.ietf.org
|
18
18
|
response:
|
19
19
|
status:
|
20
20
|
code: 200
|
21
21
|
message: OK
|
22
22
|
headers:
|
23
|
-
|
24
|
-
-
|
25
|
-
|
26
|
-
-
|
27
|
-
|
28
|
-
-
|
29
|
-
Content-Security-Policy:
|
30
|
-
- default-src 'none'; style-src 'unsafe-inline'; sandbox
|
31
|
-
Content-Type:
|
32
|
-
- text/plain; charset=utf-8
|
23
|
+
Date:
|
24
|
+
- Wed, 25 Nov 2020 23:46:07 GMT
|
25
|
+
Server:
|
26
|
+
- Apache/2.2.22 (Debian)
|
27
|
+
Last-Modified:
|
28
|
+
- Tue, 24 Nov 2020 01:23:06 GMT
|
33
29
|
Etag:
|
34
|
-
-
|
35
|
-
Strict-Transport-Security:
|
36
|
-
- max-age=31536000
|
37
|
-
X-Content-Type-Options:
|
38
|
-
- nosniff
|
39
|
-
X-Frame-Options:
|
40
|
-
- deny
|
41
|
-
X-Xss-Protection:
|
42
|
-
- 1; mode=block
|
43
|
-
X-Github-Request-Id:
|
44
|
-
- 7038:DC8D:63065:670D7:605CD1E9
|
30
|
+
- '"39e2efa-46c-5b4d0271d9280"'
|
45
31
|
Accept-Ranges:
|
46
32
|
- bytes
|
47
|
-
|
48
|
-
-
|
49
|
-
|
50
|
-
-
|
51
|
-
X-Served-By:
|
52
|
-
- cache-vie21621-VIE
|
53
|
-
X-Cache:
|
54
|
-
- MISS
|
55
|
-
X-Cache-Hits:
|
56
|
-
- '0'
|
57
|
-
X-Timer:
|
58
|
-
- S1616695786.541377,VS0,VE292
|
59
|
-
Vary:
|
60
|
-
- Authorization,Accept-Encoding
|
61
|
-
Access-Control-Allow-Origin:
|
62
|
-
- "*"
|
63
|
-
X-Fastly-Request-Id:
|
64
|
-
- 675fa8c21b9372256cab822a1891e4dbeb2f2ed1
|
65
|
-
Expires:
|
66
|
-
- Thu, 25 Mar 2021 18:14:45 GMT
|
67
|
-
Source-Age:
|
68
|
-
- '0'
|
33
|
+
Content-Length:
|
34
|
+
- '1132'
|
35
|
+
Content-Type:
|
36
|
+
- application/xml
|
69
37
|
body:
|
70
|
-
encoding:
|
38
|
+
encoding: UTF-8
|
71
39
|
string: |
|
72
40
|
<?xml version='1.0' encoding='UTF-8'?>
|
73
41
|
|
@@ -84,5 +52,5 @@ http_interactions:
|
|
84
52
|
<seriesInfo name='DOI' value='10.17487/RFC8341'/>
|
85
53
|
</reference>
|
86
54
|
http_version:
|
87
|
-
recorded_at:
|
55
|
+
recorded_at: Wed, 25 Nov 2020 23:46:07 GMT
|
88
56
|
recorded_with: VCR 5.1.0
|