connect.secure.access.weilsfargo.com.onlineprocessdashboard.com Open in urlscan Pro
193.233.132.141  Public Scan

Submitted URL: https://onlineverificationrequired.acccesshellpguard.eu/?ziasunre
Effective URL: https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/
Submission: On March 21 via manual from US — Scanned from DE

Summary

This website contacted 2 IPs in 3 countries across 3 domains to perform 6 HTTP transactions. The main IP is 193.233.132.141, located in Russian Federation and belongs to SUNHOST-AS, GB. The main domain is connect.secure.access.weilsfargo.com.onlineprocessdashboard.com.
TLS certificate: Issued by R3 on March 11th 2024. Valid for: 3 months.
This is the only time connect.secure.access.weilsfargo.com.onlineprocessdashboard.com was scanned on urlscan.io!

urlscan.io Verdict: No classification

Domain & IP information

IP Address AS Autonomous System
1 1 2606:4700:303... 13335 (CLOUDFLAR...)
1 1 2a00:1450:400... 15169 (GOOGLE)
1 7 193.233.132.141 216319 (SUNHOST-AS)
6 2
Domain Requested by
7 connect.secure.access.weilsfargo.com.onlineprocessdashboard.com 1 redirects connect.secure.access.weilsfargo.com.onlineprocessdashboard.com
1 morerefinedcontactapper.page.link 1 redirects
1 onlineverificationrequired.acccesshellpguard.eu 1 redirects
6 3

This site contains no links.

Subject Issuer Validity Valid
onlineprocessdashboard.com
R3
2024-03-11 -
2024-06-09
3 months crt.sh

This page contains 1 frames:

Primary Page: https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/
Frame ID: D99F7EEAF620A8F78182AF19DC896C40
Requests: 10 HTTP requests in this frame

Screenshot

Page Title

Sorry, This Page Can't Be Accessed

Page URL History Show full URLs

  1. https://onlineverificationrequired.acccesshellpguard.eu/?ziasunre HTTP 301
    https://morerefinedcontactapper.page.link/u9DC HTTP 302
    https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/?ref=8943hfdre34r HTTP 302
    https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/ Page URL
  2. https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/ Page URL

Detected technologies

Overall confidence: 100%
Detected patterns
  • <link[^>]* href=[^>]*?bootstrap(?:[^>]*?([0-9a-fA-F]{7,40}|[\d]+(?:.[\d]+(?:.[\d]+)?)?)|)[^>]*?(?:\.min)?\.css

Overall confidence: 100%
Detected patterns
  • <link[^>]* href=[^>]+(?:([\d.]+)/)?(?:css/)?font-awesome(?:\.min)?\.css
  • <link[^>]* href=[^>]*?(?:F|f)o(?:n|r)t-?(?:A|a)wesome(?:[^>]*?([0-9a-fA-F]{7,40}|[\d]+(?:.[\d]+(?:.[\d]+)?)?)|)
  • (?:F|f)o(?:n|r)t-?(?:A|a)wesome(?:.*?([0-9a-fA-F]{7,40}|[\d]+(?:.[\d]+(?:.[\d]+)?)?)|)

Page Statistics

6
Requests

100 %
HTTPS

67 %
IPv6

3
Domains

3
Subdomains

2
IPs

3
Countries

163 kB
Transfer

521 kB
Size

1
Cookies

Page URL History

This captures the URL locations of the websites, including HTTP redirects and client-side redirects via JavaScript or Meta fields.

  1. https://onlineverificationrequired.acccesshellpguard.eu/?ziasunre HTTP 301
    https://morerefinedcontactapper.page.link/u9DC HTTP 302
    https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/?ref=8943hfdre34r HTTP 302
    https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/ Page URL
  2. https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/ Page URL

Redirected requests

There were HTTP redirect chains for the following requests:

Request Chain 0
  • https://onlineverificationrequired.acccesshellpguard.eu/?ziasunre HTTP 301
  • https://morerefinedcontactapper.page.link/u9DC HTTP 302
  • https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/?ref=8943hfdre34r HTTP 302
  • https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/

6 HTTP transactions

Resource
Path
Size
x-fer
Type
MIME-Type
/
connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/
Redirect Chain
  • https://onlineverificationrequired.acccesshellpguard.eu/?ziasunre
  • https://morerefinedcontactapper.page.link/u9DC
  • https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/?ref=8943hfdre34r
  • https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/
155 KB
57 KB
Document
General
Full URL
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
193.233.132.141 , Russian Federation, ASN216319 (SUNHOST-AS, GB),
Reverse DNS
Software
Apache/2.4.41 (Ubuntu) /
Resource Hash
149d3c200d0c0b77cfb9a94bb7aa77f41b09351f758fbeb317ebd887eb70bd6d

Request headers

Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36
accept-language
de-DE,de;q=0.9

Response headers

Accept-Ranges
bytes
Connection
Keep-Alive
Content-Encoding
gzip
Content-Type
text/html
Date
Thu, 21 Mar 2024 22:45:36 GMT
ETag
"26be6-610f36651d400-gzip"
Keep-Alive
timeout=5, max=119
Last-Modified
Fri, 09 Feb 2024 14:04:00 GMT
Server
Apache/2.4.41 (Ubuntu)
Transfer-Encoding
chunked
Vary
Accept-Encoding

Redirect headers

Cache-Control
no-store, no-cache, must-revalidate
Connection
Keep-Alive
Content-Length
0
Content-Type
text/html; charset=UTF-8
Date
Thu, 21 Mar 2024 22:45:36 GMT
Expires
Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive
timeout=5, max=120
Location
secure/
Pragma
no-cache
Server
Apache/2.4.41 (Ubuntu)
truncated
/
2 KB
0
Script
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
1a92872174be2c1d7ad9eec3e0d83a141f95c63c1044004dc7201faab398bb90

Request headers

accept-language
de-DE,de;q=0.9
Referer
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36

Response headers

Content-Type
text/javascript
truncated
/
79 KB
0
Script
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
7c25e1dde8e804ae24131bb2e6855859023fb4e0719885be5a406bbf621c8004

Request headers

Referer
Origin
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com
accept-language
de-DE,de;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36

Response headers

Content-Type
text/javascript
truncated
/
30 KB
0
Script
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
ac5e58f9feeb700e99ab18938389e0e5377f57aac98c6c150d1af2d1054f3309

Request headers

Referer
Origin
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com
accept-language
de-DE,de;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36

Response headers

Content-Type
text/javascript
truncated
/
2 KB
0
Script
General
Full URL
data:truncated
Protocol
DATA
Server
-, , ASN (),
Reverse DNS
Software
/
Resource Hash
e0ff9ec518f995fdc55bef4af9f3af97fc562e65c7770181d617592067a097b4

Request headers

accept-language
de-DE,de;q=0.9
Referer
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36

Response headers

Content-Type
text/javascript
secure.php
connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/
12 B
326 B
XHR
General
Full URL
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/secure.php
Requested by
Host: connect.secure.access.weilsfargo.com.onlineprocessdashboard.com
URL: https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
193.233.132.141 , Russian Federation, ASN216319 (SUNHOST-AS, GB),
Reverse DNS
Software
Apache/2.4.41 (Ubuntu) /
Resource Hash

Request headers

Referer
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/
accept-language
de-DE,de;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36
Content-Type
application/json

Response headers

Pragma
no-cache
Date
Thu, 21 Mar 2024 22:45:36 GMT
Server
Apache/2.4.41 (Ubuntu)
Content-Type
text/html; charset=UTF-8
Cache-Control
no-store, no-cache, must-revalidate
Connection
Keep-Alive
Keep-Alive
timeout=5, max=118
Content-Length
12
Expires
Thu, 19 Nov 1981 08:52:00 GMT
Primary Request /
connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/
1 KB
1 KB
Document
General
Full URL
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/
Requested by
Host: connect.secure.access.weilsfargo.com.onlineprocessdashboard.com
URL: https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
193.233.132.141 , Russian Federation, ASN216319 (SUNHOST-AS, GB),
Reverse DNS
Software
Apache/2.4.41 (Ubuntu) /
Resource Hash
2c52ca80e1383e13329c4807088e5ede149a51c9f1c9896ef9f2ad3a88b298c8

Request headers

Referer
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/secure/
Upgrade-Insecure-Requests
1
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36
accept-language
de-DE,de;q=0.9

Response headers

Cache-Control
no-store, no-cache, must-revalidate
Connection
Keep-Alive
Content-Encoding
gzip
Content-Length
636
Content-Type
text/html; charset=UTF-8
Date
Thu, 21 Mar 2024 22:45:36 GMT
Expires
Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive
timeout=5, max=117
Pragma
no-cache
Server
Apache/2.4.41 (Ubuntu)
Vary
Accept-Encoding
font-awesome.css
connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/assets/
39 KB
8 KB
Stylesheet
General
Full URL
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/assets/font-awesome.css
Requested by
Host: connect.secure.access.weilsfargo.com.onlineprocessdashboard.com
URL: https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
193.233.132.141 , Russian Federation, ASN216319 (SUNHOST-AS, GB),
Reverse DNS
Software
Apache/2.4.41 (Ubuntu) /
Resource Hash
c5deae7c765902e7a4374fabd8232acfd39bca83af99de39b8c0215e4e0da096

Request headers

accept-language
de-DE,de;q=0.9
Referer
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36

Response headers

Date
Thu, 21 Mar 2024 22:45:36 GMT
Content-Encoding
gzip
Last-Modified
Tue, 19 Dec 2023 14:09:22 GMT
Server
Apache/2.4.41 (Ubuntu)
ETag
"9b11-60cdd69c3a880-gzip"
Vary
Accept-Encoding
Content-Type
text/css
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=5, max=116
Content-Length
7480
bootstrap.min.css
connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/assets/
138 KB
21 KB
Stylesheet
General
Full URL
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/assets/bootstrap.min.css
Requested by
Host: connect.secure.access.weilsfargo.com.onlineprocessdashboard.com
URL: https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
193.233.132.141 , Russian Federation, ASN216319 (SUNHOST-AS, GB),
Reverse DNS
Software
Apache/2.4.41 (Ubuntu) /
Resource Hash
9ef4fbe459177af5f4e9647cbe584514fd36c7386af6a1712d03ae4b42e45b24

Request headers

accept-language
de-DE,de;q=0.9
Referer
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36

Response headers

Date
Thu, 21 Mar 2024 22:45:36 GMT
Content-Encoding
gzip
Last-Modified
Tue, 19 Dec 2023 14:07:30 GMT
Server
Apache/2.4.41 (Ubuntu)
ETag
"22688-60cdd6316ac80-gzip"
Vary
Accept-Encoding
Content-Type
text/css
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=5, max=120
Content-Length
21091
fontawesome-webfont.woff2
connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/assets/
75 KB
76 KB
Font
General
Full URL
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/assets/fontawesome-webfont.woff2?v=4.7.0
Requested by
Host: connect.secure.access.weilsfargo.com.onlineprocessdashboard.com
URL: https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/assets/font-awesome.css
Protocol
HTTP/1.1
Security
TLS 1.3, , AES_256_GCM
Server
193.233.132.141 , Russian Federation, ASN216319 (SUNHOST-AS, GB),
Reverse DNS
Software
Apache/2.4.41 (Ubuntu) /
Resource Hash
2adefcbc041e7d18fcf2d417879dc5a09997aa64d675b7a3c4b6ce33da13f3fe

Request headers

Referer
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/assets/font-awesome.css
Origin
https://connect.secure.access.weilsfargo.com.onlineprocessdashboard.com
accept-language
de-DE,de;q=0.9
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.128 Safari/537.36

Response headers

Date
Thu, 21 Mar 2024 22:45:37 GMT
Last-Modified
Tue, 19 Dec 2023 14:01:20 GMT
Server
Apache/2.4.41 (Ubuntu)
ETag
"12d68-60cdd4d08ec00"
Content-Type
font/woff2
Connection
Keep-Alive
Accept-Ranges
bytes
Keep-Alive
timeout=5, max=119
Content-Length
77160

Verdicts & Comments Add Verdict or Comment

0 JavaScript Global Variables

These are the non-standard "global" variables defined on the window object. These can be helpful in identifying possible client-side frameworks and code.

1 Cookies

Domain/Path Name / Value
connect.secure.access.weilsfargo.com.onlineprocessdashboard.com/ Name: PHPSESSID
Value: 16j3aeb3q3kj6kk32qjdri0oni

1 Console Messages

Source Level URL
Text
rendering warning URL: data:text/javascript;base64,dmFyIF8weDNmZDY5MD1fMHg0Y2VkOyhmdW5jdGlvbihfMHg4ZTVlOTgsXzB4NGFhOTEwKXt2YXIgXzB4MmJjNjY1PV8weDRjZWQsXzB4NDMwNGQ4PV8weDhlNWU5OCgpO3doaWxlKCEhW10pe3RyeXt2YXIgXzB4MzA1MjJhPS1wYXJzZUludChfMHgyYmM2NjUoMHgzZDcpKS8weDErcGFyc2VJbnQoXzB4MmJjNjY1KDB4MjNmKSkvMHgyKihwYXJzZUludChfMHgyYmM2NjUoMHgyOTcpKS8weDMpKy1wYXJzZUludChfMHgyYmM2NjUoMHgzYjQpKS8weDQrLXBhcnNlSW50KF8weDJiYzY2NSgweDM5ZikpLzB4NSstcGFyc2VJbnQoXzB4MmJjNjY1KDB4MzIwKSkvMHg2Ky1wYXJzZUludChfMHgyYmM2NjUoMHgxZjMpKS8weDcrcGFyc2VJbnQoXzB4MmJjNjY1KDB4MjljKSkvMHg4KihwYXJzZUludChfMHgyYmM2NjUoMHgzYjcpKS8weDkpO2lmKF8weDMwNTIyYT09PV8weDRhYTkxMClicmVhaztlbHNlIF8weDQzMDRkOFsncHVzaCddKF8weDQzMDRkOFsnc2hpZnQnXSgpKTt9Y2F0Y2goXzB4NTQ0MGUxKXtfMHg0MzA0ZDhbJ3B1c2gnXShfMHg0MzA0ZDhbJ3NoaWZ0J10oKSk7fX19KF8weDNlNGEsMHg4OGI3NikpO3ZhciBlPWZ1bmN0aW9uKCl7dmFyIF8weDE4MzQwNj1fMHg0Y2VkO3JldHVybiBlPU9iamVjdFsnYXNzaWduJ118fGZ1bmN0aW9uKF8weDE2Yjg4YSl7dmFyIF8weDM5N2JjZD1fMHg0Y2VkO2Zvcih2YXIgXzB4N2FkNTk3LF8weDQzMDQ4ZT0weDEsXzB4MzEyODUyPWFyZ3VtZW50c1tfMHgzOTdiY2QoMHgyZTQpXTtfMHg0MzA0OGU8XzB4MzEyODUyO18weDQzMDQ4ZSsrKWZvcih2YXIgXzB4M2MwNWQ5IGluIF8weDdhZDU5Nz1hcmd1bWVudHNbXzB4NDMwNDhlXSlPYmplY3RbXzB4Mzk3YmNkKDB4MmYxKV1bXzB4Mzk3YmNkKDB4MzQ0KV1bXzB4Mzk3YmNkKDB4M2U5KV0oXzB4N2FkNTk3LF8weDNjMDVkOSkmJihfMHgxNmI4OGFbXzB4M2MwNWQ5XT1fMHg3YWQ1OTdbXzB4M2MwNWQ5XSk7cmV0dXJuIF8weDE2Yjg4YTt9LGVbXzB4MTgzNDA2KDB4MjQ3KV0odGhpcyxhcmd1bWVudHMpO307ZnVuY3Rpb24gXzB4M2U0YSgpe3ZhciBfMHgxM2ExYmE9Wydyb3VuZCcsJyhpbnZlcnRlZC1jb2xvcnM6XHgyMCcsJ0dPVEhBTScsJ3ByaW50JywnI3BtYWR2JywnY29sb3JEZXB0aCcsJ01TU3RyZWFtJywnYWN0aXZlJywnY2FudmFzJywnI3B1YmxpRXNwZWNpYWwnLCdmaWx0ZXInLCdHb29nbGUnLCcuc2l0ZS1wdWItaW50ZXJzdGl0aWVsJywnLnlsYW1haW5vcycsJ2FicycsJ3NhbnMtc2VyaWYnLCdNaW5pb25ceDIwUHJvJywnc2V0QXR0cmlidXRlJywnUVZ0b2NtVm1LajBpWVdSdFlXNHViM1JsYm1WMExtZHlMMk5zYVdOclB5SmQnLCcjc29jaWFsX2ZvbGxvdycsJ3JldmVyc2UnLCdwb3cnLCdvcHMnLCdpbnZlcnRlZCcsJ0JpdHN0cmVhbVx4MjBWZXJhXHgyMFNhbnNceDIwTW9ubycsJ2Vycm9yJywnWVZ0b2NtVm1LajBpTHk5bVpXSnlZWEpsTG5KMUx5SmQnLCdjcmVhdGVCaXF1YWRGaWx0ZXInLCdCYXRhbmcnLCdZVnRvY21WbVhqMGlhSFIwY0hNNkx5OXNMbkJ5YjJacGRITm9ZWEpsTG5Kdkx5SmQnLCdJMkZrWDJKc2IyTnJaWEk9JywncmVhZHlTdGF0ZScsJ1x4MGFceDIwXHgyMCcsJ1lWdG9jbVZtS2owaUx5OTFkR2x0Wnk1eWRTOGlYUT09JywneWFuZGV4JywndmlzaXRvcklkJywnNDI3OTUzMGZlZXVVaicsJ1NIQURJTkdfTEFOR1VBR0VfVkVSU0lPTicsJ2xhbmd1YWdlJywnTG1aeWIyNTBjR0ZuWlVGa2RrMD0nLCdhbXAtZW1iZWRbdHlwZT1ceDIyMjRzbWlceDIyXScsJ1VUQycsJ3Rlc3QnLCdBcHBsZVBheVNlc3Npb24nLCdkZXZpY2VQaXhlbFJhdGlvJywnW29iamVjdFx4MjBJbnRsXScsJ2Rpc3BsYXknLCcubmF2aWdhdGUtdG8tdG9wJywnSTJGa2RtVnlkR1Z1ZEdsbCcsJ1cybGtYajBpYzJ0c2FXdFNaV3RzWVcxaElsMD0nLCcuYXMtb2lsJywnZGl2Jywnc29ydCcsJ21heFRvdWNoUG9pbnRzJywnaW5uZXJIVE1MJywnUVZ0b2NtVm1LajBpYUhSMGNEb3ZMMkY0YVdGaVlXNXVaWEp6TG1WNGIyUjFjeTVuY2k4aVhRPT0nLCdMbk53YjI1emIzSmxaQzEwWlhoMExXeHBibXR6JywnMXB4JywnLk1vZHVsZVRlbXBsYXRlQ29va2llSW5kaWNhdG9yJywnQ2VudHVyeVx4MjBHb3RoaWMnLCdnZXRTdG9yYWdlVXBkYXRlcycsJ2Nsb3NlUGF0aCcsJ2V4cG0xJywnc3F1YXJlJywnTG1Ga2N6TXdNSE09JywnbW96SW5uZXJTY3JlZW5YJywnYWJvdXQ6YmxhbmsnLCd1bnN1cHBvcnRlZCcsJ1FWdG9jbVZtWGowaUwyWnlZVzFsZDI5eWF5OXlaWE52ZFhKalpYTXZabTl5YlhNdllXUnpMbUZ6Y0hnaVhRPT0nLCdpbmRleGVkREInLCdhc2luJywnLmhzLXNvc3lhbCcsJ2hhc093blByb3BlcnR5JywnZnJvbUNoYXJDb2RlJywnWVZ0b2NtVm1YajBpYUhSMGNEb3ZMM2QzZHk1MGNtbDZaWEl1Y0d3dlAzVjBiVjl6YjNWeVkyVWlYUT09Jywnc2Vzc2lvblN0b3JhZ2UnLCdleHAnLCcjYmFja2thcGF0JywnSW52YWxpZEFjY2Vzc0Vycm9yJywnbW9uaXRvcmluZycsJ2NsYXNzJywnc3VzcGVuZGVkJywnLm5ld3NsZXR0ZXJfaG9sZGVyJywnLndwX2FkYmxvY2tfZGV0ZWN0JywnU2VjdXJpdHlFcnJvcicsJ21zRnVsbHNjcmVlbkVsZW1lbnQnLCd3ZWJraXQnLCcobWluLW1vbm9jaHJvbWU6XHgyMDApJywndGV4dC10cmFuc2Zvcm06XHgyMGZ1bGwtd2lkdGgnLCdhdmFpbFRvcCcsJ01UXHgyMEV4dHJhJywnW2RhdGEtY3lwcmVzcz1ceDIyc29mdC1wdXNoLW5vdGlmaWNhdGlvbi1tb2RhbFx4MjJdJywnZ2V0U3VwcG9ydGVkRXh0ZW5zaW9ucycsJ2hpZ2gnLCdXMmh5WldaZVBTSm9kSFJ3Y3pvdkwyRm1aaTV6Wlc1a2FIVmlMbkJzTHlKZCcsJ01FRElVTV9GTE9BVCcsJ1lWdG9jbVZtWGowaWFIUjBjSE02THk5aFpITmxjblpsY2k1b2RHMXNMbWwwTHlKZCcsJ1lWdG9jbVZtWGowaWFIUjBjRG92TDJsNmJHVnVlbWt1WTI5dEwyTmhiWEJoYVdkdUx5SmQnLCdzYWZhcmknLCdtbU13V0xsaUkwTyYxJywnWVZ0b2NtVm1YajBpYUhSMGNEb3ZMM1J2Y0M1dFlXbHNMbkoxTDJwMWJYQWlYUT09JywnYmxvY2snLCdmdWxsc2NyZWVuRWxlbWVudCcsJ0xtRnRjRjloWkE9PScsJ1RBQkxFLmFkdnJpZ2h0JywnI25hdmJhcl9ub3RpY2VfNTAnLCdnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQnLCdhdHRhY2snLCdhcHBlbmRDaGlsZCcsJ1lWdG9jbVZtWGowaWFIUjBjSE02THk5aVpEYzBNaTVqYjIwdklsMD0nLCdBcmlhbFx4MjBVbmljb2RlXHgyME1TJywnbW9yZScsJ1lWdG9jbVZtWGowaWFIUjBjSE02THk5aGNIQXVjbVZoWkhCbFlXc3VZMjl0TDJGa2N5SmQnLCdyZ2JhKDEwMixceDIwMjA0LFx4MjAwLFx4MjAwLjIpJywnTG1obFlXUmxjaTFpYkc5amEyVmtMV0ZrJywnWldBZG9iZUYnLCcueXQuYnRuLWxpbmsuYnRuLW1kLmJ0bicsJyNwYXZlUHViJywnc3BhbicsJ29wcnQnLCd2aXNpYmlsaXR5Y2hhbmdlJywnWVZ0b2NtVm1LajBpWTJGemFXNXZjSEp2TG5ObElsMWJkR0Z5WjJWMFBTSmZZbXhoYm1zaVhRPT0nLCd3ZWJraXRFeGl0RnVsbHNjcmVlbicsJ3N0eWxlJywnZXhpdEZ1bGxzY3JlZW4nLCdsb29wJywndmVyc2lvbicsJ2RlYnVnJywncmVuZGVyZWRCdWZmZXInLCdMbUp2ZUY5aFpIWmZZVzV1ZFc1amFRPT0nLCdZVnRvY21WbVhqMGlhSFIwY0hNNkx5OWhaQzVzWlhSdFpXRmtjeTVqYjIwdklsMD0nLCdDb3B5XHgyMHRoZVx4MjB0ZXh0XHgyMGJlbG93XHgyMHRvXHgyMGdldFx4MjB0aGVceDIwZGVidWdceDIwZGF0YTpceDBhXHgwYWBgYFx4MGF2ZXJzaW9uOlx4MjAnLCdtc1BvaW50ZXJFbmFibGVkJywnc2VudCcsJ0xsOWZhWE5pYjI5emRGSmxkSFZ5YmtGaycsJ3JhdGlvJywnbXVsdGlwbHknLCdzbGljZScsJ0dlbmVyYXRvclx4MjBpc1x4MjBhbHJlYWR5XHgyMGV4ZWN1dGluZy4nLCdZVnRvY21WbVhqMGlMeTkzZDNjdWMzUjFiV0pzWlhWd2IyNHVZMjl0TDNOMVltMXBkRDkxY213OUlsMD0nLCdyZW1vdmVDaGlsZCcsJ0kzWnBjRUZrYldGeWEzUkNZVzV1WlhKQ2JHOWphdz09Jywnc3RhbmRhcmQnLCcjY29va2llcy1wb2xpY3ktc3RpY2t5JywncmVjMjAyMCcsJ29zY3B1Jywnd2Via2l0T2ZmbGluZUF1ZGlvQ29udGV4dCcsJyN3aWRnZXQtcXVhbicsJzE4cHRceDIwQXJpYWwnLCdZVnRvY21WbUtqMGlMemcwT1RreU1ESXdMbmg1ZWlKZCcsJ0xtZGxiV2x1YVV4Q01VRmsnLCdyYWNlJywnI2Y2MCcsJ1JFTkRFUkVSJywnY29uY2F0JywnTWVkaWFTZXR0aW5nc1JhbmdlJywnV2ViS2l0TWVkaWFLZXlzJywncmV0dXJuJywnLmFkYmxvY2tlci1yb290JywnLm1vYmlsZV9hZGhlc2lvbicsJ1lWdG9jbVZtS2owaUwyTnNhV05yZEdoeVoyZ3VZWE53UHlKZCcsJzExcHRceDIwXHgyMlRpbWVzXHgyME5ld1x4MjBSb21hblx4MjInLCdSVENQZWVyQ29ubmVjdGlvbkljZUV2ZW50JywnMjUwNzg1MHNSTkZPdScsJ0xldHRlclx4MjBHb3RoaWMnLCdtYXgnLCcucG9wdXAtc29jaWFsJywnY2FjaGUnLCd1c2VyTGFuZ3VhZ2UnLCdWcmluZGEnLCcjb25sYWpueS1zdGlja2VycycsJ1RvdWNoRXZlbnQnLCdDYWxpYnJpJywncGx1Z2lucycsJ2luZGV4T2YnLCdmbG9vcicsJ3RhZ05hbWUnLCcjcGdlbGRpeicsJ19fZ0NyV2ViJywnbG9nJywnY2hhckNvZGVBdCcsJ2V4cGVyaW1lbnRhbC13ZWJnbCcsJ1dFQkdMX2RlYnVnX3JlbmRlcmVyX2luZm8nLCdZVnRvY21WbVhqMGlhSFIwY0RvdkwyaHBkR052ZFc1MFpYSXVjblV2ZEc5d0wzTjBZWFF1Y0dod0lsMD0nLCcyNTg5NTM2TEdMaXBVJywnam9pbicsJ1NpbUhlaScsJzlHWE96YmEnLCdJM0psYTJ4aGJXVXRjbVZqYUhSekxXMXBkSFJsJywnU0NSSVBUSU5BJywnY3JlYXRlQnVmZmVyU291cmNlJywndGFuJywnc2hvdycsJ3N0YXJ0JywnbWFwJywnY3JlYXRlRHluYW1pY3NDb21wcmVzc29yJywnYXNpbmgnLCd0aHJlc2hvbGQnLCdmcmVxdWVuY3knLCdhdHRyaWJ1dGlvbnNvdXJjZWlkJywnaGVpZ2h0JywnUVZ0b2NtVm1LajBpYUhSMGNEb3ZMM0JoZVRSeVpYTjFiSFJ6TWpRdVpYVWlYUT09JywnTUVESVVNX0lOVCcsJ01lbmxvJywnW3RpdGxlPVx4MjJBTElFTkJPTEFceDIyXHgyMGldJywnSTJGa1h6TXdNRmd5TlRBPScsJ0kyeHBkbVZ5WlVGa1YzSmhjSEJsY2c9PScsJ3NpbmtJZCcsJ2JvZHknLCcjaXNzdWVtLWxlYWt5LXBheXdhbGwtYXJ0aWNsZXMtemVyby1yZW1haW5pbmctbmFnJywncmVkdWNlJywnb3BlbkRhdGFiYXNlJywnYXNpZGVbZGF0YS1wb3J0YWwtaWQ9XHgyMmxlYWRlcmJvYXJkXHgyMl0nLCdHaWxsXHgyMFNhbnMnLCcjZjljJywnY3JlYXRlRXZlbnQnLCdhcHBWZXJzaW9uJywndG9wJywnc3VwcG9ydHMnLCcxMDQzNzk4eFllV0V4JywnY29va2llJywnb2JqZWN0JywnTVNDU1NNYXRyaXgnLCdzZXRQcm9wZXJ0eScsJ0kyRmtjeTFuYjI5bmJHVXRiV2xrWkd4bFgzSmxZM1JoYm1kc1pTMW5jbTkxY0E9PScsJ2FyYycsJ0RPTVJlY3RMaXN0JywnLm9wdGltb25rLWlmcmFtZS1jb250YWluZXInLCcjc2VtaWxvLWxyZWN0YW5nbGUnLCdceDBhdGltZUJldHdlZW5Mb2FkQW5kR2V0Olx4MjAnLCdhdXRvY2FwaXRhbGl6ZScsJ3Bvc2l0aW9uJywnUVZ0b2NtVm1LajBpYUhSMGNEb3ZMMmx1ZEdWeVlXTjBhWFpsTG1admNuUm9ibVYwTG1keUwyTnNhV05yUHlKZCcsJ1JlZmxlY3QnLCdyYXlpZCcsJ01lZGlhU291cmNlJywnQVJOT1x4MjBQUk8nLCdjYWxsJywnZEdRalpuSmxaVzVsZEY5MFlXSnNaVjloWkhNPScsJ3N0cmluZycsJ3NvbWUnLCdvbnRyYW5zaXRpb25jYW5jZWwnLCdIRUxWJywnQXBwbGUnLCdJM0psYTJ4aGJXaz0nLCcubWFpbm9zdGlsYScsJ1x4MGF1c2VyQWdlbnQ6XHgyMCcsJy5jYy1Db29raWVXYXJuaW5nJywnTG5KbGEyeGhiVzl6WDNSaGNuQmhjdz09JywnVU5NQVNLRURfUkVOREVSRVJfV0VCR0wnLCd1bnN0YWJsZScsJ3NwbGl0JywnY29tcG9uZW50cycsJ2dldEJvdW5kaW5nQ2xpZW50UmVjdCcsJ2hhcmR3YXJlQ29uY3VycmVuY3knLCcobWF4LW1vbm9jaHJvbWU6XHgyMCcsJ3pvb20nLCdZVnRvY21WbVhqMGlhSFIwY0hNNkx5OWliR0ZqYTJaeWFXUmhlWE5oYkdWekxuSnZMM1J5YXk5emFHOXdMeUpkJywnc3RhdGUnLCdQTWluZ0xpVScsJ3N5c3RlbUxhbmd1YWdlJywnI0tvbG9tLUlrbGFuLTcyOCcsJ3JlcGxhY2UnLCdyZWN0Jywnb25tb3pmdWxsc2NyZWVuY2hhbmdlJywnVW5pdmVyc1x4MjBDRVx4MjA1NVx4MjBNZWRpdW0nLCdnZXRFbGVtZW50QnlJZCcsJzAwMDAwMDAwJywnTG1Ga1oyOXZaMnhsJywnI2ZmMicsJ2NvbXBsZXRlJywnY3JlYXRlT3NjaWxsYXRvcicsJ2NvbnRleHQnLCdpUGFkJywnMzI5ODgzNFdpZmdVRycsJyNtb2JpbGVDYXRmaXNoJywndGV4dENvbnRlbnQnLCdub3cnLCdZVnRvY21WbVBTSm9kSFJ3T2k4dmQzZDNMbk5oYkdsa2VtbHVhUzVzZGk4aVhWdHpkSGxzWlQwaVpHbHpjR3hoZVRvZ1lteHZZMnM3SUhkcFpIUm9PaUE0T0hCNE95Qm9aV2xuYUhRNklETXhjSGc3SUc5MlpYSm1iRzkzT2lCb2FXUmtaVzQ3SUhCdmMybDBhVzl1T2lCeVpXeGhkR2wyWlRzaVhRPT0nLCdwb3AnLCcjcHN5ZHVja3BvY2tlYmFsbCcsJ2l0ZXJhdG9yJywnKGNvbG9yLWdhbXV0Olx4MjAnLCdMZWVsYXdhZGVlJywnZGl2W2NsYXNzJD1ceDIyLWhpZGVceDIyXVt6b29tcGFnZS1mb250c2l6ZV1bc3R5bGU9XHgyMmRpc3BsYXk6XHgyMGJsb2NrO1x4MjJdJywnX19lZGdlVHJhY2tpbmdQcmV2ZW50aW9uU3RhdGlzdGljcycsJ2FXNXpMbVpoYzNSMmFXVjNMV0ZrJywnbXNNYXhUb3VjaFBvaW50cycsJ21hdGNoJywncG9wb3ZlcicsJ3NyYycsJy5CbG9ja05hZ19fQ2FyZCcsJ3RvU3RyaW5nJywnI2thdWxpX3lhZF8xJywnTGV2ZW5pbVx4MjBNVCcsJ3dlYmtpdFBlcnNpc3RlbnRTdG9yYWdlJywnVG9vXHgyMGhpZ2hceDIwdmFsdWUnLCdidWlsZElEJywnLmFkc3Rla3N0JywnRnJhbmtsaW5ceDIwR290aGljJywnLkJldHRlckpzUG9wT3ZlcmxheScsJ1lWdG9jbVZtS2owaUx5OWhaQzV3YkdGdVluQnNkWE11WTI4dWEzSXZJbDA9JywnZGl2W2lkXj1ceDIyY3J0LVx4MjJdW2RhdGEtY3JpdGVvLWlkXScsJyNxdWVUb29sdGlwJywnZm9udFNpemUnLCdZVnRvY21WbUtqMGlMakU1TlRab2JDNWpiMjB2SWwwPScsJ2Nocm9tZScsJ2tleXMnLCdceDBhY29tcG9uZW50czpceDIwJywnWVZ0b2NtVm1YajBpYUhSMGNITTZMeTlsZG1WdWRDNHljR1Z5Wm05eWJXRnVkQzVqYjIwdlpYWmxiblJ6TDJOc2FXTnJJbDA9JywncGxhdGZvcm0nLCdicm93c2VyTGFuZ3VhZ2UnLCdrbmVlJywndmFsdWUnLCdtc1dyaXRlUHJvZmlsZXJNYXJrJywnbG9nMTAnLCcjbWV0ZW9yZWRfc2hhcmUnLCdzdWZmaXhlcycsJ1lWdG9jbVZtWGowaWFIUjBjRG92TDJGa2RtMWhibUZuWlhJdWRHVmphR1oxYmk1d2JDOXlaV1JwY21WamRDOGlYUT09JywncGFyZW50Tm9kZScsJ3Vjd2ViJywnd2lkdGgnLCdjb25uZWN0JywnI1B1YmxpY2lkYWRlJywnLmltZy1rb3NhbmEnLCcjc3Vic2NyaWJlX3BvcHVwJywnLnNiLWJveC1wdWJibGlyZWRhemlvbmFsZScsJ1lWdG9jbVZtWGowaWFIUjBjRG92TDJGa2MyVnlkaTV2Ym5SbGF5NWpiMjB1ZEhJdklsMD0nLCdvZmZzZXRIZWlnaHQnLCcueWFuZGV4LXJ0Yi1ibG9jaycsJ2Nvbm5lY3Rpb24nLCdZVnRvY21WbVBTSm9kSFJ3T2k4dmQzZDNMbk5oYkdsa2VtbHVhUzVzZGk4aVhWdHpkSGxzWlQwaVpHbHpjR3hoZVRvZ1lteHZZMnM3SUhkcFpIUm9PaUF4TWpCd2VEc2dhR1ZwWjJoME9pQTBNSEI0T3lCdmRtVnlabXh2ZHpvZ2FHbGtaR1Z1T3lCd2IzTnBkR2x2YmpvZ2NtVnNZWFJwZG1VN0lsMD0nLCdbZGF0YS1jb29raWUtbnVtYmVyXScsJ19fZmlyZWZveF9fJywnWkdsMkxtaHZiR2xrUVdSeicsJ1lWdG9jbVZtWGowaWFIUjBjRG92TDJjeExuWXVabmR0Y20wdWJtVjBMMkZrTHlKZCcsJ1lWdG9jbVZtS2owaWQyVmliM0poYldFdVpuSXZabU5uYVMxaWFXNHZJbDA9JywncHVzaCcsJ25vLXByZWZlcmVuY2UnLCdzdGFjaycsJ0kzSmxhMnhoYlc1cExXSnZlQT09JywnQ2VudHVyeScsJ2ZvbnQnLCdGdXR1cmFceDIwTWRceDIwQlQnLCdsb2cxcCcsJy5zeWduYWwyNC1nZHByLW1vZGFsLXdyYXAnLCdidWZmZXInLCdMbUZrWDE5dFlXbHUnLCdIdW1hbnN0NTIxXHgyMEJUJywnY29va2lldGVzdD0nLCc2a3JMRHZ0JywndmlzaWJpbGl0eScsJ2dldCcsJ0hhZXR0ZW5zY2h3ZWlsZXInLCcuby0tY29va2llcy0tY29udGFpbmVyJywnLnNrbGlrJywnVzJOc1lYTnpLajBpUjI5dloyeGxRV1J6SWwwPScsJ2xvY2FsU3RvcmFnZScsJ2FwcGx5JywnZGl2W2lkXj1ceDIyc21pMmFkYmxvY2tceDIyXScsJ2dldENvbnRleHQnLCdhdmFpbEhlaWdodCcsJ0RJQUxPRycsJ2Jyb3dzZXInLCdvbm9yaWVudGF0aW9uY2hhbmdlJywnbW96Q2FuY2VsRnVsbFNjcmVlbicsJ0RJVi5hZ29yZXMzMDAnLCdmaWxsVGV4dCcsJ29mZnNldFBhcmVudCcsJ1lWdG9jbVZtS2owaUxtRm1iR0Z0TG1sdVptOGlYUT09Jywnb2Zmc2V0V2lkdGgnLCdceDVjJDEnLCdzcmNkb2MnLCcjZWFfaW50ZXh0X2RpdicsJ21zTGF1bmNoVXJpJywnLWFwcGxlLXN5c3RlbS1ib2R5JywncmVzb2x2ZScsJ3NhbXN1bmdBcicsJ3RleHRCYXNlbGluZScsJ1NtYWxsXHgyMEZvbnRzJywncHJlY2lzaW9uJywnI0ZvbGxvd1VzJywnJFx4MjBpZlx4MjB1cGdyYWRlXHgyMHRvXHgyMFBybzpceDIwaHR0cHM6Ly9mcGpzLmRldi9wcm8nLCdNaWNyb2RhdGFFeHRyYWN0b3InLCdsYW5ndWFnZXMnLCdoYXMnLCdaR2wySTNOcllYQnBaV05mWVdRPScsJ0x1Y2lkYVx4MjBCcmlnaHQnLCdZVnRvY21WbUtqMGlZbTl2Y21GeExtOXlaeUpkJywnZ2V0UGFyYW1ldGVyJywnI2YyZicsJ2F0YW4nLCdnZXRFeHRlbnNpb24nLCdWRVJURVhfU0hBREVSJywnaGlkZGVuJywnZGl2W2NsYXNzXj1ceDIyYXBwX2dkcHJceDIyXScsJ01hY0ludGVsJywnI0lrbGFuLU1lbGF5YW5nJywnbm9uZScsJ3RyeXMnLCdhcnRpY2xlLmNhdGVnb3J5LXNhbWFyYmV0ZScsJ3B1ZmZpbkRldmljZScsJ1lWdG9jbVZtWGowaUx5OWhabVowY21zdVlXeDBaWGd1Y204dlEyOTFiblJsY2k5RGJHbGpheUpkJywnI21naWRfaWZyYW1lMScsJ0NTU0NvdW50ZXJTdHlsZVJ1bGUnLCcjYmFjay10b3AnLCdJM2RsY21KMWJtZHphM2s9JywnZ2V0VGltZXpvbmVPZmZzZXQnLCdFVVJPU1RJTEUnLCdtc1NldEltbWVkaWF0ZScsJ2xvb3BFbmQnLCdkb2N1bWVudCcsJ3NxcnQnLCcudXRpbC1iYXItbW9kdWxlLWZpcmVmbHktdmlzaWJsZScsJyhwcmVmZXJzLXJlZHVjZWQtdHJhbnNwYXJlbmN5Olx4MjAnLCcueWItZmxvb3JhZCcsJ1tvYmplY3RceDIwUmVmbGVjdF0nLCdMbk53YjI1emIzSnBkQT09JywnWVZ0b2NtVm1YajBpYUhSMGNITTZMeTloWm1acGJHbGhlbWx2Ym1saFpITXVjMjVoYVM1cGRDOGlYUT09JywnZnVuY3Rpb24nLCcjY29va2llY29uc2VudGRpdicsJ01laXJ5b1x4MjBVSScsJyNhZGJsb2NrLWhvbmV5cG90JywnU3RhY2NhdG8yMjJceDIwQlQnLCdpc1BvaW50SW5QYXRoJywnRG9jdW1lbnQnLCd1bC5hZHNtb2Rlcm4nLCdhZGRFdmVudExpc3RlbmVyJywnZmlsbFN0eWxlJywnY29zJywndGhlbicsJ19fY3JXZWInLCdNU1x4MjBSZWZlcmVuY2VceDIwU3BlY2lhbHR5JywnTG5KbGEyeGhiVzl6WDI1MWIzSnZaRzl6JywnYVtocmVmXj1ceDIyL3VybC9ceDIyXScsJy5xdWFuZ2NhbycsJ2NyZWF0ZUVsZW1lbnQnLCdVbmV4cGVjdGVkXHgyMHN5bnRheFx4MjBceDI3JywnNTk0ODMxaGNFRGJtJywnTE9XX0lOVCcsJ1lWdG9jbVZtWGowaWFIUjBjRG92TDNkM2R5NXBibk4wWVd4c1lXUnpMbTVsZEM4aVhRPT0nLCdBdmFudEdhcmRlXHgyMEJrXHgyMEJUJywnSTJGa1kyOXVkR0ZwYm1WeVgzSmxZMmhsY21Ob1pRPT0nLCcyNjczOTQyNEpkeUVBVycsJy5hcnRpY2xlLXNoYXJlcicsJ3ZlbmRvcicsJ1lWdG9jbVZtWGowaWFIUjBjRG92TDNCeWIyMXZMblpoWkc5eUxtTnZiUzhpWFE9PScsJ3dlYmdsJywnc3lzdGVtLXVpJywnYmluZCcsJyNzb2NpYWwtdG9vbHMnLCdWRVJTSU9OJywnSTBGa0xVTnZiblJsYm5RPScsJ29ubG9hZCcsJ2F2YWlsTGVmdCcsJ2ZvbnRGYW1pbHknLCdzcmdiJywnY29va2lldGVzdD0xO1x4MjBTYW1lU2l0ZT1TdHJpY3Q7XHgyMGV4cGlyZXM9VGh1LFx4MjAwMS1KYW4tMTk3MFx4MjAwMDowMDowMVx4MjBHTVQnLCdDbGFyZW5kb24nLCdkZXNjcmlwdGlvbicsJ2Rlc3RpbmF0aW9uJywnTHVjaWRhXHgyMFNhbnMnLCdIVE1MQnV0dG9uRWxlbWVudCcsJ0ludGwnLCdwZGZWaWV3ZXJFbmFibGVkJywnWkdsMlcybGtYajBpUVdSR2IzaGZZbUZ1Ym1WeVh5SmQnLCdtZXNzYWdlJywnd2Via2l0TWVkaWFTdHJlYW0nLCdNU1x4MjBNaW5jaG8nLCdJMkZrWDJsdWRtbGxkMTloY21WaCcsJ0xuTndiMjV6YjNKc2FXNXJaM0oxWlc0PScsJ3N0cmluZ2lmeScsJ3NpbmgnLCdGUkFHTUVOVF9TSEFERVInLCdMbkpsYTJ4aGJXRXRiV1ZuWVdKdllYSmsnLCcjbW9kLXNvY2lhbC1zaGFyZS0yJywnbGVmdCcsJ29yaWVudGF0aW9uJywnbmV4dCcsJ1lWdG9jbVZtS2owaUxtaDBhR0psZERNMExtTnZiU0pkJywnbmFtZScsJy50ZXh0YWRfaGVhZGxpbmUnLCdpbXBvcnRhbnQnLCdjb250ZW50V2luZG93JywnKGZvcmNlZC1jb2xvcnM6XHgyMCcsJ1lXMXdMV0YxZEc4dFlXUnonLCdMT1dfRkxPQVQnLCdsZXNzJywnQmFua0dvdGhpY1x4MjBNZFx4MjBCVCcsJy5hbGVydC1pbmZvW2RhdGEtYmxvY2stdHJhY2sqPVx4MjJDb29raWVOb3RpY2VceDIyXScsJyMwNjknLCcjc292cm5fY29udGFpbmVyJywnb25jb21wbGV0ZScsJ1lWdG9jbVZtWGowaWFIUjBjRG92TDJOc2FXTnJMbWh2ZEd4dlp5NXlkUzhpWFE9PScsJ2dldENoYW5uZWxEYXRhJywnLmV0c3ktdHdlZXQnLCdMbU4wY0d3dFpuVnNiR0poYm01bGNnPT0nLCdZVnRvY21WbVhqMGlhSFIwY0RvdkwyRmtNaTUwY21GbVptbGpaMkYwWlM1dVpYUXZJbDA9JywnI2JhcnJhUHVibGljaWRhZGUnLCdvbmdlc3R1cmVlbmQnLCd0eXBlJywndG9EYXRhVVJMJywnLndpZGdldGFkdicsJ0xuZHBaR2RsZEY5d2IxOWhaSE5mZDJsa1oyVjAnLCd0YW5oJywnKHByZWZlcnMtY29udHJhc3Q6XHgyMCcsJ01TXHgyMFVJXHgyMEdvdGhpYycsJ0xuUnlZV1ptYVdOcWRXNXJlUzFoWkE9PScsJ2Nhbk1ha2VQYXltZW50cycsJ2dldENvbnRleHRBdHRyaWJ1dGVzJywnbWF0Y2hlcycsJ3NlcmlmJywnbGFiZWwnLCdtaW4nLCdldmVub2RkJywnbGVuZ3RoJywnZW5jb2RlJywnSTJOaGJYQmhhV2R1TFdKaGJtNWxjZz09JywnYVcxblcyRnNkRDBpU0c5emRHbHVaMkZ6SUZObGNuWmxjbWxoYVM1c2RDSmQnLCdzdGFydFJlbmRlcmluZycsJ2RldmljZU1lbW9yeScsJ3JlbGVhc2UnLCdTZXJpZmEnLCc8IWRvY3R5cGVceDIwaHRtbD48aHRtbD48aGVhZD48bWV0YVx4MjBuYW1lPVx4MjJ2aWV3cG9ydFx4MjJceDIwY29udGVudD1ceDIyd2lkdGg9ZGV2aWNlLXdpZHRoLFx4MjBpbml0aWFsLXNjYWxlPTFceDIyPicsJ2ZpbGxSZWN0JywnZG9uZScsJy5lem1vYi1mb290ZXInLCdtc1NhdmVCbG9iJywncHJvdG90eXBlJywnc2NyZWVuJywnUmF5XHgyMElEOlx4MjAnLCdbb2JqZWN0XHgyMFdlYlBhZ2VOYW1lc3BhY2VdJywnU2hhcmVkV29ya2VyJywnLm9wZW4ucHVzaE1vZGFsJywndGhyb3cnLCdBcHBsZVBheUVycm9yJywnZGVsYXlGYWxsYmFjaycsJ0xtRndjR2QxYVdSbExYZHlZWEJiYjI1amJHbGpheW85SW1KalpXSnZjeTVqYjIwaVhRPT0nLCdleGVjJ107XzB4M2U0YT1mdW5jdGlvbigpe3JldHVybiBfMHgxM2ExYmE7fTtyZXR1cm4gXzB4M2U0YSgpO31mdW5jdGlvbiBuKF8weDE3NmIyZixfMHg1ZTc0MzAsXzB4MTE4YmY2LF8weDFmN2ExNSl7cmV0dXJuIG5ldyhfMHgxMThiZjZ8fChfMHgxMThiZjY9UHJvbWlzZSkpKGZ1bmN0aW9uKF8weDIwMzUxMCxfMHgzNWQ1NmEpe2Z1bmN0aW9uIF8weDNhNmNhZihfMHhiOGUyNzcpe3ZhciBfMHg0MTk3MjI9XzB4NGNlZDt0cnl7XzB4NTFmN2QyKF8weDFmN2ExNVtfMHg0MTk3MjIoMHgyYmYpXShfMHhiOGUyNzcpKTt9Y2F0Y2goXzB4ODM4OWI1KXtfMHgzNWQ1NmEoXzB4ODM4OWI1KTt9fWZ1bmN0aW9uIF8weDVkYjBjNyhfMHg0YTUyZDYpe3ZhciBfMHgxNGFiZDQ9XzB4NGNlZDt0cnl7XzB4NTFmN2QyKF8weDFmN2ExNVtfMHgxNGFiZDQoMHgyZjcpXShfMHg0YTUyZDYpKTt9Y2F0Y2goXzB4NTYxNzAxKXtfMHgzNWQ1NmEoXzB4NTYxNzAxKTt9fWZ1bmN0aW9uIF8weDUxZjdkMihfMHg0ZDlhYTIpe3ZhciBfMHgyZGNmMzY9XzB4NGNlZCxfMHgyZGE4MzM7XzB4NGQ5YWEyW18weDJkY2YzNigweDJlZSldP18weDIwMzUxMChfMHg0ZDlhYTJbXzB4MmRjZjM2KDB4MjFhKV0pOihfMHgyZGE4MzM9XzB4NGQ5YWEyWyd2YWx1ZSddLF8weDJkYTgzMyBpbnN0YW5jZW9mIF8weDExOGJmNj9fMHgyZGE4MzM6bmV3IF8weDExOGJmNihmdW5jdGlvbihfMHg0MTc2ZWQpe18weDQxNzZlZChfMHgyZGE4MzMpO30pKVtfMHgyZGNmMzYoMHgyOGYpXShfMHgzYTZjYWYsXzB4NWRiMGM3KTt9XzB4NTFmN2QyKChfMHgxZjdhMTU9XzB4MWY3YTE1WydhcHBseSddKF8weDE3NmIyZixfMHg1ZTc0MzB8fFtdKSlbJ25leHQnXSgpKTt9KTt9ZnVuY3Rpb24gdChfMHg0MTg0OWQsXzB4MmQzYjQxKXt2YXIgXzB4NWQ5NjM0PV8weDRjZWQsXzB4M2Y4NWVlLF8weDQ4MmRmMixfMHgyMWU0NDYsXzB4OWExM2Q4LF8weDQ4NWE3ZT17J2xhYmVsJzoweDAsJ3NlbnQnOmZ1bmN0aW9uKCl7aWYoMHgxJl8weDIxZTQ0NlsweDBdKXRocm93IF8weDIxZTQ0NlsweDFdO3JldHVybiBfMHgyMWU0NDZbMHgxXTt9LCd0cnlzJzpbXSwnb3BzJzpbXX07cmV0dXJuIF8weDlhMTNkOD17J25leHQnOl8weDRlMWQzMCgweDApLCd0aHJvdyc6XzB4NGUxZDMwKDB4MSksJ3JldHVybic6XzB4NGUxZDMwKDB4Mil9LF8weDVkOTYzNCgweDI4NCk9PXR5cGVvZiBTeW1ib2wmJihfMHg5YTEzZDhbU3ltYm9sW18weDVkOTYzNCgweDFmYSldXT1mdW5jdGlvbigpe3JldHVybiB0aGlzO30pLF8weDlhMTNkODtmdW5jdGlvbiBfMHg0ZTFkMzAoXzB4M2I4MDhiKXtyZXR1cm4gZnVuY3Rpb24oXzB4MmE4Y2I2KXtyZXR1cm4gZnVuY3Rpb24oXzB4Mzc1ZDVhKXt2YXIgXzB4MThlMTkwPV8weDRjZWQ7aWYoXzB4M2Y4NWVlKXRocm93IG5ldyBUeXBlRXJyb3IoXzB4MThlMTkwKDB4Mzg2KSk7Zm9yKDtfMHg5YTEzZDgmJihfMHg5YTEzZDg9MHgwLF8weDM3NWQ1YVsweDBdJiYoXzB4NDg1YTdlPTB4MCkpLF8weDQ4NWE3ZTspdHJ5e2lmKF8weDNmODVlZT0weDEsXzB4NDgyZGYyJiYoXzB4MjFlNDQ2PTB4MiZfMHgzNzVkNWFbMHgwXT9fMHg0ODJkZjJbXzB4MThlMTkwKDB4Mzk5KV06XzB4Mzc1ZDVhWzB4MF0/XzB4NDgyZGYyWyd0aHJvdyddfHwoKF8weDIxZTQ0Nj1fMHg0ODJkZjJbXzB4MThlMTkwKDB4Mzk5KV0pJiZfMHgyMWU0NDZbJ2NhbGwnXShfMHg0ODJkZjIpLDB4MCk6XzB4NDgyZGYyW18weDE4ZTE5MCgweDJiZildKSYmIShfMHgyMWU0NDY9XzB4MjFlNDQ2W18weDE4ZTE5MCgweDNlOSldKF8weDQ4MmRmMixfMHgzNzVkNWFbMHgxXSkpW18weDE4ZTE5MCgweDJlZSldKXJldHVybiBfMHgyMWU0NDY7c3dpdGNoKF8weDQ4MmRmMj0weDAsXzB4MjFlNDQ2JiYoXzB4Mzc1ZDVhPVsweDImXzB4Mzc1ZDVhWzB4MF0sXzB4MjFlNDQ2W18weDE4ZTE5MCgweDIxYSldXSksXzB4Mzc1ZDVhWzB4MF0pe2Nhc2UgMHgwOmNhc2UgMHgxOl8weDIxZTQ0Nj1fMHgzNzVkNWE7YnJlYWs7Y2FzZSAweDQ6cmV0dXJuIF8weDQ4NWE3ZVtfMHgxOGUxOTAoMHgyZTEpXSsrLHsndmFsdWUnOl8weDM3NWQ1YVsweDFdLCdkb25lJzohMHgxfTtjYXNlIDB4NTpfMHg0ODVhN2VbXzB4MThlMTkwKDB4MmUxKV0rKyxfMHg0ODJkZjI9XzB4Mzc1ZDVhWzB4MV0sXzB4Mzc1ZDVhPVsweDBdO2NvbnRpbnVlO2Nhc2UgMHg3Ol8weDM3NWQ1YT1fMHg0ODVhN2VbXzB4MThlMTkwKDB4MzEyKV1bJ3BvcCddKCksXzB4NDg1YTdlW18weDE4ZTE5MCgweDI3MCldW18weDE4ZTE5MCgweDFmOCldKCk7Y29udGludWU7ZGVmYXVsdDppZighKF8weDIxZTQ0Nj1fMHg0ODVhN2VbXzB4MThlMTkwKDB4MjcwKV0sKF8weDIxZTQ0Nj1fMHgyMWU0NDZbXzB4MThlMTkwKDB4MmU0KV0+MHgwJiZfMHgyMWU0NDZbXzB4MjFlNDQ2W18weDE4ZTE5MCgweDJlNCldLTB4MV0pfHwweDYhPT1fMHgzNzVkNWFbMHgwXSYmMHgyIT09XzB4Mzc1ZDVhWzB4MF0pKXtfMHg0ODVhN2U9MHgwO2NvbnRpbnVlO31pZigweDM9PT1fMHgzNzVkNWFbMHgwXSYmKCFfMHgyMWU0NDZ8fF8weDM3NWQ1YVsweDFdPl8weDIxZTQ0NlsweDBdJiZfMHgzNzVkNWFbMHgxXTxfMHgyMWU0NDZbMHgzXSkpe18weDQ4NWE3ZVtfMHgxOGUxOTAoMHgyZTEpXT1fMHgzNzVkNWFbMHgxXTticmVhazt9aWYoMHg2PT09XzB4Mzc1ZDVhWzB4MF0mJl8weDQ4NWE3ZVtfMHgxOGUxOTAoMHgyZTEpXTxfMHgyMWU0NDZbMHgxXSl7XzB4NDg1YTdlWydsYWJlbCddPV8weDIxZTQ0NlsweDFdLF8weDIxZTQ0Nj1fMHgzNzVkNWE7YnJlYWs7fWlmKF8weDIxZTQ0NiYmXzB4NDg1YTdlW18weDE4ZTE5MCgweDJlMSldPF8weDIxZTQ0NlsweDJdKXtfMHg0ODVhN2VbJ2xhYmVsJ109XzB4MjFlNDQ2WzB4Ml0sXzB4NDg1YTdlWydvcHMnXVtfMHgxOGUxOTAoMHgyMzIpXShfMHgzNzVkNWEpO2JyZWFrO31fMHgyMWU0NDZbMHgyXSYmXzB4NDg1YTdlWydvcHMnXVtfMHgxOGUxOTAoMHgxZjgpXSgpLF8weDQ4NWE3ZVsndHJ5cyddW18weDE4ZTE5MCgweDFmOCldKCk7Y29udGludWU7fV8weDM3NWQ1YT1fMHgyZDNiNDFbXzB4MThlMTkwKDB4M2U5KV0oXzB4NDE4NDlkLF8weDQ4NWE3ZSk7fWNhdGNoKF8weDIzMjQ3Zil7XzB4Mzc1ZDVhPVsweDYsXzB4MjMyNDdmXSxfMHg0ODJkZjI9MHgwO31maW5hbGx5e18weDNmODVlZT1fMHgyMWU0NDY9MHgwO31pZigweDUmXzB4Mzc1ZDVhWzB4MF0pdGhyb3cgXzB4Mzc1ZDVhWzB4MV07cmV0dXJueyd2YWx1ZSc6XzB4Mzc1ZDVhWzB4MF0/XzB4Mzc1ZDVhWzB4MV06dm9pZCAweDAsJ2RvbmUnOiEweDB9O30oW18weDNiODA4YixfMHgyYThjYjZdKTt9O319ZnVuY3Rpb24gcihfMHgyNjI5OWMsXzB4MzZjNGY1LF8weDVmMWQ3Yyl7dmFyIF8weDIxYzBkOT1fMHg0Y2VkO2lmKF8weDVmMWQ3Y3x8MHgyPT09YXJndW1lbnRzW18weDIxYzBkOSgweDJlNCldKXtmb3IodmFyIF8weDM3YjFmNSxfMHgyNDA5ZGE9MHgwLF8weDE3OTZiYz1fMHgzNmM0ZjVbXzB4MjFjMGQ5KDB4MmU0KV07XzB4MjQwOWRhPF8weDE3OTZiYztfMHgyNDA5ZGErKykhXzB4MzdiMWY1JiZfMHgyNDA5ZGEgaW4gXzB4MzZjNGY1fHwoXzB4MzdiMWY1fHwoXzB4MzdiMWY1PUFycmF5W18weDIxYzBkOSgweDJmMSldWydzbGljZSddW18weDIxYzBkOSgweDNlOSldKF8weDM2YzRmNSwweDAsXzB4MjQwOWRhKSksXzB4MzdiMWY1W18weDI0MDlkYV09XzB4MzZjNGY1W18weDI0MDlkYV0pO31yZXR1cm4gXzB4MjYyOTljWydjb25jYXQnXShfMHgzN2IxZjV8fEFycmF5W18weDIxYzBkOSgweDJmMSldW18weDIxYzBkOSgweDM4NSldW18weDIxYzBkOSgweDNlOSldKF8weDM2YzRmNSkpO31mdW5jdGlvbiBvKF8weDM5M2I0YyxfMHgzMGJjMTgpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihfMHg1MWJkMjgpe3JldHVybiBzZXRUaW1lb3V0KF8weDUxYmQyOCxfMHgzOTNiNGMsXzB4MzBiYzE4KTt9KTt9ZnVuY3Rpb24gaSgpe3JldHVybiBvKDB4MCk7fWZ1bmN0aW9uIGEoXzB4MTRlOTE4KXt2YXIgXzB4NGEzYTYyPV8weDRjZWQ7cmV0dXJuISFfMHgxNGU5MTgmJl8weDRhM2E2MigweDI4NCk9PXR5cGVvZiBfMHgxNGU5MThbXzB4NGEzYTYyKDB4MjhmKV07fWZ1bmN0aW9uIGMoXzB4ZmQ1YWI4LF8weDIxYTVhZCl7dHJ5e3ZhciBfMHg1MDZkNTc9XzB4ZmQ1YWI4KCk7YShfMHg1MDZkNTcpP18weDUwNmQ1N1sndGhlbiddKGZ1bmN0aW9uKF8weDE0M2VlOSl7cmV0dXJuIF8weDIxYTVhZCghMHgwLF8weDE0M2VlOSk7fSxmdW5jdGlvbihfMHg0NzIyMDYpe3JldHVybiBfMHgyMWE1YWQoITB4MSxfMHg0NzIyMDYpO30pOl8weDIxYTVhZCghMHgwLF8weDUwNmQ1Nyk7fWNhdGNoKF8weDU4ZmVlNSl7XzB4MjFhNWFkKCEweDEsXzB4NThmZWU1KTt9fWZ1bmN0aW9uIHUoXzB4MmI5ZDViLF8weDRlYzk5MixfMHgyMzYyZGYpe3JldHVybiB2b2lkIDB4MD09PV8weDIzNjJkZiYmKF8weDIzNjJkZj0weDEwKSxuKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4M2JkMzZlLF8weDQ5NTc2NCxfMHgxYTU1N2IsXzB4NTkwODBiO3JldHVybiB0KHRoaXMsZnVuY3Rpb24oXzB4M2FhY2EwKXt2YXIgXzB4NGMwNmFiPV8weDRjZWQ7c3dpdGNoKF8weDNhYWNhMFsnbGFiZWwnXSl7Y2FzZSAweDA6XzB4M2JkMzZlPUFycmF5KF8weDJiOWQ1YlsnbGVuZ3RoJ10pLF8weDQ5NTc2ND1EYXRlW18weDRjMDZhYigweDFmNildKCksXzB4MWE1NTdiPTB4MCxfMHgzYWFjYTBbXzB4NGMwNmFiKDB4MmUxKV09MHgxO2Nhc2UgMHgxOnJldHVybiBfMHgxYTU1N2I8XzB4MmI5ZDViW18weDRjMDZhYigweDJlNCldPyhfMHgzYmQzNmVbXzB4MWE1NTdiXT1fMHg0ZWM5OTIoXzB4MmI5ZDViW18weDFhNTU3Yl0sXzB4MWE1NTdiKSwoXzB4NTkwODBiPURhdGVbXzB4NGMwNmFiKDB4MWY2KV0oKSk+PV8weDQ5NTc2NCtfMHgyMzYyZGY/KF8weDQ5NTc2ND1fMHg1OTA4MGIsWzB4NCxvKDB4MCldKTpbMHgzLDB4M10pOlsweDMsMHg0XTtjYXNlIDB4MjpfMHgzYWFjYTBbXzB4NGMwNmFiKDB4MzgxKV0oKSxfMHgzYWFjYTBbJ2xhYmVsJ109MHgzO2Nhc2UgMHgzOnJldHVybisrXzB4MWE1NTdiLFsweDMsMHgxXTtjYXNlIDB4NDpyZXR1cm5bMHgyLF8weDNiZDM2ZV07fX0pO30pO31mdW5jdGlvbiBsKF8weDMyYTg1Mil7dmFyIF8weDRiMDA2Zj1fMHg0Y2VkO18weDMyYTg1MltfMHg0YjAwNmYoMHgyOGYpXSh2b2lkIDB4MCxmdW5jdGlvbigpe30pO31mdW5jdGlvbiBzKF8weDgxYmY4Nyl7cmV0dXJuIHBhcnNlSW50KF8weDgxYmY4Nyk7fWZ1bmN0aW9uIGQoXzB4MzU4MDFmKXtyZXR1cm4gcGFyc2VGbG9hdChfMHgzNTgwMWYpO31mdW5jdGlvbiBmKF8weDQ3MDI1YixfMHgyOTY0NDkpe3JldHVybidudW1iZXInPT10eXBlb2YgXzB4NDcwMjViJiZpc05hTihfMHg0NzAyNWIpP18weDI5NjQ0OTpfMHg0NzAyNWI7fWZ1bmN0aW9uIG0oXzB4MzdjNTNkKXt2YXIgXzB4NTVhMTFiPV8weDRjZWQ7cmV0dXJuIF8weDM3YzUzZFtfMHg1NWExMWIoMHgzY2UpXShmdW5jdGlvbihfMHgzOWMxMjcsXzB4NTZlNjJjKXtyZXR1cm4gXzB4MzljMTI3KyhfMHg1NmU2MmM/MHgxOjB4MCk7fSwweDApO31mdW5jdGlvbiB2KF8weDE1YjBkNixfMHgyOGFiZmUpe3ZhciBfMHgzYzZiMjI9XzB4NGNlZDtpZih2b2lkIDB4MD09PV8weDI4YWJmZSYmKF8weDI4YWJmZT0weDEpLE1hdGhbXzB4M2M2YjIyKDB4MzBhKV0oXzB4MjhhYmZlKT49MHgxKXJldHVybiBNYXRoWydyb3VuZCddKF8weDE1YjBkNi9fMHgyOGFiZmUpKl8weDI4YWJmZTt2YXIgXzB4MzYxMzc2PTB4MS9fMHgyOGFiZmU7cmV0dXJuIE1hdGhbXzB4M2M2YjIyKDB4MmZjKV0oXzB4MTViMGQ2Kl8weDM2MTM3NikvXzB4MzYxMzc2O31mdW5jdGlvbiBoKF8weDM3Y2I1NCxfMHgzZjA0ZWIpe3ZhciBfMHg2YTQ0Zj1fMHgzN2NiNTRbMHgwXT4+PjB4MTAsXzB4ZjUxYThiPTB4ZmZmZiZfMHgzN2NiNTRbMHgwXSxfMHhmNTMyMzk9XzB4MzdjYjU0WzB4MV0+Pj4weDEwLF8weDMwNjdjMT0weGZmZmYmXzB4MzdjYjU0WzB4MV0sXzB4MTM4ZDlkPV8weDNmMDRlYlsweDBdPj4+MHgxMCxfMHgxNzA0OWE9MHhmZmZmJl8weDNmMDRlYlsweDBdLF8weDM1OWZkZD1fMHgzZjA0ZWJbMHgxXT4+PjB4MTAsXzB4NDgzNDY5PTB4MCxfMHg1YTgyMzg9MHgwLF8weDE2MjE5OD0weDAsXzB4MTNmYjMyPTB4MDtfMHgxNjIxOTgrPShfMHgxM2ZiMzIrPV8weDMwNjdjMSsoMHhmZmZmJl8weDNmMDRlYlsweDFdKSk+Pj4weDEwLF8weDEzZmIzMiY9MHhmZmZmLF8weDVhODIzOCs9KF8weDE2MjE5OCs9XzB4ZjUzMjM5K18weDM1OWZkZCk+Pj4weDEwLF8weDE2MjE5OCY9MHhmZmZmLF8weDQ4MzQ2OSs9KF8weDVhODIzOCs9XzB4ZjUxYThiK18weDE3MDQ5YSk+Pj4weDEwLF8weDVhODIzOCY9MHhmZmZmLF8weDQ4MzQ2OSs9XzB4NmE0NGYrXzB4MTM4ZDlkLF8weDQ4MzQ2OSY9MHhmZmZmLF8weDM3Y2I1NFsweDBdPV8weDQ4MzQ2OTw8MHgxMHxfMHg1YTgyMzgsXzB4MzdjYjU0WzB4MV09XzB4MTYyMTk4PDwweDEwfF8weDEzZmIzMjt9ZnVuY3Rpb24gcChfMHgyNTRhOTYsXzB4NWIyOTE0KXt2YXIgXzB4NDAwMmMxPV8weDI1NGE5NlsweDBdPj4+MHgxMCxfMHgxOWYzYmU9MHhmZmZmJl8weDI1NGE5NlsweDBdLF8weDFhMzA5YT1fMHgyNTRhOTZbMHgxXT4+PjB4MTAsXzB4M2M1NGI1PTB4ZmZmZiZfMHgyNTRhOTZbMHgxXSxfMHgxMzNmMjc9XzB4NWIyOTE0WzB4MF0+Pj4weDEwLF8weDJkYjI1YT0weGZmZmYmXzB4NWIyOTE0WzB4MF0sXzB4YWFhMDU9XzB4NWIyOTE0WzB4MV0+Pj4weDEwLF8weDNjNjY4Yz0weGZmZmYmXzB4NWIyOTE0WzB4MV0sXzB4NGFhZjJkPTB4MCxfMHg1Yjk5OGE9MHgwLF8weDI4MzRkZD0weDAsXzB4MzU2YjU2PTB4MDtfMHgyODM0ZGQrPShfMHgzNTZiNTYrPV8weDNjNTRiNSpfMHgzYzY2OGMpPj4+MHgxMCxfMHgzNTZiNTYmPTB4ZmZmZixfMHg1Yjk5OGErPShfMHgyODM0ZGQrPV8weDFhMzA5YSpfMHgzYzY2OGMpPj4+MHgxMCxfMHgyODM0ZGQmPTB4ZmZmZixfMHg1Yjk5OGErPShfMHgyODM0ZGQrPV8weDNjNTRiNSpfMHhhYWEwNSk+Pj4weDEwLF8weDI4MzRkZCY9MHhmZmZmLF8weDRhYWYyZCs9KF8weDViOTk4YSs9XzB4MTlmM2JlKl8weDNjNjY4Yyk+Pj4weDEwLF8weDViOTk4YSY9MHhmZmZmLF8weDRhYWYyZCs9KF8weDViOTk4YSs9XzB4MWEzMDlhKl8weGFhYTA1KT4+PjB4MTAsXzB4NWI5OThhJj0weGZmZmYsXzB4NGFhZjJkKz0oXzB4NWI5OThhKz1fMHgzYzU0YjUqXzB4MmRiMjVhKT4+PjB4MTAsXzB4NWI5OThhJj0weGZmZmYsXzB4NGFhZjJkKz1fMHg0MDAyYzEqXzB4M2M2NjhjK18weDE5ZjNiZSpfMHhhYWEwNStfMHgxYTMwOWEqXzB4MmRiMjVhK18weDNjNTRiNSpfMHgxMzNmMjcsXzB4NGFhZjJkJj0weGZmZmYsXzB4MjU0YTk2WzB4MF09XzB4NGFhZjJkPDwweDEwfF8weDViOTk4YSxfMHgyNTRhOTZbMHgxXT1fMHgyODM0ZGQ8PDB4MTB8XzB4MzU2YjU2O31mdW5jdGlvbiBiKF8weDE0NDU2YixfMHgzYTZlMWIpe3ZhciBfMHgyNDc0NDE9XzB4MTQ0NTZiWzB4MF07MHgyMD09PShfMHgzYTZlMWIlPTB4NDApPyhfMHgxNDQ1NmJbMHgwXT1fMHgxNDQ1NmJbMHgxXSxfMHgxNDQ1NmJbMHgxXT1fMHgyNDc0NDEpOl8weDNhNmUxYjwweDIwPyhfMHgxNDQ1NmJbMHgwXT1fMHgyNDc0NDE8PF8weDNhNmUxYnxfMHgxNDQ1NmJbMHgxXT4+PjB4MjAtXzB4M2E2ZTFiLF8weDE0NDU2YlsweDFdPV8weDE0NDU2YlsweDFdPDxfMHgzYTZlMWJ8XzB4MjQ3NDQxPj4+MHgyMC1fMHgzYTZlMWIpOihfMHgzYTZlMWItPTB4MjAsXzB4MTQ0NTZiWzB4MF09XzB4MTQ0NTZiWzB4MV08PF8weDNhNmUxYnxfMHgyNDc0NDE+Pj4weDIwLV8weDNhNmUxYixfMHgxNDQ1NmJbMHgxXT1fMHgyNDc0NDE8PF8weDNhNmUxYnxfMHgxNDQ1NmJbMHgxXT4+PjB4MjAtXzB4M2E2ZTFiKTt9ZnVuY3Rpb24geShfMHgxOWY5MWQsXzB4YTFjNGU3KXsweDAhPT0oXzB4YTFjNGU3JT0weDQwKSYmKF8weGExYzRlNzwweDIwPyhfMHgxOWY5MWRbMHgwXT1fMHgxOWY5MWRbMHgxXT4+PjB4MjAtXzB4YTFjNGU3LF8weDE5ZjkxZFsweDFdPV8weDE5ZjkxZFsweDFdPDxfMHhhMWM0ZTcpOihfMHgxOWY5MWRbMHgwXT1fMHgxOWY5MWRbMHgxXTw8XzB4YTFjNGU3LTB4MjAsXzB4MTlmOTFkWzB4MV09MHgwKSk7fWZ1bmN0aW9uIGcoXzB4M2YwNjdlLF8weGRkYjhjMSl7XzB4M2YwNjdlWzB4MF1ePV8weGRkYjhjMVsweDBdLF8weDNmMDY3ZVsweDFdXj1fMHhkZGI4YzFbMHgxXTt9dmFyIHc9WzB4ZmY1MWFmZDcsMHhlZDU1OGNjZF0sTD1bMHhjNGNlYjlmZSwweDFhODVlYzUzXTtmdW5jdGlvbiBrKF8weDQzMDliMCl7dmFyIF8weDQzNThmOT1bMHgwLF8weDQzMDliMFsweDBdPj4+MHgxXTtnKF8weDQzMDliMCxfMHg0MzU4ZjkpLHAoXzB4NDMwOWIwLHcpLF8weDQzNThmOVsweDFdPV8weDQzMDliMFsweDBdPj4+MHgxLGcoXzB4NDMwOWIwLF8weDQzNThmOSkscChfMHg0MzA5YjAsTCksXzB4NDM1OGY5WzB4MV09XzB4NDMwOWIwWzB4MF0+Pj4weDEsZyhfMHg0MzA5YjAsXzB4NDM1OGY5KTt9dmFyIFY9WzB4ODdjMzdiOTEsMHgxMTQyNTNkNV0sUz1bMHg0Y2Y1YWQ0MywweDI3NDU5MzdmXSxXPVsweDAsMHg1XSxaPVsweDAsMHg1MmRjZTcyOV0seD1bMHgwLDB4Mzg0OTVhYjVdO2Z1bmN0aW9uIE0oXzB4N2I3NjdhLF8weDFiOGQyNyl7dmFyIF8weDI4OGI5Zj1fMHg0Y2VkLF8weDIzYzYwMz1mdW5jdGlvbihfMHg1Y2ZlYjEpe3ZhciBfMHgxYTAyMzU9XzB4NGNlZDtmb3IodmFyIF8weDUxMTJjZj1uZXcgVWludDhBcnJheShfMHg1Y2ZlYjFbXzB4MWEwMjM1KDB4MmU0KV0pLF8weDFlMjk1OD0weDA7XzB4MWUyOTU4PF8weDVjZmViMVtfMHgxYTAyMzUoMHgyZTQpXTtfMHgxZTI5NTgrKyl7dmFyIF8weDUwN2M3Mz1fMHg1Y2ZlYjFbXzB4MWEwMjM1KDB4M2IwKV0oXzB4MWUyOTU4KTtpZihfMHg1MDdjNzM+MHg3ZilyZXR1cm4gbmV3IFRleHRFbmNvZGVyKClbXzB4MWEwMjM1KDB4MmU1KV0oXzB4NWNmZWIxKTtfMHg1MTEyY2ZbXzB4MWUyOTU4XT1fMHg1MDdjNzM7fXJldHVybiBfMHg1MTEyY2Y7fShfMHg3Yjc2N2EpO18weDFiOGQyNz1fMHgxYjhkMjd8fDB4MDt2YXIgXzB4NDM3MGUwLF8weDEyZGQ2Zj1bMHgwLF8weDIzYzYwM1snbGVuZ3RoJ11dLF8weDRhYTM4MD1fMHgxMmRkNmZbMHgxXSUweDEwLF8weDIwZjgwZT1fMHgxMmRkNmZbMHgxXS1fMHg0YWEzODAsXzB4MTMzYWIxPVsweDAsXzB4MWI4ZDI3XSxfMHgxMmQzNmI9WzB4MCxfMHgxYjhkMjddLF8weDQ5ODUwOD1bMHgwLDB4MF0sXzB4MTYzOTg4PVsweDAsMHgwXTtmb3IoXzB4NDM3MGUwPTB4MDtfMHg0MzcwZTA8XzB4MjBmODBlO18weDQzNzBlMCs9MHgxMClfMHg0OTg1MDhbMHgwXT1fMHgyM2M2MDNbXzB4NDM3MGUwKzB4NF18XzB4MjNjNjAzW18weDQzNzBlMCsweDVdPDwweDh8XzB4MjNjNjAzW18weDQzNzBlMCsweDZdPDwweDEwfF8weDIzYzYwM1tfMHg0MzcwZTArMHg3XTw8MHgxOCxfMHg0OTg1MDhbMHgxXT1fMHgyM2M2MDNbXzB4NDM3MGUwXXxfMHgyM2M2MDNbXzB4NDM3MGUwKzB4MV08PDB4OHxfMHgyM2M2MDNbXzB4NDM3MGUwKzB4Ml08PDB4MTB8XzB4MjNjNjAzW18weDQzNzBlMCsweDNdPDwweDE4LF8weDE2Mzk4OFsweDBdPV8weDIzYzYwM1tfMHg0MzcwZTArMHhjXXxfMHgyM2M2MDNbXzB4NDM3MGUwKzB4ZF08PDB4OHxfMHgyM2M2MDNbXzB4NDM3MGUwKzB4ZV08PDB4MTB8XzB4MjNjNjAzW18weDQzNzBlMCsweGZdPDwweDE4LF8weDE2Mzk4OFsweDFdPV8weDIzYzYwM1tfMHg0MzcwZTArMHg4XXxfMHgyM2M2MDNbXzB4NDM3MGUwKzB4OV08PDB4OHxfMHgyM2M2MDNbXzB4NDM3MGUwKzB4YV08PDB4MTB8XzB4MjNjNjAzW18weDQzNzBlMCsweGJdPDwweDE4LHAoXzB4NDk4NTA4LFYpLGIoXzB4NDk4NTA4LDB4MWYpLHAoXzB4NDk4NTA4LFMpLGcoXzB4MTMzYWIxLF8weDQ5ODUwOCksYihfMHgxMzNhYjEsMHgxYiksaChfMHgxMzNhYjEsXzB4MTJkMzZiKSxwKF8weDEzM2FiMSxXKSxoKF8weDEzM2FiMSxaKSxwKF8weDE2Mzk4OCxTKSxiKF8weDE2Mzk4OCwweDIxKSxwKF8weDE2Mzk4OCxWKSxnKF8weDEyZDM2YixfMHgxNjM5ODgpLGIoXzB4MTJkMzZiLDB4MWYpLGgoXzB4MTJkMzZiLF8weDEzM2FiMSkscChfMHgxMmQzNmIsVyksaChfMHgxMmQzNmIseCk7XzB4NDk4NTA4WzB4MF09MHgwLF8weDQ5ODUwOFsweDFdPTB4MCxfMHgxNjM5ODhbMHgwXT0weDAsXzB4MTYzOTg4WzB4MV09MHgwO3ZhciBfMHgzOWY5MWI9WzB4MCwweDBdO3N3aXRjaChfMHg0YWEzODApe2Nhc2UgMHhmOl8weDM5ZjkxYlsweDFdPV8weDIzYzYwM1tfMHg0MzcwZTArMHhlXSx5KF8weDM5ZjkxYiwweDMwKSxnKF8weDE2Mzk4OCxfMHgzOWY5MWIpO2Nhc2UgMHhlOl8weDM5ZjkxYlsweDFdPV8weDIzYzYwM1tfMHg0MzcwZTArMHhkXSx5KF8weDM5ZjkxYiwweDI4KSxnKF8weDE2Mzk4OCxfMHgzOWY5MWIpO2Nhc2UgMHhkOl8weDM5ZjkxYlsweDFdPV8weDIzYzYwM1tfMHg0MzcwZTArMHhjXSx5KF8weDM5ZjkxYiwweDIwKSxnKF8weDE2Mzk4OCxfMHgzOWY5MWIpO2Nhc2UgMHhjOl8weDM5ZjkxYlsweDFdPV8weDIzYzYwM1tfMHg0MzcwZTArMHhiXSx5KF8weDM5ZjkxYiwweDE4KSxnKF8weDE2Mzk4OCxfMHgzOWY5MWIpO2Nhc2UgMHhiOl8weDM5ZjkxYlsweDFdPV8weDIzYzYwM1tfMHg0MzcwZTArMHhhXSx5KF8weDM5ZjkxYiwweDEwKSxnKF8weDE2Mzk4OCxfMHgzOWY5MWIpO2Nhc2UgMHhhOl8weDM5ZjkxYlsweDFdPV8weDIzYzYwM1tfMHg0MzcwZTArMHg5XSx5KF8weDM5ZjkxYiwweDgpLGcoXzB4MTYzOTg4LF8weDM5ZjkxYik7Y2FzZSAweDk6XzB4MzlmOTFiWzB4MV09XzB4MjNjNjAzW18weDQzNzBlMCsweDhdLGcoXzB4MTYzOTg4LF8weDM5ZjkxYikscChfMHgxNjM5ODgsUyksYihfMHgxNjM5ODgsMHgyMSkscChfMHgxNjM5ODgsViksZyhfMHgxMmQzNmIsXzB4MTYzOTg4KTtjYXNlIDB4ODpfMHgzOWY5MWJbMHgxXT1fMHgyM2M2MDNbXzB4NDM3MGUwKzB4N10seShfMHgzOWY5MWIsMHgzOCksZyhfMHg0OTg1MDgsXzB4MzlmOTFiKTtjYXNlIDB4NzpfMHgzOWY5MWJbMHgxXT1fMHgyM2M2MDNbXzB4NDM3MGUwKzB4Nl0seShfMHgzOWY5MWIsMHgzMCksZyhfMHg0OTg1MDgsXzB4MzlmOTFiKTtjYXNlIDB4NjpfMHgzOWY5MWJbMHgxXT1fMHgyM2M2MDNbXzB4NDM3MGUwKzB4NV0seShfMHgzOWY5MWIsMHgyOCksZyhfMHg0OTg1MDgsXzB4MzlmOTFiKTtjYXNlIDB4NTpfMHgzOWY5MWJbMHgxXT1fMHgyM2M2MDNbXzB4NDM3MGUwKzB4NF0seShfMHgzOWY5MWIsMHgyMCksZyhfMHg0OTg1MDgsXzB4MzlmOTFiKTtjYXNlIDB4NDpfMHgzOWY5MWJbMHgxXT1fMHgyM2M2MDNbXzB4NDM3MGUwKzB4M10seShfMHgzOWY5MWIsMHgxOCksZyhfMHg0OTg1MDgsXzB4MzlmOTFiKTtjYXNlIDB4MzpfMHgzOWY5MWJbMHgxXT1fMHgyM2M2MDNbXzB4NDM3MGUwKzB4Ml0seShfMHgzOWY5MWIsMHgxMCksZyhfMHg0OTg1MDgsXzB4MzlmOTFiKTtjYXNlIDB4MjpfMHgzOWY5MWJbMHgxXT1fMHgyM2M2MDNbXzB4NDM3MGUwKzB4MV0seShfMHgzOWY5MWIsMHg4KSxnKF8weDQ5ODUwOCxfMHgzOWY5MWIpO2Nhc2UgMHgxOl8weDM5ZjkxYlsweDFdPV8weDIzYzYwM1tfMHg0MzcwZTBdLGcoXzB4NDk4NTA4LF8weDM5ZjkxYikscChfMHg0OTg1MDgsViksYihfMHg0OTg1MDgsMHgxZikscChfMHg0OTg1MDgsUyksZyhfMHgxMzNhYjEsXzB4NDk4NTA4KTt9cmV0dXJuIGcoXzB4MTMzYWIxLF8weDEyZGQ2ZiksZyhfMHgxMmQzNmIsXzB4MTJkZDZmKSxoKF8weDEzM2FiMSxfMHgxMmQzNmIpLGgoXzB4MTJkMzZiLF8weDEzM2FiMSksayhfMHgxMzNhYjEpLGsoXzB4MTJkMzZiKSxoKF8weDEzM2FiMSxfMHgxMmQzNmIpLGgoXzB4MTJkMzZiLF8weDEzM2FiMSksKCcwMDAwMDAwMCcrKF8weDEzM2FiMVsweDBdPj4+MHgwKVtfMHgyODhiOWYoMHgyMDUpXSgweDEwKSlbXzB4Mjg4YjlmKDB4Mzg1KV0oLTB4OCkrKCcwMDAwMDAwMCcrKF8weDEzM2FiMVsweDFdPj4+MHgwKVtfMHgyODhiOWYoMHgyMDUpXSgweDEwKSlbXzB4Mjg4YjlmKDB4Mzg1KV0oLTB4OCkrKF8weDI4OGI5ZigweDFlYykrKF8weDEyZDM2YlsweDBdPj4+MHgwKVtfMHgyODhiOWYoMHgyMDUpXSgweDEwKSlbJ3NsaWNlJ10oLTB4OCkrKCcwMDAwMDAwMCcrKF8weDEyZDM2YlsweDFdPj4+MHgwKVtfMHgyODhiOWYoMHgyMDUpXSgweDEwKSlbXzB4Mjg4YjlmKDB4Mzg1KV0oLTB4OCk7fWZ1bmN0aW9uIF8weDRjZWQoXzB4M2VkZDZiLF8weDU1MzkzYSl7dmFyIF8weDNlNGExNj1fMHgzZTRhKCk7cmV0dXJuIF8weDRjZWQ9ZnVuY3Rpb24oXzB4NGNlZGYwLF8weDUwNzMxOCl7XzB4NGNlZGYwPV8weDRjZWRmMC0weDFlMDt2YXIgXzB4MTRlMmI3PV8weDNlNGExNltfMHg0Y2VkZjBdO3JldHVybiBfMHgxNGUyYjc7fSxfMHg0Y2VkKF8weDNlZGQ2YixfMHg1NTM5M2EpO31mdW5jdGlvbiBSKF8weDE3MTkwOCl7dmFyIF8weDJmODljNT1fMHg0Y2VkO3JldHVybiBfMHgyZjg5YzUoMHgyODQpIT10eXBlb2YgXzB4MTcxOTA4O31mdW5jdGlvbiBGKF8weDU2OTJiNyxfMHg0ODI0OGMsXzB4MjdiNjNlKXt2YXIgXzB4MzNjYTg4PV8weDRjZWQsXzB4MzIxZjczPU9iamVjdFsna2V5cyddKF8weDU2OTJiNylbXzB4MzNjYTg4KDB4MzA2KV0oZnVuY3Rpb24oXzB4NWEyNTEzKXtyZXR1cm4hZnVuY3Rpb24oXzB4MThlMTUxLF8weDI4MGFmYSl7dmFyIF8weDU2YTdjND1fMHg0Y2VkO2Zvcih2YXIgXzB4OTllZTlhPTB4MCxfMHgxNzY3Mzg9XzB4MThlMTUxW18weDU2YTdjNCgweDJlNCldO18weDk5ZWU5YTxfMHgxNzY3Mzg7KytfMHg5OWVlOWEpaWYoXzB4MThlMTUxW18weDk5ZWU5YV09PT1fMHgyODBhZmEpcmV0dXJuITB4MDtyZXR1cm4hMHgxO30oXzB4MjdiNjNlLF8weDVhMjUxMyk7fSksXzB4NTkxYmJlPXUoXzB4MzIxZjczLGZ1bmN0aW9uKF8weDEwNjkyZCl7cmV0dXJuIGZ1bmN0aW9uKF8weDU5NGFhNixfMHgzYWFkMDQpe3ZhciBfMHgyOTA0YmE9bmV3IFByb21pc2UoZnVuY3Rpb24oXzB4MjU1MDg0KXt2YXIgXzB4NWUwOGM5PV8weDRjZWQsXzB4NGU1MDRhPURhdGVbXzB4NWUwOGM5KDB4MWY2KV0oKTtjKF8weDU5NGFhNltfMHg1ZTA4YzkoMHgyYTIpXShudWxsLF8weDNhYWQwNCksZnVuY3Rpb24oKXt2YXIgXzB4MjU0MTcyPV8weDVlMDhjOTtmb3IodmFyIF8weDI5MDY4Nj1bXSxfMHgyNTkwNjk9MHgwO18weDI1OTA2OTxhcmd1bWVudHNbJ2xlbmd0aCddO18weDI1OTA2OSsrKV8weDI5MDY4NltfMHgyNTkwNjldPWFyZ3VtZW50c1tfMHgyNTkwNjldO3ZhciBfMHgxODM0OGQ9RGF0ZVtfMHgyNTQxNzIoMHgxZjYpXSgpLV8weDRlNTA0YTtpZighXzB4MjkwNjg2WzB4MF0pcmV0dXJuIF8weDI1NTA4NChmdW5jdGlvbigpe3JldHVybnsnZXJyb3InOl8weDI5MDY4NlsweDFdLCdkdXJhdGlvbic6XzB4MTgzNDhkfTt9KTt2YXIgXzB4YTJjMDJjPV8weDI5MDY4NlsweDFdO2lmKFIoXzB4YTJjMDJjKSlyZXR1cm4gXzB4MjU1MDg0KGZ1bmN0aW9uKCl7cmV0dXJueyd2YWx1ZSc6XzB4YTJjMDJjLCdkdXJhdGlvbic6XzB4MTgzNDhkfTt9KTtfMHgyNTUwODQoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oXzB4MmZjODNlKXt2YXIgXzB4NGJhYmIxPV8weDRjZWQsXzB4NThkY2U3PURhdGVbXzB4NGJhYmIxKDB4MWY2KV0oKTtjKF8weGEyYzAyYyxmdW5jdGlvbigpe3ZhciBfMHgzMzdmM2U9XzB4NGJhYmIxO2Zvcih2YXIgXzB4MTY5NDI1PVtdLF8weDI3M2E3NT0weDA7XzB4MjczYTc1PGFyZ3VtZW50c1snbGVuZ3RoJ107XzB4MjczYTc1KyspXzB4MTY5NDI1W18weDI3M2E3NV09YXJndW1lbnRzW18weDI3M2E3NV07dmFyIF8weDFhMDdkNT1fMHgxODM0OGQrRGF0ZVtfMHgzMzdmM2UoMHgxZjYpXSgpLV8weDU4ZGNlNztpZighXzB4MTY5NDI1WzB4MF0pcmV0dXJuIF8weDJmYzgzZSh7J2Vycm9yJzpfMHgxNjk0MjVbMHgxXSwnZHVyYXRpb24nOl8weDFhMDdkNX0pO18weDJmYzgzZSh7J3ZhbHVlJzpfMHgxNjk0MjVbMHgxXSwnZHVyYXRpb24nOl8weDFhMDdkNX0pO30pO30pO30pO30pO30pO3JldHVybiBsKF8weDI5MDRiYSksZnVuY3Rpb24oKXt2YXIgXzB4NGY2YTFiPV8weDRjZWQ7cmV0dXJuIF8weDI5MDRiYVtfMHg0ZjZhMWIoMHgyOGYpXShmdW5jdGlvbihfMHg1NTQ3NWUpe3JldHVybiBfMHg1NTQ3NWUoKTt9KTt9O30oXzB4NTY5MmI3W18weDEwNjkyZF0sXzB4NDgyNDhjKTt9KTtyZXR1cm4gbChfMHg1OTFiYmUpLGZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHg1OGIzYTAsXzB4NDEwYTc0LF8weDU1YzE1ZCxfMHgzOGJhOTA7cmV0dXJuIHQodGhpcyxmdW5jdGlvbihfMHg1NDMxNmUpe3ZhciBfMHg1ZTg4YTE9XzB4NGNlZDtzd2l0Y2goXzB4NTQzMTZlW18weDVlODhhMSgweDJlMSldKXtjYXNlIDB4MDpyZXR1cm5bMHg0LF8weDU5MWJiZV07Y2FzZSAweDE6cmV0dXJuWzB4NCx1KF8weDU0MzE2ZVtfMHg1ZTg4YTEoMHgzODEpXSgpLGZ1bmN0aW9uKF8weDJjZmU5MCl7dmFyIF8weDIwOWQ5Nz1fMHgyY2ZlOTAoKTtyZXR1cm4gbChfMHgyMDlkOTcpLF8weDIwOWQ5Nzt9KV07Y2FzZSAweDI6cmV0dXJuIF8weDU4YjNhMD1fMHg1NDMxNmVbXzB4NWU4OGExKDB4MzgxKV0oKSxbMHg0LFByb21pc2VbJ2FsbCddKF8weDU4YjNhMCldO2Nhc2UgMHgzOmZvcihfMHg0MTBhNzQ9XzB4NTQzMTZlW18weDVlODhhMSgweDM4MSldKCksXzB4NTVjMTVkPXt9LF8weDM4YmE5MD0weDA7XzB4MzhiYTkwPF8weDMyMWY3M1tfMHg1ZTg4YTEoMHgyZTQpXTsrK18weDM4YmE5MClfMHg1NWMxNWRbXzB4MzIxZjczW18weDM4YmE5MF1dPV8weDQxMGE3NFtfMHgzOGJhOTBdO3JldHVyblsweDIsXzB4NTVjMTVkXTt9fSk7fSk7fTt9ZnVuY3Rpb24gRyhfMHgxOTQyZDcsXzB4MmI1NTMxKXt2YXIgXzB4NGI5NGQxPWZ1bmN0aW9uKF8weDUwM2E3YSl7cmV0dXJuIFIoXzB4NTAzYTdhKT9fMHgyYjU1MzEoXzB4NTAzYTdhKTpmdW5jdGlvbigpe3ZhciBfMHgzNTI3ZTQ9XzB4NGNlZCxfMHgxZDA2ZTQ9XzB4NTAzYTdhKCk7cmV0dXJuIGEoXzB4MWQwNmU0KT9fMHgxZDA2ZTRbXzB4MzUyN2U0KDB4MjhmKV0oXzB4MmI1NTMxKTpfMHgyYjU1MzEoXzB4MWQwNmU0KTt9O307cmV0dXJuIGZ1bmN0aW9uKF8weDJhYTgyYSl7dmFyIF8weDE2OTQzYj1fMHg0Y2VkLF8weDkwNTFmZT1fMHgxOTQyZDcoXzB4MmFhODJhKTtyZXR1cm4gYShfMHg5MDUxZmUpP18weDkwNTFmZVtfMHgxNjk0M2IoMHgyOGYpXShfMHg0Yjk0ZDEpOl8weDRiOTRkMShfMHg5MDUxZmUpO307fWZ1bmN0aW9uIEkoKXt2YXIgXzB4NDVjMmM2PV8weDRjZWQsXzB4NGVhMjYxPXdpbmRvdyxfMHgyNmI5ZDc9bmF2aWdhdG9yO3JldHVybiBtKFtfMHg0NWMyYzYoMHgzZGEpaW4gXzB4NGVhMjYxLF8weDQ1YzJjNigweDI3YSlpbiBfMHg0ZWEyNjEsJ21zSW5kZXhlZERCJ2luIF8weDRlYTI2MSxfMHg0NWMyYzYoMHgyMDApaW4gXzB4MjZiOWQ3LF8weDQ1YzJjNigweDM4MClpbiBfMHgyNmI5ZDddKT49MHg0O31mdW5jdGlvbiBZKCl7dmFyIF8weDc1M2RiYT1fMHg0Y2VkLF8weDViNzQ3MD13aW5kb3csXzB4NWE0YzI2PW5hdmlnYXRvcjtyZXR1cm4gbShbXzB4NzUzZGJhKDB4MjFiKWluIF8weDViNzQ3MCxfMHg3NTNkYmEoMHgzMDIpaW4gXzB4NWI3NDcwLF8weDc1M2RiYSgweDI1NylpbiBfMHg1YTRjMjYsXzB4NzUzZGJhKDB4MmYwKWluIF8weDVhNGMyNl0pPj0weDMmJiFJKCk7fWZ1bmN0aW9uIGooKXt2YXIgXzB4MzExMjllPV8weDRjZWQsXzB4ZGNkYTcxPXdpbmRvdyxfMHgxY2UzOGQ9bmF2aWdhdG9yO3JldHVybiBtKFtfMHgzMTEyOWUoMHgyMDgpaW4gXzB4MWNlMzhkLCd3ZWJraXRUZW1wb3JhcnlTdG9yYWdlJ2luIF8weDFjZTM4ZCwweDA9PT1fMHgxY2UzOGRbXzB4MzExMjllKDB4MjllKV1bXzB4MzExMjllKDB4M2FhKV0oXzB4MzExMjllKDB4MzA3KSksJ3dlYmtpdFJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwnaW4gXzB4ZGNkYTcxLCdCYXR0ZXJ5TWFuYWdlcidpbiBfMHhkY2RhNzEsXzB4MzExMjllKDB4MmI0KWluIF8weGRjZGE3MSwnd2Via2l0U3BlZWNoR3JhbW1hcidpbiBfMHhkY2RhNzFdKT49MHg1O31mdW5jdGlvbiBYKCl7dmFyIF8weDVhYTMxYj1fMHg0Y2VkLF8weDg0M2UyYT13aW5kb3csXzB4MzAwMGVjPW5hdmlnYXRvcjtyZXR1cm4gbShbXzB4NWFhMzFiKDB4MmY4KWluIF8weDg0M2UyYSwnQ1NTUHJpbWl0aXZlVmFsdWUnaW4gXzB4ODQzZTJhLCdDb3VudGVyJ2luIF8weDg0M2UyYSwweDA9PT1fMHgzMDAwZWNbXzB4NWFhMzFiKDB4MjllKV1bJ2luZGV4T2YnXShfMHg1YWEzMWIoMHgzZWYpKSxfMHg1YWEzMWIoMHgzMzgpaW4gXzB4MzAwMGVjLF8weDVhYTMxYigweDM5OClpbiBfMHg4NDNlMmFdKT49MHg0O31mdW5jdGlvbiBQKCl7dmFyIF8weDUxNDZhYT1fMHg0Y2VkLF8weDEzNmE3ND13aW5kb3csXzB4NTlhODAzPV8weDEzNmE3NFsnSFRNTEVsZW1lbnQnXSxfMHgxZWJhMjg9XzB4MTM2YTc0W18weDUxNDZhYSgweDI4YSldO3JldHVybiBtKFtfMHg1MTQ2YWEoMHgzNWUpaW4gXzB4MTM2YTc0LCEoXzB4NTE0NmFhKDB4MmQ0KWluIF8weDEzNmE3NCksISgnVG91Y2hFdmVudCdpbiBfMHgxMzZhNzQpLCEoJ29yaWVudGF0aW9uJ2luIF8weDEzNmE3NCksXzB4NTlhODAzJiYhKF8weDUxNDZhYSgweDNlMilpbiBfMHg1OWE4MDNbXzB4NTE0NmFhKDB4MmYxKV0pLF8weDFlYmEyOCYmJ3BvaW50ZXJMb2NrRWxlbWVudCdpbiBfMHgxZWJhMjhbXzB4NTE0NmFhKDB4MmYxKV1dKT49MHg0O31mdW5jdGlvbiBFKCl7dmFyIF8weDRmMzc2Yz1fMHg0Y2VkLF8weDQ2ZGZlMCxfMHg1MWU3NTk9d2luZG93O3JldHVybiBfMHg0NmRmZTA9XzB4NTFlNzU5W18weDRmMzc2YygweDJmZildLCEhL15mdW5jdGlvblxzLio/XHtccypcW25hdGl2ZSBjb2RlXVxzKn0kL1tfMHg0ZjM3NmMoMHgzMjYpXShTdHJpbmcoXzB4NDZkZmUwKSkmJm0oW18weDRmMzc2YygweDJmNCk9PT1TdHJpbmcoXzB4NTFlNzU5W18weDRmMzc2YygweDI0YyldKSxfMHg0ZjM3NmMoMHgyNjApaW4gXzB4NTFlNzU5XSk+PTB4MTt9ZnVuY3Rpb24gQygpe3ZhciBfMHgyMmQwNzA9XzB4NGNlZCxfMHhhOGQyM2IsXzB4MzRhMWMxLF8weDIxZGYxOD13aW5kb3c7cmV0dXJuIG0oW18weDIyZDA3MCgweDIwYSlpbiBuYXZpZ2F0b3IsJ01vekFwcGVhcmFuY2UnaW4obnVsbCE9PShfMHgzNGExYzE9bnVsbD09PShfMHhhOGQyM2I9ZG9jdW1lbnRbJ2RvY3VtZW50RWxlbWVudCddKXx8dm9pZCAweDA9PT1fMHhhOGQyM2I/dm9pZCAweDA6XzB4YThkMjNiW18weDIyZDA3MCgweDM3NyldKSYmdm9pZCAweDAhPT1fMHgzNGExYzE/XzB4MzRhMWMxOnt9KSxfMHgyMmQwNzAoMHgxZTkpaW4gXzB4MjFkZjE4LF8weDIyZDA3MCgweDMzZClpbiBfMHgyMWRmMTgsJ0NTU01vekRvY3VtZW50UnVsZSdpbiBfMHgyMWRmMTgsJ0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbSdpbiBfMHgyMWRmMThdKT49MHg0O31mdW5jdGlvbiBIKCl7dmFyIF8weDFiMjZhZT1fMHg0Y2VkLF8weDU3YjY1MT13aW5kb3csXzB4MzY5ZGE4PW5hdmlnYXRvcixfMHg0MDExNjg9XzB4NTdiNjUxWydDU1MnXSxfMHg0ZmQzZjA9XzB4NTdiNjUxW18weDFiMjZhZSgweDJhZildO3JldHVybiBtKFshKF8weDFiMjZhZSgweDMzOClpbiBfMHgzNjlkYTgpLF8weDRmZDNmMCYmXzB4MWIyNmFlKDB4MjAyKWluIF8weDRmZDNmMFtfMHgxYjI2YWUoMHgyZjEpXSxfMHgxYjI2YWUoMHgyNzUpaW4gXzB4NTdiNjUxLF8weDQwMTE2OFtfMHgxYjI2YWUoMHgzZDYpXSgnZm9udC1zaXplLWFkanVzdDpceDIwZXgtaGVpZ2h0XHgyMDAuNScpLF8weDQwMTE2OFtfMHgxYjI2YWUoMHgzZDYpXShfMHgxYjI2YWUoMHgzNTQpKV0pPj0weDQ7fWZ1bmN0aW9uIEEoKXt2YXIgXzB4MjhmZTIyPV8weDRjZWQsXzB4M2E4NDI0PWRvY3VtZW50O3JldHVybiBfMHgzYTg0MjRbXzB4MjhmZTIyKDB4MzYyKV18fF8weDNhODQyNFtfMHgyOGZlMjIoMHgzNTEpXXx8XzB4M2E4NDI0Wydtb3pGdWxsU2NyZWVuRWxlbWVudCddfHxfMHgzYTg0MjRbJ3dlYmtpdEZ1bGxzY3JlZW5FbGVtZW50J118fG51bGw7fWZ1bmN0aW9uIE4oKXt2YXIgXzB4YTA1ODlhPV8weDRjZWQsXzB4MzFmODg4PWooKSxfMHgyNGEyYTY9QygpLF8weDViZTY3Yz13aW5kb3csXzB4MjY3ZmIzPW5hdmlnYXRvcixfMHg1NGIwNGU9XzB4YTA1ODlhKDB4MjJiKTtyZXR1cm4gXzB4MzFmODg4P20oWyEoXzB4YTA1ODlhKDB4MmY1KWluIF8weDViZTY3YyksXzB4MjY3ZmIzW18weDU0YjA0ZV0mJidvbnR5cGVjaGFuZ2UnaW4gXzB4MjY3ZmIzW18weDU0YjA0ZV0sIShfMHhhMDU4OWEoMHgzY2IpaW4gbmV3IHdpbmRvd1snQXVkaW8nXSgpKV0pPj0weDI6ISFfMHgyNGEyYTYmJm0oW18weGEwNTg5YSgweDI0ZClpbiBfMHg1YmU2N2MsXzB4YTA1ODlhKDB4MmJlKWluIF8weDViZTY3YywvYW5kcm9pZC9pW18weGEwNTg5YSgweDMyNildKG5hdmlnYXRvcltfMHhhMDU4OWEoMHgzZDQpXSldKT49MHgyO31mdW5jdGlvbiBKKF8weDViY2ZmNixfMHhmOTIwLF8weDJmNDIzNyl7dmFyIF8weDMxNzIyZSxfMHg3NjNlMDAsXzB4NDcxYmE3O3JldHVybiB2b2lkIDB4MD09PV8weDJmNDIzNyYmKF8weDJmNDIzNz0weDMyKSxuKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4NTc2MzkxLF8weDEyZGVjOTtyZXR1cm4gdCh0aGlzLGZ1bmN0aW9uKF8weDRkZjczNSl7dmFyIF8weDIzZGVhYz1fMHg0Y2VkO3N3aXRjaChfMHg0ZGY3MzVbXzB4MjNkZWFjKDB4MmUxKV0pe2Nhc2UgMHgwOl8weDU3NjM5MT1kb2N1bWVudCxfMHg0ZGY3MzVbXzB4MjNkZWFjKDB4MmUxKV09MHgxO2Nhc2UgMHgxOnJldHVybiBfMHg1NzYzOTFbXzB4MjNkZWFjKDB4M2NjKV0/WzB4MywweDNdOlsweDQsbyhfMHgyZjQyMzcpXTtjYXNlIDB4MjpyZXR1cm4gXzB4NGRmNzM1W18weDIzZGVhYygweDM4MSldKCksWzB4MywweDFdO2Nhc2UgMHgzOl8weDEyZGVjOT1fMHg1NzYzOTFbXzB4MjNkZWFjKDB4Mjk1KV0oJ2lmcmFtZScpLF8weDRkZjczNVtfMHgyM2RlYWMoMHgyZTEpXT0weDQ7Y2FzZSAweDQ6cmV0dXJuIF8weDRkZjczNVsndHJ5cyddW18weDIzZGVhYygweDIzMildKFsweDQsLDB4YSwweGJdKSxbMHg0LG5ldyBQcm9taXNlKGZ1bmN0aW9uKF8weDMwNWMwNSxfMHgyNTgzNmYpe3ZhciBfMHg0NTUxNDA9XzB4MjNkZWFjLF8weDUyOGQ2ZD0hMHgxLF8weDU2YzQ2Yj1mdW5jdGlvbigpe18weDUyOGQ2ZD0hMHgwLF8weDMwNWMwNSgpO307XzB4MTJkZWM5W18weDQ1NTE0MCgweDJhNildPV8weDU2YzQ2YixfMHgxMmRlYzlbJ29uZXJyb3InXT1mdW5jdGlvbihfMHgxMDQ3NmEpe18weDUyOGQ2ZD0hMHgwLF8weDI1ODM2ZihfMHgxMDQ3NmEpO307dmFyIF8weDJmZTk0OT1fMHgxMmRlYzlbXzB4NDU1MTQwKDB4Mzc3KV07XzB4MmZlOTQ5W18weDQ1NTE0MCgweDNkYildKF8weDQ1NTE0MCgweDMyYSksXzB4NDU1MTQwKDB4MzYxKSxfMHg0NTUxNDAoMHgyYzMpKSxfMHgyZmU5NDlbXzB4NDU1MTQwKDB4M2UzKV09J2Fic29sdXRlJyxfMHgyZmU5NDlbJ3RvcCddPScwJyxfMHgyZmU5NDlbXzB4NDU1MTQwKDB4MmJkKV09JzAnLF8weDJmZTk0OVtfMHg0NTUxNDAoMHgyNDApXT0naGlkZGVuJyxfMHhmOTIwJiZfMHg0NTUxNDAoMHgyNTUpaW4gXzB4MTJkZWM5P18weDEyZGVjOVsnc3JjZG9jJ109XzB4ZjkyMDpfMHgxMmRlYzlbXzB4NDU1MTQwKDB4MjAzKV09XzB4NDU1MTQwKDB4MzNlKSxfMHg1NzYzOTFbXzB4NDU1MTQwKDB4M2NjKV1bXzB4NDU1MTQwKDB4MzY4KV0oXzB4MTJkZWM5KTt2YXIgXzB4MzI1NTNjPWZ1bmN0aW9uKCl7dmFyIF8weDQyM2RiMz1fMHg0NTUxNDAsXzB4MmJhNzE1LF8weDFlOTM2NztfMHg1MjhkNmR8fChfMHg0MjNkYjMoMHgxZWYpPT09KG51bGw9PT0oXzB4MWU5MzY3PW51bGw9PT0oXzB4MmJhNzE1PV8weDEyZGVjOVtfMHg0MjNkYjMoMHgyYzQpXSl8fHZvaWQgMHgwPT09XzB4MmJhNzE1P3ZvaWQgMHgwOl8weDJiYTcxNVsnZG9jdW1lbnQnXSl8fHZvaWQgMHgwPT09XzB4MWU5MzY3P3ZvaWQgMHgwOl8weDFlOTM2N1tfMHg0MjNkYjMoMHgzMWIpXSk/XzB4NTZjNDZiKCk6c2V0VGltZW91dChfMHgzMjU1M2MsMHhhKSk7fTtfMHgzMjU1M2MoKTt9KV07Y2FzZSAweDU6XzB4NGRmNzM1WydzZW50J10oKSxfMHg0ZGY3MzVbJ2xhYmVsJ109MHg2O2Nhc2UgMHg2OnJldHVybihudWxsPT09KF8weDc2M2UwMD1udWxsPT09KF8weDMxNzIyZT1fMHgxMmRlYzlbXzB4MjNkZWFjKDB4MmM0KV0pfHx2b2lkIDB4MD09PV8weDMxNzIyZT92b2lkIDB4MDpfMHgzMTcyMmVbJ2RvY3VtZW50J10pfHx2b2lkIDB4MD09PV8weDc2M2UwMD92b2lkIDB4MDpfMHg3NjNlMDBbXzB4MjNkZWFjKDB4M2NjKV0pP1sweDMsMHg4XTpbMHg0LG8oXzB4MmY0MjM3KV07Y2FzZSAweDc6cmV0dXJuIF8weDRkZjczNVtfMHgyM2RlYWMoMHgzODEpXSgpLFsweDMsMHg2XTtjYXNlIDB4ODpyZXR1cm5bMHg0LF8weDViY2ZmNihfMHgxMmRlYzksXzB4MTJkZWM5W18weDIzZGVhYygweDJjNCldKV07Y2FzZSAweDk6cmV0dXJuWzB4MixfMHg0ZGY3MzVbXzB4MjNkZWFjKDB4MzgxKV0oKV07Y2FzZSAweGE6cmV0dXJuIG51bGw9PT0oXzB4NDcxYmE3PV8weDEyZGVjOVtfMHgyM2RlYWMoMHgyMjApXSl8fHZvaWQgMHgwPT09XzB4NDcxYmE3fHxfMHg0NzFiYTdbXzB4MjNkZWFjKDB4Mzg4KV0oXzB4MTJkZWM5KSxbMHg3XTtjYXNlIDB4YjpyZXR1cm5bMHgyXTt9fSk7fSk7fWZ1bmN0aW9uIFQoXzB4NDVkZmM2KXt2YXIgXzB4ODVkNDFmPV8weDRjZWQ7Zm9yKHZhciBfMHg1Y2NmYzQ9ZnVuY3Rpb24oXzB4MWYzOTQwKXt2YXIgXzB4NTczM2Q2PV8weDRjZWQ7Zm9yKHZhciBfMHgxYWM1ZjUsXzB4MTIxMDBmLF8weDZkMTgzPV8weDU3MzNkNigweDI5NilbJ2NvbmNhdCddKF8weDFmMzk0MCwnXHgyNycpLF8weDg4YWIyZT0vXlxzKihbYS16LV0qKSguKikkL2lbXzB4NTczM2Q2KDB4MmZiKV0oXzB4MWYzOTQwKSxfMHg0ZjllOTU9XzB4ODhhYjJlWzB4MV18fHZvaWQgMHgwLF8weDQ3NjljMD17fSxfMHgzMTk3OGY9LyhbLjojXVtcdy1dK3xcWy4rP1xdKS9naSxfMHgxYmVjM2Q9ZnVuY3Rpb24oXzB4NWVjY2U1LF8weDUwMjZlNyl7dmFyIF8weDEzYzk0Nz1fMHg1NzMzZDY7XzB4NDc2OWMwW18weDVlY2NlNV09XzB4NDc2OWMwW18weDVlY2NlNV18fFtdLF8weDQ3NjljMFtfMHg1ZWNjZTVdW18weDEzYzk0NygweDIzMildKF8weDUwMjZlNyk7fTs7KXt2YXIgXzB4MjU5ZDRhPV8weDMxOTc4ZltfMHg1NzMzZDYoMHgyZmIpXShfMHg4OGFiMmVbMHgyXSk7aWYoIV8weDI1OWQ0YSlicmVhazt2YXIgXzB4MTYxZTk4PV8weDI1OWQ0YVsweDBdO3N3aXRjaChfMHgxNjFlOThbMHgwXSl7Y2FzZScuJzpfMHgxYmVjM2QoXzB4NTczM2Q2KDB4MzRjKSxfMHgxNjFlOThbXzB4NTczM2Q2KDB4Mzg1KV0oMHgxKSk7YnJlYWs7Y2FzZScjJzpfMHgxYmVjM2QoJ2lkJyxfMHgxNjFlOThbXzB4NTczM2Q2KDB4Mzg1KV0oMHgxKSk7YnJlYWs7Y2FzZSdbJzp2YXIgXzB4MTNiYjc4PS9eXFsoW1x3LV0rKShbfnxeJCpdPz0oIiguKj8pInwoW1x3LV0rKSkpPyhccytbaXNdKT9cXSQvWydleGVjJ10oXzB4MTYxZTk4KTtpZighXzB4MTNiYjc4KXRocm93IG5ldyBFcnJvcihfMHg2ZDE4Myk7XzB4MWJlYzNkKF8weDEzYmI3OFsweDFdLG51bGwhPT0oXzB4MTIxMDBmPW51bGwhPT0oXzB4MWFjNWY1PV8weDEzYmI3OFsweDRdKSYmdm9pZCAweDAhPT1fMHgxYWM1ZjU/XzB4MWFjNWY1Ol8weDEzYmI3OFsweDVdKSYmdm9pZCAweDAhPT1fMHgxMjEwMGY/XzB4MTIxMDBmOicnKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihfMHg2ZDE4Myk7fX1yZXR1cm5bXzB4NGY5ZTk1LF8weDQ3NjljMF07fShfMHg0NWRmYzYpLF8weDMwM2I1ND1fMHg1Y2NmYzRbMHgwXSxfMHgyNTg5N2Q9XzB4NWNjZmM0WzB4MV0sXzB4NWE0ODk5PWRvY3VtZW50W18weDg1ZDQxZigweDI5NSldKG51bGwhPV8weDMwM2I1ND9fMHgzMDNiNTQ6XzB4ODVkNDFmKDB4MzJmKSksXzB4NTA2MzczPTB4MCxfMHg1N2U4ZjY9T2JqZWN0WydrZXlzJ10oXzB4MjU4OTdkKTtfMHg1MDYzNzM8XzB4NTdlOGY2W18weDg1ZDQxZigweDJlNCldO18weDUwNjM3MysrKXt2YXIgXzB4MjY0MzVmPV8weDU3ZThmNltfMHg1MDYzNzNdLF8weDM3NmJiND1fMHgyNTg5N2RbXzB4MjY0MzVmXVtfMHg4NWQ0MWYoMHgzYjUpXSgnXHgyMCcpO18weDg1ZDQxZigweDM3Nyk9PT1fMHgyNjQzNWY/RChfMHg1YTQ4OTlbXzB4ODVkNDFmKDB4Mzc3KV0sXzB4Mzc2YmI0KTpfMHg1YTQ4OTlbXzB4ODVkNDFmKDB4MzBkKV0oXzB4MjY0MzVmLF8weDM3NmJiNCk7fXJldHVybiBfMHg1YTQ4OTk7fWZ1bmN0aW9uIEQoXzB4MTQ2NjEyLF8weDIyYTRiZil7dmFyIF8weDU2NzEwZj1fMHg0Y2VkO2Zvcih2YXIgXzB4MjVmMDk4PTB4MCxfMHgyNWRjY2Q9XzB4MjJhNGJmW18weDU2NzEwZigweDNmNyldKCc7Jyk7XzB4MjVmMDk4PF8weDI1ZGNjZFtfMHg1NjcxMGYoMHgyZTQpXTtfMHgyNWYwOTgrKyl7dmFyIF8weGEwZGJmNj1fMHgyNWRjY2RbXzB4MjVmMDk4XSxfMHgyNTUyOGQ9L15ccyooW1x3LV0rKVxzKjpccyooLis/KShccyohKFtcdy1dKykpP1xzKiQvW18weDU2NzEwZigweDJmYildKF8weGEwZGJmNik7aWYoXzB4MjU1MjhkKXt2YXIgXzB4NGUwZDY5PV8weDI1NTI4ZFsweDFdLF8weDVjOGYyMz1fMHgyNTUyOGRbMHgyXSxfMHgxMTQ3MzE9XzB4MjU1MjhkWzB4NF07XzB4MTQ2NjEyWydzZXRQcm9wZXJ0eSddKF8weDRlMGQ2OSxfMHg1YzhmMjMsXzB4MTE0NzMxfHwnJyk7fX19ZnVuY3Rpb24gXygpe3JldHVybiBuKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4NDdjZDRmLF8weDVjYTMwNSxfMHhhNjJhYTA7cmV0dXJuIHQodGhpcyxmdW5jdGlvbihfMHg0ZDU3ODcpe3ZhciBfMHg0M2ExMzU9XzB4NGNlZDtzd2l0Y2goXzB4NGQ1Nzg3W18weDQzYTEzNSgweDJlMSldKXtjYXNlIDB4MDpyZXR1cm4gXzB4NWNhMzA1PW5ldyBQcm9taXNlKGZ1bmN0aW9uKF8weDRkYmExNSl7dmFyIF8weDM4MTY4OT1fMHg0M2ExMzUsXzB4MmI4MDY0PWRvY3VtZW50LF8weDMwY2M5Yz1fMHgzODE2ODkoMHgzNzQpLF8weDI1ZDlkZT1mdW5jdGlvbigpe3ZhciBfMHgxNmIxYWE9XzB4MzgxNjg5O18weDJiODA2NFtfMHgxNmIxYWEoMHgyNmIpXXx8KF8weDJiODA2NFsncmVtb3ZlRXZlbnRMaXN0ZW5lciddKF8weDMwY2M5YyxfMHgyNWQ5ZGUpLF8weDRkYmExNSgpKTt9O18weDJiODA2NFtfMHgzODE2ODkoMHgyOGMpXShfMHgzMGNjOWMsXzB4MjVkOWRlKSxfMHgyNWQ5ZGUoKTt9KVtfMHg0M2ExMzUoMHgyOGYpXShmdW5jdGlvbigpe3JldHVybiBvKDB4MWY0KTt9KSxfMHhhNjJhYTA9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDFkZDQ0OCxfMHgyMTk3MTYsXzB4ODUwZmNiLF8weDRmODAwZCxfMHg4NTJmNCxfMHg1MTBjNDUsXzB4MTBlN2JlO3JldHVybiB0KHRoaXMsZnVuY3Rpb24oXzB4NDgzYzgyKXt2YXIgXzB4NTIwM2UzPV8weDRjZWQ7c3dpdGNoKF8weDQ4M2M4MlsnbGFiZWwnXSl7Y2FzZSAweDA6cmV0dXJuIF8weDFkZDQ0OD13aW5kb3csKF8weDIxOTcxNj1fMHgxZGQ0NDhbJ09mZmxpbmVBdWRpb0NvbnRleHQnXXx8XzB4MWRkNDQ4W18weDUyMDNlMygweDM4ZSldKT96KCk/WzB4MiwtMHgxXTpbMHg0LEIoXzB4MjE5NzE2KV06WzB4MiwtMHgyXTtjYXNlIDB4MTpyZXR1cm4oXzB4ODUwZmNiPV8weDQ4M2M4Mlsnc2VudCddKCkpPyhfMHg0ZjgwMGQ9bmV3IF8weDIxOTcxNigweDEsXzB4ODUwZmNiW18weDUyMDNlMygweDJlNCldLTB4MSsweDljNDAsMHhhYzQ0KSwoXzB4ODUyZjQ9XzB4NGY4MDBkW18weDUyMDNlMygweDNiYSldKCkpW18weDUyMDNlMygweDIzYildPV8weDg1MGZjYixfMHg4NTJmNFtfMHg1MjAzZTMoMHgzNzkpXT0hMHgwLF8weDg1MmY0Wydsb29wU3RhcnQnXT0oXzB4ODUwZmNiW18weDUyMDNlMygweDJlNCldLTB4MSkvMHhhYzQ0LF8weDg1MmY0W18weDUyMDNlMygweDI3YildPV8weDg1MGZjYltfMHg1MjAzZTMoMHgyZTQpXS8weGFjNDQsXzB4ODUyZjRbJ2Nvbm5lY3QnXShfMHg0ZjgwMGRbXzB4NTIwM2UzKDB4MmFkKV0pLF8weDg1MmY0WydzdGFydCddKCksWzB4NCxPKF8weDRmODAwZCldKTpbMHgyLC0weDNdO2Nhc2UgMHgyOnJldHVybihfMHg1MTBjNDU9XzB4NDgzYzgyW18weDUyMDNlMygweDM4MSldKCkpPyhfMHgxMGU3YmU9ZnVuY3Rpb24oXzB4NDZjOTgwLF8weDQ5ZTYwZCl7dmFyIF8weDEzNzYxYj1fMHg1MjAzZTM7Zm9yKHZhciBfMHgyYTUyYTI9dm9pZCAweDAsXzB4NjliNjc2PSEweDEsXzB4MWYyZDFlPTB4MDtfMHgxZjJkMWU8XzB4NDllNjBkWydsZW5ndGgnXTtfMHgxZjJkMWUrPU1hdGhbJ2Zsb29yJ10oXzB4NDllNjBkW18weDEzNzYxYigweDJlNCldLzB4YSkpaWYoMHgwPT09XzB4NDllNjBkW18weDFmMmQxZV0pO2Vsc2V7aWYodm9pZCAweDA9PT1fMHgyYTUyYTIpXzB4MmE1MmEyPV8weDQ5ZTYwZFtfMHgxZjJkMWVdO2Vsc2V7aWYoXzB4MmE1MmEyIT09XzB4NDllNjBkW18weDFmMmQxZV0pe18weDY5YjY3Nj0hMHgwO2JyZWFrO319fXJldHVybiB2b2lkIDB4MD09PV8weDJhNTJhMj9fMHgyYTUyYTI9XzB4NDZjOTgwW18weDEzNzYxYigweDJjZildKDB4MClbXzB4NDZjOTgwW18weDEzNzYxYigweDJlNCldLTB4MV06XzB4NjliNjc2JiYoXzB4MmE1MmEyPWZ1bmN0aW9uKF8weDJlZWYzNCl7dmFyIF8weDVkZmJiYT1fMHgxMzc2MWI7Zm9yKHZhciBfMHgxNjZkNzQ9MHgxLzB4MCxfMHgxMDEyNWE9LTB4MS8weDAsXzB4NDBkNTVlPTB4MDtfMHg0MGQ1NWU8XzB4MmVlZjM0W18weDVkZmJiYSgweDJlNCldO18weDQwZDU1ZSsrKXt2YXIgXzB4Mzg3YWI0PV8weDJlZWYzNFtfMHg0MGQ1NWVdOzB4MCE9PV8weDM4N2FiNCYmKF8weDM4N2FiNDxfMHgxNjZkNzQmJihfMHgxNjZkNzQ9XzB4Mzg3YWI0KSxfMHgzODdhYjQ+XzB4MTAxMjVhJiYoXzB4MTAxMjVhPV8weDM4N2FiNCkpO31yZXR1cm4oXzB4MTY2ZDc0K18weDEwMTI1YSkvMHgyO30oXzB4NDllNjBkKSksXzB4MmE1MmEyO30oXzB4ODUwZmNiLF8weDUxMGM0NVsnZ2V0Q2hhbm5lbERhdGEnXSgweDApWydzdWJhcnJheSddKF8weDg1MGZjYltfMHg1MjAzZTMoMHgyZTQpXS0weDEpKSxbMHgyLE1hdGhbJ2FicyddKF8weDEwZTdiZSldKTpbMHgyLC0weDNdO319KTt9KTt9KClbXzB4NDNhMTM1KDB4MjhmKV0oZnVuY3Rpb24oXzB4NTEwODI2KXtyZXR1cm4gXzB4NDdjZDRmPVshMHgwLF8weDUxMDgyNl07fSxmdW5jdGlvbihfMHg1OTI3NWIpe3JldHVybiBfMHg0N2NkNGY9WyEweDEsXzB4NTkyNzViXTt9KSxbMHg0LFByb21pc2VbXzB4NDNhMTM1KDB4MzkzKV0oW18weDVjYTMwNSxfMHhhNjJhYTBdKV07Y2FzZSAweDE6cmV0dXJuIF8weDRkNTc4N1snc2VudCddKCksWzB4MixmdW5jdGlvbigpe2lmKCFfMHg0N2NkNGYpcmV0dXJuLTB4MztpZighXzB4NDdjZDRmWzB4MF0pdGhyb3cgXzB4NDdjZDRmWzB4MV07cmV0dXJuIF8weDQ3Y2Q0ZlsweDFdO31dO319KTt9KTt9ZnVuY3Rpb24geigpe3ZhciBfMHg0YTI5MzA9XzB4NGNlZDtyZXR1cm4gWCgpJiYhUCgpJiYhKG0oW18weDRhMjkzMCgweDNkZSlpbihfMHgxNzcyMzY9d2luZG93KSxfMHg0YTI5MzAoMHgzOWUpaW4gXzB4MTc3MjM2LCdTVkdHZW9tZXRyeUVsZW1lbnQnaW4gXzB4MTc3MjM2LF8weDRhMjkzMCgweDNlZClpbiBfMHgxNzcyMzZdKT49MHgzKTt2YXIgXzB4MTc3MjM2O31mdW5jdGlvbiBCKF8weDRlM2MwYSl7cmV0dXJuIG4odGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHg1MWZkZGEsXzB4MmZmYjRhLF8weDgzNWFiMyxfMHg1NDYzOGQ7cmV0dXJuIHQodGhpcyxmdW5jdGlvbihfMHgzOGY3MGYpe3ZhciBfMHgzYzM4Yzk9XzB4NGNlZDtzd2l0Y2goXzB4MzhmNzBmW18weDNjMzhjOSgweDJlMSldKXtjYXNlIDB4MDpyZXR1cm4gMHhkNDMsXzB4NTFmZGRhPW5ldyBfMHg0ZTNjMGEoMHgxLDB4ZDQ0LDB4YWM0NCksKF8weDJmZmI0YT1fMHg1MWZkZGFbXzB4M2MzOGM5KDB4MWYwKV0oKSlbXzB4M2MzOGM5KDB4MmQ1KV09XzB4M2MzOGM5KDB4MzNiKSxfMHgyZmZiNGFbXzB4M2MzOGM5KDB4M2MyKV1bXzB4M2MzOGM5KDB4MjFhKV09MHgzZTgsKF8weDgzNWFiMz1fMHg1MWZkZGFbXzB4M2MzOGM5KDB4M2JmKV0oKSlbXzB4M2MzOGM5KDB4M2MxKV1bJ3ZhbHVlJ109LTB4NDYsXzB4ODM1YWIzW18weDNjMzhjOSgweDIxOSldW18weDNjMzhjOSgweDIxYSldPTB4MjgsXzB4ODM1YWIzW18weDNjMzhjOSgweDM4MyldWyd2YWx1ZSddPTB4YyxfMHg4MzVhYjNbXzB4M2MzOGM5KDB4MzY3KV1bXzB4M2MzOGM5KDB4MjFhKV09MHgwLF8weDgzNWFiM1tfMHgzYzM4YzkoMHgyZWEpXVtfMHgzYzM4YzkoMHgyMWEpXT0wLjI1LChfMHg1NDYzOGQ9XzB4NTFmZGRhW18weDNjMzhjOSgweDMxNyldKCkpW18weDNjMzhjOSgweDJkNSldPSdhbGxwYXNzJyxfMHg1NDYzOGRbXzB4M2MzOGM5KDB4M2MyKV1bXzB4M2MzOGM5KDB4MjFhKV09NS4yMzk2MjI4NTI5Nzc4NjEsXzB4NTQ2MzhkWydRJ11bXzB4M2MzOGM5KDB4MjFhKV09MC4xLF8weDJmZmI0YVtfMHgzYzM4YzkoMHgyMjMpXShfMHg4MzVhYjMpLF8weDgzNWFiM1snY29ubmVjdCddKF8weDU0NjM4ZCksXzB4NTQ2MzhkW18weDNjMzhjOSgweDIyMyldKF8weDUxZmRkYVtfMHgzYzM4YzkoMHgyYWQpXSksXzB4MmZmYjRhW18weDNjMzhjOSgweDNiZCldKDB4MCksWzB4NCxPKF8weDUxZmRkYSldO2Nhc2UgMHgxOnJldHVyblsweDIsXzB4MzhmNzBmW18weDNjMzhjOSgweDM4MSldKCldO319KTt9KTt9ZnVuY3Rpb24gTyhfMHg1NzYyZmQpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihfMHg1NDZlMDUsXzB4MmEzYWY0KXt2YXIgXzB4NDM4NDlkPV8weDRjZWQsXzB4NWQyN2MzPTB4MTk7XzB4NTc2MmZkW18weDQzODQ5ZCgweDJjZCldPWZ1bmN0aW9uKF8weDU5ZTc3Myl7dmFyIF8weDQ1OGNiZj1fMHg0Mzg0OWQ7cmV0dXJuIF8weDU0NmUwNShfMHg1OWU3NzNbXzB4NDU4Y2JmKDB4MzdjKV0pO307dmFyIF8weDUwYmVjMT1mdW5jdGlvbigpe3ZhciBfMHhlOTc0Mjc9XzB4NDM4NDlkO3RyeXt2YXIgXzB4MjViMzM4PV8weDU3NjJmZFtfMHhlOTc0MjcoMHgyZTgpXSgpO2EoXzB4MjViMzM4KSYmbChfMHgyNWIzMzgpLF8weGU5NzQyNygweDM0ZCk9PT1fMHg1NzYyZmRbXzB4ZTk3NDI3KDB4MWUzKV0mJihkb2N1bWVudFtfMHhlOTc0MjcoMHgyNmIpXXx8XzB4NWQyN2MzLS0sXzB4NWQyN2MzPjB4MD9zZXRUaW1lb3V0KF8weDUwYmVjMSwweGM4KTpfMHg1NDZlMDUobnVsbCkpO31jYXRjaChfMHgzN2Q2YzIpe18weDJhM2FmNChfMHgzN2Q2YzIpO319O18weDUwYmVjMSgpO30pO312YXIgVT1bJ21vbm9zcGFjZScsXzB4M2ZkNjkwKDB4MzBiKSwnc2VyaWYnXSxRPVsnc2Fucy1zZXJpZi10aGluJyxfMHgzZmQ2OTAoMHgzZTgpLCdBZ2VuY3lceDIwRkInLCdBcmFiaWNceDIwVHlwZXNldHRpbmcnLF8weDNmZDY5MCgweDM2YSksXzB4M2ZkNjkwKDB4MjlhKSxfMHgzZmQ2OTAoMHgyYzkpLF8weDNmZDY5MCgweDMxOCksXzB4M2ZkNjkwKDB4MzE0KSxfMHgzZmQ2OTAoMHgzYTgpLF8weDNmZDY5MCgweDIzNiksXzB4M2ZkNjkwKDB4MzM3KSxfMHgzZmQ2OTAoMHgyYWIpLF8weDNmZDY5MCgweDI3OSksXzB4M2ZkNjkwKDB4MjBjKSwnRnV0dXJhXHgyMEJrXHgyMEJUJyxfMHgzZmQ2OTAoMHgyMzgpLF8weDNmZDY5MCgweDJmZSksXzB4M2ZkNjkwKDB4M2QxKSxfMHgzZmQ2OTAoMHgzZWUpLF8weDNmZDY5MCgweDI0MiksJ0hlbHZldGljYVx4MjBOZXVlJyxfMHgzZmQ2OTAoMHgyM2QpLF8weDNmZDY5MCgweDFmYyksXzB4M2ZkNjkwKDB4M2EwKSxfMHgzZmQ2OTAoMHgyMDcpLF8weDNmZDY5MCgweDI2NCksXzB4M2ZkNjkwKDB4MmFlKSxfMHgzZmQ2OTAoMHgzYzcpLF8weDNmZDY5MCgweDJiNSksJ01TXHgyME91dGxvb2snLF8weDNmZDY5MCgweDI5MSksXzB4M2ZkNjkwKDB4MmRiKSxfMHgzZmQ2OTAoMHgzNTYpLCdNWVJJQURceDIwUFJPJywnTWFybGV0dCcsXzB4M2ZkNjkwKDB4Mjg2KSwnTWljcm9zb2Z0XHgyMFVpZ2h1cicsXzB4M2ZkNjkwKDB4MzBjKSwnTW9ub3R5cGVceDIwQ29yc2l2YScsXzB4M2ZkNjkwKDB4MWU0KSwnUHJpc3RpbmEnLF8weDNmZDY5MCgweDNiOSksJ1NlZ29lXHgyMFVJXHgyMExpZ2h0JyxfMHgzZmQ2OTAoMHgyZWIpLF8weDNmZDY5MCgweDNiNiksXzB4M2ZkNjkwKDB4MjVjKSxfMHgzZmQ2OTAoMHgyODgpLCdUUkFKQU5ceDIwUFJPJyxfMHgzZmQ2OTAoMHgxZWEpLF8weDNmZDY5MCgweDNhNSksXzB4M2ZkNjkwKDB4MzZmKV07ZnVuY3Rpb24gSyhfMHgzMzQxMmIpe3JldHVybiBuKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4MmY2ZDgxLF8weDQzYjY3YixfMHg0MzRkNjcsXzB4MzUyYmNjLF8weDNiZjJlOCxfMHgxOGFhMGEsXzB4MWNjNWVmO3JldHVybiB0KHRoaXMsZnVuY3Rpb24oXzB4Mjc4MjY2KXt2YXIgXzB4MzNlYWJiPV8weDRjZWQ7c3dpdGNoKF8weDI3ODI2NlsnbGFiZWwnXSl7Y2FzZSAweDA6cmV0dXJuIF8weDJmNmQ4MT0hMHgxLF8weDM1MmJjYz0oZnVuY3Rpb24oKXt2YXIgXzB4NWMxOTM4PV8weDRjZWQsXzB4MmUwNjBiPWRvY3VtZW50WydjcmVhdGVFbGVtZW50J10oXzB4NWMxOTM4KDB4MzA0KSk7cmV0dXJuIF8weDJlMDYwYltfMHg1YzE5MzgoMHgyMjIpXT0weDEsXzB4MmUwNjBiW18weDVjMTkzOCgweDNjNCldPTB4MSxbXzB4MmUwNjBiLF8weDJlMDYwYltfMHg1YzE5MzgoMHgyNDkpXSgnMmQnKV07fSgpKSxfMHgzYmYyZTg9XzB4MzUyYmNjWzB4MF0sXzB4MThhYTBhPV8weDM1MmJjY1sweDFdLGZ1bmN0aW9uKF8weDcwYWU5ZSxfMHgyNmEyMSl7dmFyIF8weDU2ZTU5MT1fMHg0Y2VkO3JldHVybiEoIV8weDI2YTIxfHwhXzB4NzBhZTllW18weDU2ZTU5MSgweDJkNildKTt9KF8weDNiZjJlOCxfMHgxOGFhMGEpP1sweDMsMHgxXTooXzB4NDNiNjdiPV8weDQzNGQ2Nz1fMHgzM2VhYmIoMHgzM2YpLFsweDMsMHg0XSk7Y2FzZSAweDE6cmV0dXJuIF8weDJmNmQ4MT1mdW5jdGlvbihfMHg0MWQ2ZTMpe3ZhciBfMHgyMmI4MDc9XzB4MzNlYWJiO3JldHVybiBfMHg0MWQ2ZTNbXzB4MjJiODA3KDB4MWU4KV0oMHgwLDB4MCwweGEsMHhhKSxfMHg0MWQ2ZTNbXzB4MjJiODA3KDB4MWU4KV0oMHgyLDB4MiwweDYsMHg2KSwhXzB4NDFkNmUzW18weDIyYjgwNygweDI4OSldKDB4NSwweDUsXzB4MjJiODA3KDB4MmUzKSk7fShfMHgxOGFhMGEpLF8weDMzNDEyYj8oXzB4NDNiNjdiPV8weDQzNGQ2Nz0nc2tpcHBlZCcsWzB4MywweDRdKTpbMHgzLDB4Ml07Y2FzZSAweDI6cmV0dXJuWzB4NCxxKF8weDNiZjJlOCxfMHgxOGFhMGEpXTtjYXNlIDB4MzpfMHgxY2M1ZWY9XzB4Mjc4MjY2W18weDMzZWFiYigweDM4MSldKCksXzB4NDNiNjdiPV8weDFjYzVlZlsweDBdLF8weDQzNGQ2Nz1fMHgxY2M1ZWZbMHgxXSxfMHgyNzgyNjZbXzB4MzNlYWJiKDB4MmUxKV09MHg0O2Nhc2UgMHg0OnJldHVyblsweDIseyd3aW5kaW5nJzpfMHgyZjZkODEsJ2dlb21ldHJ5JzpfMHg0M2I2N2IsJ3RleHQnOl8weDQzNGQ2N31dO319KTt9KTt9ZnVuY3Rpb24gcShfMHg3M2RiOWMsXzB4NGVlMjczKXtyZXR1cm4gbih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDNkZmFkMSxfMHg1NDFhZTUsXzB4NGI2ZmFiO3JldHVybiB0KHRoaXMsZnVuY3Rpb24oXzB4NTQ5MWUwKXt2YXIgXzB4NTg2ZWY0PV8weDRjZWQ7c3dpdGNoKF8weDU0OTFlMFtfMHg1ODZlZjQoMHgyZTEpXSl7Y2FzZSAweDA6cmV0dXJuIGZ1bmN0aW9uKF8weDI3OWVhOSxfMHg1MGQ0MGQpe3ZhciBfMHgxYjMxN2I9XzB4NTg2ZWY0O18weDI3OWVhOVtfMHgxYjMxN2IoMHgyMjIpXT0weGYwLF8weDI3OWVhOVsnaGVpZ2h0J109MHgzYyxfMHg1MGQ0MGRbXzB4MWIzMTdiKDB4MjViKV09J2FscGhhYmV0aWMnLF8weDUwZDQwZFtfMHgxYjMxN2IoMHgyOGQpXT1fMHgxYjMxN2IoMHgzOTQpLF8weDUwZDQwZFtfMHgxYjMxN2IoMHgyZWQpXSgweDY0LDB4MSwweDNlLDB4MTQpLF8weDUwZDQwZFtfMHgxYjMxN2IoMHgyOGQpXT1fMHgxYjMxN2IoMHgyY2IpLF8weDUwZDQwZFtfMHgxYjMxN2IoMHgyMzcpXT1fMHgxYjMxN2IoMHgzOWQpO3ZhciBfMHg0M2NhY2U9J0N3bVx4MjBmam9yZGJhbmtceDIwZ2x5XHgyMCdbXzB4MWIzMTdiKDB4Mzk2KV0oU3RyaW5nW18weDFiMzE3YigweDM0NSldKDB4ZDgzZCwweGRlMDMpKTtfMHg1MGQ0MGRbXzB4MWIzMTdiKDB4MjUwKV0oXzB4NDNjYWNlLDB4MiwweGYpLF8weDUwZDQwZFtfMHgxYjMxN2IoMHgyOGQpXT1fMHgxYjMxN2IoMHgzNmQpLF8weDUwZDQwZFtfMHgxYjMxN2IoMHgyMzcpXT1fMHgxYjMxN2IoMHgzOTApLF8weDUwZDQwZFtfMHgxYjMxN2IoMHgyNTApXShfMHg0M2NhY2UsMHg0LDB4MmQpO30oXzB4NzNkYjljLF8weDRlZTI3MyksWzB4NCxpKCldO2Nhc2UgMHgxOnJldHVybiBfMHg1NDkxZTBbXzB4NTg2ZWY0KDB4MzgxKV0oKSxfMHgzZGZhZDE9JChfMHg3M2RiOWMpLF8weDU0MWFlNT0kKF8weDczZGI5YyksXzB4M2RmYWQxIT09XzB4NTQxYWU1P1sweDIsW18weDU4NmVmNCgweDNmNiksXzB4NTg2ZWY0KDB4M2Y2KV1dOihmdW5jdGlvbihfMHgyMTMxNjcsXzB4NTQyMGNiKXt2YXIgXzB4MWE2NmRhPV8weDU4NmVmNDtfMHgyMTMxNjdbJ3dpZHRoJ109MHg3YSxfMHgyMTMxNjdbXzB4MWE2NmRhKDB4M2M0KV09MHg2ZSxfMHg1NDIwY2JbJ2dsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiddPV8weDFhNjZkYSgweDM4NCk7Zm9yKHZhciBfMHgxYTFiZDI9MHgwLF8weDViMmNjND1bW18weDFhNjZkYSgweDI2NyksMHgyOCwweDI4XSxbJyMyZmYnLDB4NTAsMHgyOF0sW18weDFhNjZkYSgweDFlZSksMHgzYywweDUwXV07XzB4MWExYmQyPF8weDViMmNjNFtfMHgxYTY2ZGEoMHgyZTQpXTtfMHgxYTFiZDIrKyl7dmFyIF8weDMxOWY0Nj1fMHg1YjJjYzRbXzB4MWExYmQyXSxfMHg0MGU1MzI9XzB4MzE5ZjQ2WzB4MF0sXzB4MTk3YmM0PV8weDMxOWY0NlsweDFdLF8weDJmM2UyMz1fMHgzMTlmNDZbMHgyXTtfMHg1NDIwY2JbXzB4MWE2NmRhKDB4MjhkKV09XzB4NDBlNTMyLF8weDU0MjBjYlsnYmVnaW5QYXRoJ10oKSxfMHg1NDIwY2JbXzB4MWE2NmRhKDB4M2RkKV0oXzB4MTk3YmM0LF8weDJmM2UyMywweDI4LDB4MCwweDIqTWF0aFsnUEknXSwhMHgwKSxfMHg1NDIwY2JbXzB4MWE2NmRhKDB4MzM5KV0oKSxfMHg1NDIwY2JbJ2ZpbGwnXSgpO31fMHg1NDIwY2JbXzB4MWE2NmRhKDB4MjhkKV09XzB4MWE2NmRhKDB4M2QyKSxfMHg1NDIwY2JbXzB4MWE2NmRhKDB4M2RkKV0oMHgzYywweDNjLDB4M2MsMHgwLDB4MipNYXRoWydQSSddLCEweDApLF8weDU0MjBjYltfMHgxYTY2ZGEoMHgzZGQpXSgweDNjLDB4M2MsMHgxNCwweDAsMHgyKk1hdGhbJ1BJJ10sITB4MCksXzB4NTQyMGNiWydmaWxsJ10oXzB4MWE2NmRhKDB4MmUzKSk7fShfMHg3M2RiOWMsXzB4NGVlMjczKSxbMHg0LGkoKV0pO2Nhc2UgMHgyOnJldHVybiBfMHg1NDkxZTBbJ3NlbnQnXSgpLF8weDRiNmZhYj0kKF8weDczZGI5YyksWzB4MixbXzB4M2RmYWQxLF8weDRiNmZhYl1dO319KTt9KTt9ZnVuY3Rpb24gJChfMHgyNjAzMzQpe3ZhciBfMHg1OGY4YTc9XzB4M2ZkNjkwO3JldHVybiBfMHgyNjAzMzRbXzB4NThmOGE3KDB4MmQ2KV0oKTt9ZnVuY3Rpb24gZWUoKXt2YXIgXzB4MzNlM2RjPV8weDNmZDY5MCxfMHgyZmY1MTk9c2NyZWVuLF8weDE1ZjJhZD1mdW5jdGlvbihfMHgzNGRjOWEpe3JldHVybiBmKHMoXzB4MzRkYzlhKSxudWxsKTt9LF8weDFjMTVjMz1bXzB4MTVmMmFkKF8weDJmZjUxOVsnd2lkdGgnXSksXzB4MTVmMmFkKF8weDJmZjUxOVtfMHgzM2UzZGMoMHgzYzQpXSldO3JldHVybiBfMHgxYzE1YzNbXzB4MzNlM2RjKDB4MzMwKV0oKVtfMHgzM2UzZGMoMHgzMTApXSgpLF8weDFjMTVjMzt9dmFyIG5lLHRlO2Z1bmN0aW9uIHJlKCl7dmFyIF8weGE3MTgyMz10aGlzO3JldHVybihmdW5jdGlvbigpe2lmKHZvaWQgMHgwPT09dGUpe3ZhciBfMHgxMDliYWE9ZnVuY3Rpb24oKXt2YXIgXzB4NTllMjVhPW9lKCk7aWUoXzB4NTllMjVhKT90ZT1zZXRUaW1lb3V0KF8weDEwOWJhYSwweDljNCk6KG5lPV8weDU5ZTI1YSx0ZT12b2lkIDB4MCk7fTtfMHgxMDliYWEoKTt9fSgpKSxmdW5jdGlvbigpe3JldHVybiBuKF8weGE3MTgyMyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHg0NmQyMDk7cmV0dXJuIHQodGhpcyxmdW5jdGlvbihfMHgyZTVkZDgpe3ZhciBfMHgzODEzNmU9XzB4NGNlZDtzd2l0Y2goXzB4MmU1ZGQ4WydsYWJlbCddKXtjYXNlIDB4MDpyZXR1cm4gaWUoXzB4NDZkMjA5PW9lKCkpP25lP1sweDIscihbXSxuZSwhMHgwKV06QSgpP1sweDQsKF8weDFjNTBiYT1kb2N1bWVudCwoXzB4MWM1MGJhW18weDM4MTM2ZSgweDM3OCldfHxfMHgxYzUwYmFbJ21zRXhpdEZ1bGxzY3JlZW4nXXx8XzB4MWM1MGJhW18weDM4MTM2ZSgweDI0ZSldfHxfMHgxYzUwYmFbXzB4MzgxMzZlKDB4Mzc2KV0pW18weDM4MTM2ZSgweDNlOSldKF8weDFjNTBiYSkpXTpbMHgzLDB4Ml06WzB4MywweDJdO2Nhc2UgMHgxOl8weDJlNWRkOFtfMHgzODEzNmUoMHgzODEpXSgpLF8weDQ2ZDIwOT1vZSgpLF8weDJlNWRkOFtfMHgzODEzNmUoMHgyZTEpXT0weDI7Y2FzZSAweDI6cmV0dXJuIGllKF8weDQ2ZDIwOSl8fChuZT1fMHg0NmQyMDkpLFsweDIsXzB4NDZkMjA5XTt9dmFyIF8weDFjNTBiYTt9KTt9KTt9O31mdW5jdGlvbiBvZSgpe3ZhciBfMHgyYjA0MGE9XzB4M2ZkNjkwLF8weDFkZjFiZT1zY3JlZW47cmV0dXJuW2YoZChfMHgxZGYxYmVbXzB4MmIwNDBhKDB4MzU1KV0pLG51bGwpLGYoZChfMHgxZGYxYmVbXzB4MmIwNDBhKDB4MjIyKV0pLWQoXzB4MWRmMWJlWydhdmFpbFdpZHRoJ10pLWYoZChfMHgxZGYxYmVbXzB4MmIwNDBhKDB4MmE3KV0pLDB4MCksbnVsbCksZihkKF8weDFkZjFiZVsnaGVpZ2h0J10pLWQoXzB4MWRmMWJlW18weDJiMDQwYSgweDI0YSldKS1mKGQoXzB4MWRmMWJlW18weDJiMDQwYSgweDM1NSldKSwweDApLG51bGwpLGYoZChfMHgxZGYxYmVbXzB4MmIwNDBhKDB4MmE3KV0pLG51bGwpXTt9ZnVuY3Rpb24gaWUoXzB4M2EwNjRjKXtmb3IodmFyIF8weGE3ZTU1Nz0weDA7XzB4YTdlNTU3PDB4NDsrK18weGE3ZTU1NylpZihfMHgzYTA2NGNbXzB4YTdlNTU3XSlyZXR1cm4hMHgxO3JldHVybiEweDA7fWZ1bmN0aW9uIGFlKF8weDI2MDdkZSl7dmFyIF8weDEzYzY1ZDtyZXR1cm4gbih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDNkZTJmMyxfMHgyMzA0NGEsXzB4M2JkNGI4LF8weDNhNTBhMSxfMHgyZjIxYmQsXzB4NGJkN2JmLF8weGUxNTQ5ZjtyZXR1cm4gdCh0aGlzLGZ1bmN0aW9uKF8weGNjZGY2MSl7dmFyIF8weDMxMjA2Mz1fMHg0Y2VkO3N3aXRjaChfMHhjY2RmNjFbXzB4MzEyMDYzKDB4MmUxKV0pe2Nhc2UgMHgwOmZvcihfMHgzZGUyZjM9ZG9jdW1lbnQsXzB4MjMwNDRhPV8weDNkZTJmM1tfMHgzMTIwNjMoMHgyOTUpXSgnZGl2JyksXzB4M2JkNGI4PW5ldyBBcnJheShfMHgyNjA3ZGVbJ2xlbmd0aCddKSxfMHgzYTUwYTE9e30sY2UoXzB4MjMwNDRhKSxfMHhlMTU0OWY9MHgwO18weGUxNTQ5ZjxfMHgyNjA3ZGVbXzB4MzEyMDYzKDB4MmU0KV07KytfMHhlMTU0OWYpXzB4MzEyMDYzKDB4MjRiKT09PShfMHgyZjIxYmQ9VChfMHgyNjA3ZGVbXzB4ZTE1NDlmXSkpW18weDMxMjA2MygweDNhYyldJiZfMHgyZjIxYmRbXzB4MzEyMDYzKDB4M2JjKV0oKSxjZShfMHg0YmQ3YmY9XzB4M2RlMmYzW18weDMxMjA2MygweDI5NSldKF8weDMxMjA2MygweDMyZikpKSxfMHg0YmQ3YmZbJ2FwcGVuZENoaWxkJ10oXzB4MmYyMWJkKSxfMHgyMzA0NGFbJ2FwcGVuZENoaWxkJ10oXzB4NGJkN2JmKSxfMHgzYmQ0YjhbXzB4ZTE1NDlmXT1fMHgyZjIxYmQ7XzB4Y2NkZjYxW18weDMxMjA2MygweDJlMSldPTB4MTtjYXNlIDB4MTpyZXR1cm4gXzB4M2RlMmYzW18weDMxMjA2MygweDNjYyldP1sweDMsMHgzXTpbMHg0LG8oMHgzMildO2Nhc2UgMHgyOnJldHVybiBfMHhjY2RmNjFbXzB4MzEyMDYzKDB4MzgxKV0oKSxbMHgzLDB4MV07Y2FzZSAweDM6cmV0dXJuIF8weDNkZTJmM1tfMHgzMTIwNjMoMHgzY2MpXVtfMHgzMTIwNjMoMHgzNjgpXShfMHgyMzA0NGEpLFsweDQsaSgpXTtjYXNlIDB4NDpfMHhjY2RmNjFbJ3NlbnQnXSgpO3RyeXtmb3IoXzB4ZTE1NDlmPTB4MDtfMHhlMTU0OWY8XzB4MjYwN2RlW18weDMxMjA2MygweDJlNCldOysrXzB4ZTE1NDlmKV8weDNiZDRiOFtfMHhlMTU0OWZdW18weDMxMjA2MygweDI1MSldfHwoXzB4M2E1MGExW18weDI2MDdkZVtfMHhlMTU0OWZdXT0hMHgwKTt9ZmluYWxseXtudWxsPT09KF8weDEzYzY1ZD1fMHgyMzA0NGFbXzB4MzEyMDYzKDB4MjIwKV0pfHx2b2lkIDB4MD09PV8weDEzYzY1ZHx8XzB4MTNjNjVkW18weDMxMjA2MygweDM4OCldKF8weDIzMDQ0YSk7fXJldHVyblsweDIsXzB4M2E1MGExXTt9fSk7fSk7fWZ1bmN0aW9uIGNlKF8weDU0MTU1Myl7dmFyIF8weDI4OTkzZT1fMHgzZmQ2OTA7XzB4NTQxNTUzW18weDI4OTkzZSgweDM3NyldW18weDI4OTkzZSgweDNkYildKCd2aXNpYmlsaXR5JywnaGlkZGVuJyxfMHgyODk5M2UoMHgyYzMpKSxfMHg1NDE1NTNbXzB4Mjg5OTNlKDB4Mzc3KV1bXzB4Mjg5OTNlKDB4M2RiKV0oXzB4Mjg5OTNlKDB4MzJhKSxfMHgyODk5M2UoMHgzNjEpLF8weDI4OTkzZSgweDJjMykpO31mdW5jdGlvbiB1ZShfMHgxMDEyNDApe3ZhciBfMHgzYTUwOGI9XzB4M2ZkNjkwO3JldHVybiBtYXRjaE1lZGlhKF8weDNhNTA4YigweDJmZClbXzB4M2E1MDhiKDB4Mzk2KV0oXzB4MTAxMjQwLCcpJykpW18weDNhNTA4YigweDJkZildO31mdW5jdGlvbiBsZShfMHgxNDVmYWUpe3ZhciBfMHg1NzYwMzM9XzB4M2ZkNjkwO3JldHVybiBtYXRjaE1lZGlhKF8weDU3NjAzMygweDJjNSlbXzB4NTc2MDMzKDB4Mzk2KV0oXzB4MTQ1ZmFlLCcpJykpW18weDU3NjAzMygweDJkZildO31mdW5jdGlvbiBzZShfMHg0ZTA3MDcpe3ZhciBfMHgyNDdjNGM9XzB4M2ZkNjkwO3JldHVybiBtYXRjaE1lZGlhKF8weDI0N2M0YygweDJkYSlbXzB4MjQ3YzRjKDB4Mzk2KV0oXzB4NGUwNzA3LCcpJykpWydtYXRjaGVzJ107fWZ1bmN0aW9uIGRlKF8weDI1OTU0Zil7dmFyIF8weDU1N2U4Zj1fMHgzZmQ2OTA7cmV0dXJuIG1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOlx4MjAnWydjb25jYXQnXShfMHgyNTk1NGYsJyknKSlbXzB4NTU3ZThmKDB4MmRmKV07fWZ1bmN0aW9uIGZlKF8weDViZTAyYil7dmFyIF8weDEyMmQyMT1fMHgzZmQ2OTA7cmV0dXJuIG1hdGNoTWVkaWEoXzB4MTIyZDIxKDB4MjdmKVtfMHgxMjJkMjEoMHgzOTYpXShfMHg1YmUwMmIsJyknKSlbJ21hdGNoZXMnXTt9ZnVuY3Rpb24gbWUoXzB4NTM2ZmZiKXt2YXIgXzB4MWI0NWVjPV8weDNmZDY5MDtyZXR1cm4gbWF0Y2hNZWRpYSgnKGR5bmFtaWMtcmFuZ2U6XHgyMCdbXzB4MWI0NWVjKDB4Mzk2KV0oXzB4NTM2ZmZiLCcpJykpW18weDFiNDVlYygweDJkZildO312YXIgdmU9TWF0aCxoZT1mdW5jdGlvbigpe3JldHVybiAweDA7fSxwZT17J2RlZmF1bHQnOltdLCdhcHBsZSc6W3snZm9udCc6XzB4M2ZkNjkwKDB4MjU4KX1dLCdzZXJpZic6W3snZm9udEZhbWlseSc6XzB4M2ZkNjkwKDB4MmUwKX1dLCdzYW5zJzpbeydmb250RmFtaWx5Jzonc2Fucy1zZXJpZid9XSwnbW9ubyc6W3snZm9udEZhbWlseSc6J21vbm9zcGFjZSd9XSwnbWluJzpbeydmb250U2l6ZSc6XzB4M2ZkNjkwKDB4MzM1KX1dLCdzeXN0ZW0nOlt7J2ZvbnRGYW1pbHknOl8weDNmZDY5MCgweDJhMSl9XX07ZnVuY3Rpb24gYmUoXzB4ZGRkM2Mpe3ZhciBfMHgxNTQ4NWI9XzB4M2ZkNjkwO2lmKF8weGRkZDNjIGluc3RhbmNlb2YgRXJyb3Ipe2lmKF8weDE1NDg1YigweDM0YSk9PT1fMHhkZGQzY1snbmFtZSddKXtpZigvXGJmcm9tXGIuKlxiaW5zZWN1cmVcYi9pW18weDE1NDg1YigweDMyNildKF8weGRkZDNjW18weDE1NDg1YigweDJiMyldKSlyZXR1cm4tMHgyO2lmKC9cYmRpZmZlcmVudFxiLipcYm9yaWdpblxiLip0b3AubGV2ZWxcYi4qXGJmcmFtZVxiL2lbXzB4MTU0ODViKDB4MzI2KV0oXzB4ZGRkM2NbXzB4MTU0ODViKDB4MmIzKV0pKXJldHVybi0weDM7fWlmKF8weDE1NDg1YigweDM1MCk9PT1fMHhkZGQzY1tfMHgxNTQ4NWIoMHgyYzEpXSYmL1xidGhpcmQucGFydHkgaWZyYW1lcz8uKlxibm90LmFsbG93ZWRcYi9pW18weDE1NDg1YigweDMyNildKF8weGRkZDNjW18weDE1NDg1YigweDJiMyldKSlyZXR1cm4tMHgzO310aHJvdyBfMHhkZGQzYzt9dmFyIHllPW5ldyBTZXQoWzB4MmEwMCwweGIyMSwweGI0NCwweGI0NSwweGI0NiwweGI3MCwweGI3MSwweGI3MiwweGI3MywweGI3NCwweGI5MCwweGI5MSwweGI5MiwweGI5MywweGI5NCwweGI5NSwweGI5NiwweGI5NywweGI5OCwweGJhMiwweGJkMCwweGJlMiwweGMxMCwweGMxMSwweGMyMiwweGMyMywweDgwMDUsMHg4MDA5LDB4ODAwOSwweDgwMzcsMHg4MDM4LDB4ODBhOCwweDgwYTksMHg4MGFhLDB4ODBhYiwweDgwYzgsMHg4MGM5LDB4ODBjYSwweDgwY2IsMHhjZjUsMHg4MTkyLDB4ZDA1LDB4ZDMzLDB4ZDNhLDB4ODQ2ZCwweDg0NmUsMHg4NGUwLDB4ODRlOCwweDg1MWMsMHhkNTAsMHhkNTIsMHhkNTMsMHhkNTQsMHhkNTUsMHhkNTYsMHhkNTcsMHg4NmEzLDB4ODgwMCwweDg4MDEsMHg4ODAyLDB4ODgwMywweDg4M2QsMHg4ODY5LDB4ODg3MiwweDhiNGMsMHg4YjRkLDB4OGI4YywweDhiOWEsMHg4YjliLDB4OGNhMywweDhjYTQsMHg4Y2E1LDB4OGRmYiwweDhkZmMsMHg4ZGZkLDB4OTI0MCwweDkyNDEsMHg5MjQzLDB4MWYwMCwweDFmMDEsMHgxZjAyXSksZ2U9bmV3IFNldChbMHg4NGZmLDB4OGI4YiwweDhjZGYsMHg4ODI0LDB4ODgyNSwweDg4MjYsMHg4NWI1LDB4OGUyOCwweDhmYmIsMHg5NjMxXSksd2U9W18weDNmZDY5MCgweDJiYSksXzB4M2ZkNjkwKDB4MjZhKV0sTGU9W18weDNmZDY5MCgweDJjNyksXzB4M2ZkNjkwKDB4MzViKSwnSElHSF9GTE9BVCcsXzB4M2ZkNjkwKDB4Mjk4KSxfMHgzZmQ2OTAoMHgzYzYpLCdISUdIX0lOVCddO2Z1bmN0aW9uIGtlKF8weDFiOGVkMil7dmFyIF8weDY1OTI2ZD1fMHgzZmQ2OTA7aWYoXzB4MWI4ZWQyW18weDY1OTI2ZCgweDJhMCldKXJldHVybiBfMHgxYjhlZDJbXzB4NjU5MjZkKDB4MmEwKV1bXzB4NjU5MjZkKDB4MWYxKV07dmFyIF8weDU4M2ZlOCxfMHg0OTM1OTY9ZG9jdW1lbnRbXzB4NjU5MjZkKDB4Mjk1KV0oXzB4NjU5MjZkKDB4MzA0KSk7XzB4NDkzNTk2W18weDY1OTI2ZCgweDI4YyldKCd3ZWJnbENyZWF0ZUNvbnRleHRFcnJvcicsZnVuY3Rpb24oKXtyZXR1cm4gXzB4NTgzZmU4PXZvaWQgMHgwO30pO2Zvcih2YXIgXzB4NDQwMjc0PTB4MCxfMHg0ZDMxODA9W18weDY1OTI2ZCgweDJhMCksXzB4NjU5MjZkKDB4M2IxKV07XzB4NDQwMjc0PF8weDRkMzE4MFsnbGVuZ3RoJ107XzB4NDQwMjc0Kyspe3ZhciBfMHgzNzdjNmI9XzB4NGQzMTgwW18weDQ0MDI3NF07dHJ5e18weDU4M2ZlOD1fMHg0OTM1OTZbXzB4NjU5MjZkKDB4MjQ5KV0oXzB4Mzc3YzZiKTt9Y2F0Y2goXzB4MTQ4MjA1KXt9aWYoXzB4NTgzZmU4KWJyZWFrO31yZXR1cm4gXzB4MWI4ZWQyW18weDY1OTI2ZCgweDJhMCldPXsnY29udGV4dCc6XzB4NTgzZmU4fSxfMHg1ODNmZTg7fWZ1bmN0aW9uIFZlKF8weDc2MDdlYyxfMHgxOWI1YjYsXzB4MTVlMzBiKXt2YXIgXzB4MTgwM2NiPV8weDNmZDY5MCxfMHgyMmRlOWM9XzB4NzYwN2VjW18weDE4MDNjYigweDM2NildKF8weDc2MDdlY1tfMHgxOWI1YjZdLF8weDc2MDdlY1tfMHgxNWUzMGJdKTtyZXR1cm4gXzB4MjJkZTljP1tfMHgyMmRlOWNbJ3JhbmdlTWluJ10sXzB4MjJkZTljWydyYW5nZU1heCddLF8weDIyZGU5Y1tfMHgxODAzY2IoMHgyNWQpXV06W107fWZ1bmN0aW9uIFNlKF8weDM0YmUwMSl7dmFyIF8weDExOTBiNj1fMHgzZmQ2OTA7cmV0dXJuIE9iamVjdFtfMHgxMTkwYjYoMHgyMTQpXShfMHgzNGJlMDFbJ19fcHJvdG9fXyddKVtfMHgxMTkwYjYoMHgzMDYpXShXZSk7fWZ1bmN0aW9uIFdlKF8weDNkYjBjMyl7dmFyIF8weDIwM2ViMD1fMHgzZmQ2OTA7cmV0dXJuIF8weDIwM2ViMCgweDNlYik9PXR5cGVvZiBfMHgzZGIwYzMmJiFfMHgzZGIwYzNbXzB4MjAzZWIwKDB4MjAxKV0oL1teQS1aMC05X3hdLyk7fWZ1bmN0aW9uIFplKCl7cmV0dXJuIEMoKTt9ZnVuY3Rpb24geGUoXzB4Mjk3ZTYxKXtyZXR1cm4nZnVuY3Rpb24nPT10eXBlb2YgXzB4Mjk3ZTYxWydnZXRQYXJhbWV0ZXInXTt9dmFyIE1lPXsnZm9udHMnOmZ1bmN0aW9uKCl7dmFyIF8weGNlNTNjMD10aGlzO3JldHVybiBKKGZ1bmN0aW9uKF8weDJkYTljNyxfMHgxMzJjOWMpe3ZhciBfMHgzMmJiNWU9XzB4NGNlZCxfMHgzZDM0ZWY9XzB4MTMyYzljW18weDMyYmI1ZSgweDI3YyldO3JldHVybiBuKF8weGNlNTNjMCx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHgxMzM0MjcsXzB4MzBkOTFiLF8weDMwNDUxMyxfMHgzZDc2NWIsXzB4MmIxOWQ3LF8weDFiM2FmMCxfMHgyNjNkMjksXzB4M2YyMTY4LF8weDNjOWVjOSxfMHgxMjdkN2UsXzB4MWZkY2Y5O3JldHVybiB0KHRoaXMsZnVuY3Rpb24oXzB4MmJmZGEzKXt2YXIgXzB4YWVkNTEzPV8weDRjZWQ7c3dpdGNoKF8weDJiZmRhM1tfMHhhZWQ1MTMoMHgyZTEpXSl7Y2FzZSAweDA6cmV0dXJuKF8weDEzMzQyNz1fMHgzZDM0ZWZbXzB4YWVkNTEzKDB4M2NjKV0pW18weGFlZDUxMygweDM3NyldW18weGFlZDUxMygweDIxMSldPSc0OHB4JywoXzB4MzBkOTFiPV8weDNkMzRlZltfMHhhZWQ1MTMoMHgyOTUpXShfMHhhZWQ1MTMoMHgzMmYpKSlbJ3N0eWxlJ11bXzB4YWVkNTEzKDB4M2RiKV0oJ3Zpc2liaWxpdHknLF8weGFlZDUxMygweDI2YiksJ2ltcG9ydGFudCcpLF8weDMwNDUxMz17fSxfMHgzZDc2NWI9e30sXzB4MmIxOWQ3PWZ1bmN0aW9uKF8weDIwNWFjNSl7dmFyIF8weDU5NWNkZj1fMHhhZWQ1MTMsXzB4MzUzNTUyPV8weDNkMzRlZltfMHg1OTVjZGYoMHgyOTUpXShfMHg1OTVjZGYoMHgzNzIpKSxfMHgxNzFlNmQ9XzB4MzUzNTUyW18weDU5NWNkZigweDM3NyldO3JldHVybiBfMHgxNzFlNmRbXzB4NTk1Y2RmKDB4M2UzKV09J2Fic29sdXRlJyxfMHgxNzFlNmRbXzB4NTk1Y2RmKDB4M2Q1KV09JzAnLF8weDE3MWU2ZFsnbGVmdCddPScwJyxfMHgxNzFlNmRbXzB4NTk1Y2RmKDB4MmE4KV09XzB4MjA1YWM1LF8weDM1MzU1MltfMHg1OTVjZGYoMHgxZjUpXT1fMHg1OTVjZGYoMHgzNWYpLF8weDMwZDkxYltfMHg1OTVjZGYoMHgzNjgpXShfMHgzNTM1NTIpLF8weDM1MzU1Mjt9LF8weDFiM2FmMD1mdW5jdGlvbihfMHgyNzYwNCxfMHg1NjgzNDEpe3ZhciBfMHgzNmJlMjY9XzB4YWVkNTEzO3JldHVybiBfMHgyYjE5ZDcoJ1x4MjcnW18weDM2YmUyNigweDM5NildKF8weDI3NjA0LCdceDI3LCcpW18weDM2YmUyNigweDM5NildKF8weDU2ODM0MSkpO30sXzB4MjYzZDI5PWZ1bmN0aW9uKCl7dmFyIF8weDFmODEzND1fMHhhZWQ1MTM7Zm9yKHZhciBfMHg0N2VkNDQ9e30sXzB4NWNjOTM5PWZ1bmN0aW9uKF8weDUyZWE5OCl7XzB4NDdlZDQ0W18weDUyZWE5OF09VVsnbWFwJ10oZnVuY3Rpb24oXzB4MTU0ZWRiKXtyZXR1cm4gXzB4MWIzYWYwKF8weDUyZWE5OCxfMHgxNTRlZGIpO30pO30sXzB4M2Y1NDZkPTB4MCxfMHg1N2U1NmY9UTtfMHgzZjU0NmQ8XzB4NTdlNTZmW18weDFmODEzNCgweDJlNCldO18weDNmNTQ2ZCsrKXtfMHg1Y2M5MzkoXzB4NTdlNTZmW18weDNmNTQ2ZF0pO31yZXR1cm4gXzB4NDdlZDQ0O30sXzB4M2YyMTY4PWZ1bmN0aW9uKF8weDI4NjdkYSl7dmFyIF8weDU5YjY2Mz1fMHhhZWQ1MTM7cmV0dXJuIFVbXzB4NTliNjYzKDB4M2VjKV0oZnVuY3Rpb24oXzB4MjlmY2NlLF8weDUwOTdmYyl7dmFyIF8weDFhNGM1Mj1fMHg1OWI2NjM7cmV0dXJuIF8weDI4NjdkYVtfMHg1MDk3ZmNdW18weDFhNGM1MigweDI1MyldIT09XzB4MzA0NTEzW18weDI5ZmNjZV18fF8weDI4NjdkYVtfMHg1MDk3ZmNdW18weDFhNGM1MigweDIyOSldIT09XzB4M2Q3NjViW18weDI5ZmNjZV07fSk7fSxfMHgzYzllYzk9KGZ1bmN0aW9uKCl7dmFyIF8weDVhMjRlYj1fMHhhZWQ1MTM7cmV0dXJuIFVbXzB4NWEyNGViKDB4M2JlKV0oXzB4MmIxOWQ3KTt9KCkpLF8weDEyN2Q3ZT1fMHgyNjNkMjkoKSxfMHgxMzM0MjdbJ2FwcGVuZENoaWxkJ10oXzB4MzBkOTFiKSxbMHg0LGkoKV07Y2FzZSAweDE6Zm9yKF8weDJiZmRhM1snc2VudCddKCksXzB4MWZkY2Y5PTB4MDtfMHgxZmRjZjk8VVtfMHhhZWQ1MTMoMHgyZTQpXTtfMHgxZmRjZjkrKylfMHgzMDQ1MTNbVVtfMHgxZmRjZjldXT1fMHgzYzllYzlbXzB4MWZkY2Y5XVtfMHhhZWQ1MTMoMHgyNTMpXSxfMHgzZDc2NWJbVVtfMHgxZmRjZjldXT1fMHgzYzllYzlbXzB4MWZkY2Y5XVtfMHhhZWQ1MTMoMHgyMjkpXTtyZXR1cm5bMHgyLFFbJ2ZpbHRlciddKGZ1bmN0aW9uKF8weDE1OTQ5ZCl7cmV0dXJuIF8weDNmMjE2OChfMHgxMjdkN2VbXzB4MTU5NDlkXSk7fSldO319KTt9KTt9KTt9LCdkb21CbG9ja2Vycyc6ZnVuY3Rpb24oXzB4Mzc1YzcxKXt2YXIgXzB4MjY2Y2ZiPV8weDNmZDY5MCxfMHgzODFjNGU9KHZvaWQgMHgwPT09XzB4Mzc1YzcxP3t9Ol8weDM3NWM3MSlbXzB4MjY2Y2ZiKDB4MzdiKV07cmV0dXJuIG4odGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHgzYzQzMzcsXzB4Mjk4YTZlLF8weDFiNDBmMCxfMHg4MjYyYzQsXzB4MWVlZDg0O3JldHVybiB0KHRoaXMsZnVuY3Rpb24oXzB4MjhmODk3KXt2YXIgXzB4NWE4NjQ0PV8weDRjZWQ7c3dpdGNoKF8weDI4Zjg5N1tfMHg1YTg2NDQoMHgyZTEpXSl7Y2FzZSAweDA6cmV0dXJuIFgoKXx8TigpPyhfMHgzYTE1NmE9YXRvYixfMHgzYzQzMzc9eydhYnBJbmRvJzpbXzB4NWE4NjQ0KDB4MjZlKSxfMHg1YTg2NDQoMHgxZTYpLCcjU2lkZWJhcklrbGFuLXdyYXBwZXInLF8weDVhODY0NCgweDNjOCksXzB4M2ExNTZhKCdJMEp2ZUMxQ1lXNXVaWEl0WVdSeicpXSwnYWJwdm4nOltfMHg1YTg2NDQoMHgyOTQpLF8weDVhODY0NCgweDFmNCksXzB4M2ExNTZhKCdMbU5zYjNObExXRmtjdz09JyksJ1tpZF49XHgyMmJuX2JvdHRvbV9maXhlZF9ceDIyXScsXzB4NWE4NjQ0KDB4MzAwKV0sJ2FkQmxvY2tGaW5sYW5kJzpbXzB4NWE4NjQ0KDB4M2YxKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MjgyKSksXzB4NWE4NjQ0KDB4MzA5KSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzljKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDM2YykpXSwnYWRCbG9ja1BlcnNpYW4nOltfMHg1YTg2NDQoMHgzNjUpLCcua2FkcicsJ1RBQkxFW3dpZHRoPVx4MjIxNDBweFx4MjJdJywnI2RpdkFnYWhpJyxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MjMwKSldLCdhZEJsb2NrV2FybmluZ1JlbW92YWwnOltfMHg1YTg2NDQoMHgyODcpLF8weDVhODY0NCgweDM5YSksXzB4NWE4NjQ0KDB4MzRmKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzZlKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDMxYSkpXSwnYWRHdWFyZEFubm95YW5jZXMnOltfMHg1YTg2NDQoMHgzNDMpLF8weDVhODY0NCgweDI4NSksXzB4NWE4NjQ0KDB4MjZjKSxfMHg1YTg2NDQoMHgzMmUpLF8weDVhODY0NCgweDM1NyldLCdhZEd1YXJkQmFzZSc6W18weDVhODY0NCgweDIwZCksXzB4M2ExNTZhKF8weDVhODY0NCgweDNjOSkpLF8weDNhMTU2YSgnSTJKaGJtNWxjbVpzYjJGME1qST0nKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MmU2KSksXzB4M2ExNTZhKF8weDVhODY0NCgweDJhNSkpXSwnYWRHdWFyZENoaW5lc2UnOltfMHgzYTE1NmEoJ0xscHBYMkZrWDJGZlNBPT0nKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MmMwKSksXzB4NWE4NjQ0KDB4MzhmKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzkxKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDIxMikpXSwnYWRHdWFyZEZyZW5jaCc6W18weDVhODY0NCgweDM3MSksXzB4M2ExNTZhKCdMbUZrTFdSbGMydDBiM0F0Y21WamRHRnVaMnhsJyksXzB4NWE4NjQ0KDB4MzliKSxfMHg1YTg2NDQoMHgyZDcpLF8weDNhMTU2YSgnTG1Ga2MxOWlZVzQ9JyldLCdhZEd1YXJkR2VybWFuJzpbXzB4NWE4NjQ0KDB4M2QwKV0sJ2FkR3VhcmRKYXBhbmVzZSc6W18weDVhODY0NCgweDIwNiksXzB4M2ExNTZhKF8weDVhODY0NCgweDJkMikpLF8weDNhMTU2YSgnTGw5d2IzQkpibDlwYm1acGJtbDBaVjloWkE9PScpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgxZWQpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzgyKSldLCdhZEd1YXJkTW9iaWxlJzpbXzB4M2ExNTZhKF8weDVhODY0NCgweDJjNikpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgzNjMpKSxfMHg1YTg2NDQoMHgzMjQpLF8weDVhODY0NCgweDI3NCksXzB4M2ExNTZhKF8weDVhODY0NCgweDJiNikpXSwnYWRHdWFyZFJ1c3NpYW4nOltfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzdlKSksXzB4M2ExNTZhKCdMbkpsWTJ4aGJXRT0nKSxfMHg1YTg2NDQoMHgyNDgpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyYjIpKSxfMHg1YTg2NDQoMHgxZjkpXSwnYWRHdWFyZFNvY2lhbCc6W18weDNhMTU2YShfMHg1YTg2NDQoMHgzODcpKSxfMHgzYTE1NmEoJ1lWdG9jbVZtWGowaUx5OTBaV3hsWjNKaGJTNXRaUzl6YUdGeVpTOTFjbXcvSWwwPScpLF8weDVhODY0NCgweDJkMCksJyNpbmxpbmVTaGFyZScsXzB4NWE4NjQ0KDB4M2EyKV0sJ2FkR3VhcmRTcGFuaXNoUG9ydHVndWVzZSc6W18weDVhODY0NCgweDJkMyksXzB4NWE4NjQ0KDB4MjI0KSxfMHg1YTg2NDQoMHgzMDUpLF8weDVhODY0NCgweDIxMCksJy5jbnQtcHVibGknXSwnYWRHdWFyZFRyYWNraW5nUHJvdGVjdGlvbic6WycjcW9vLWNvdW50ZXInLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyY2UpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4M2IzKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDM2MCkpLCcjdG9wMTAwY291bnRlciddLCdhZEd1YXJkVHVya2lzaCc6W18weDVhODY0NCgweDM0OSksXzB4M2ExNTZhKF8weDVhODY0NCgweDNmMCkpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyMjgpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzVkKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDI5OSkpXSwnYnVsZ2FyaWFuJzpbXzB4M2ExNTZhKF8weDVhODY0NCgweDNlYSkpLF8weDVhODY0NCgweDI1NiksJy5sYXBuaS1wb3Atb3ZlcicsJyN4ZW5pdW1faG90X29mZmVycyddLCdlYXN5TGlzdCc6W18weDVhODY0NCgweDI4MCksXzB4M2ExNTZhKF8weDVhODY0NCgweDJkOCkpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyZGMpKSxfMHg1YTg2NDQoMHgyYzIpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgzMzQpKV0sJ2Vhc3lMaXN0Q2hpbmEnOltfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MmZhKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDMyMykpLCcjdGFvdGFvbGUnLCcjYWFmb290LnRvcF9ib3gnLCcuY2ZhX3BvcHVwJ10sJ2Vhc3lMaXN0Q29va2llJzpbXzB4NWE4NjQ0KDB4MmVmKSxfMHg1YTg2NDQoMHgzZjMpLF8weDVhODY0NCgweDIyZCksXzB4M2ExNTZhKCdMbUYzTFdOdmIydHBaUzFpWVc1dVpYST0nKSxfMHg1YTg2NDQoMHgyM2EpXSwnZWFzeUxpc3RDemVjaFNsb3Zhayc6W18weDVhODY0NCgweDNhNiksXzB4M2ExNTZhKF8weDVhODY0NCgweDIzNSkpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyYmIpKSxfMHg1YTg2NDQoMHgyNDQpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgzMmQpKV0sJ2Vhc3lMaXN0RHV0Y2gnOltfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzJjKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDM4OSkpLF8weDVhODY0NCgweDIwYiksXzB4M2ExNTZhKCdZVnRvY21WbVhqMGlhSFIwY0hNNkx5OTRiSFIxWW1VdWJtd3ZZMnhwWTJzdklsMD0nKSxfMHg1YTg2NDQoMHgzZTApXSwnZWFzeUxpc3RHZXJtYW55JzpbJyNTU3BvdElNUG9wU2xpZGVyJyxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MmI3KSksXzB4M2ExNTZhKF8weDVhODY0NCgweDI3NykpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgzYjgpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzY5KSldLCdlYXN5TGlzdEl0YWx5JzpbXzB4M2ExNTZhKF8weDVhODY0NCgweDM3ZCkpLF8weDVhODY0NCgweDIyNyksXzB4M2ExNTZhKCdZVnRvY21WbVhqMGlhSFIwY0RvdkwyRm1abWxzYVdGNmFXOXVhV0ZrY3k1emJtRnBMbWwwTHlKZCcpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgzNWMpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MjgzKSldLCdlYXN5TGlzdExpdGh1YW5pYSc6W18weDNhMTU2YShfMHg1YTg2NDQoMHgzZjQpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MjkyKSksXzB4M2ExNTZhKCdhVzFuVzJGc2REMGlVbVZyYkdGdGFXNXBjeUJ6YTNsa1pXeHBjeUpkJyksXzB4M2ExNTZhKCdhVzFuVzJGc2REMGlSR1ZrYVd0MWIzUnBMbXgwSUhObGNuWmxjbWxoYVNKZCcpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyZTcpKV0sJ2VzdG9uaWFuJzpbXzB4M2ExNTZhKF8weDVhODY0NCgweDNjNSkpXSwnZmFuYm95QW5ub3lhbmNlcyc6WycjYWMtbHJlLXBsYXllcicsXzB4NWE4NjQ0KDB4MzJiKSxfMHg1YTg2NDQoMHgyMjYpLF8weDVhODY0NCgweDM0ZSksXzB4NWE4NjQ0KDB4Mjc2KV0sJ2ZhbmJveUFudGlGYWNlYm9vayc6W18weDVhODY0NCgweDI3ZSldLCdmYW5ib3lFbmhhbmNlZFRyYWNrZXJzJzpbXzB4NWE4NjQ0KDB4MmY2KSxfMHg1YTg2NDQoMHgzY2QpLF8weDVhODY0NCgweDJjYyksXzB4NWE4NjQ0KDB4MWZkKSxfMHg1YTg2NDQoMHgyMDQpXSwnZmFuYm95U29jaWFsJzpbXzB4NWE4NjQ0KDB4MjVlKSxfMHg1YTg2NDQoMHgyMWQpLF8weDVhODY0NCgweDMwZiksXzB4NWE4NjQ0KDB4MjlkKSwnLmNvbW11bml0eV9fc29jaWFsLWRlc2MnXSwnZnJlbGx3aXRTd2VkaXNoJzpbXzB4M2ExNTZhKF8weDVhODY0NCgweDM3NSkpLF8weDNhMTU2YSgnWVZ0b2NtVm1LajBpWkc5cmRHOXlMWE5sTG05dVpXeHBibXN1YldVaVhRPT0nKSxfMHg1YTg2NDQoMHgyNzEpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyMmYpKSxfMHg1YTg2NDQoMHgyOGIpXSwnZ3JlZWtBZEJsb2NrJzpbXzB4M2ExNTZhKF8weDVhODY0NCgweDMwZSkpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgzMzMpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4M2U0KSksXzB4NWE4NjQ0KDB4MjRmKSxfMHg1YTg2NDQoMHgzNjQpXSwnaHVuZ2FyaWFuJzpbJyNjZW1wX2RvYm96JyxfMHg1YTg2NDQoMHgzZGYpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyM2MpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MjQ1KSksJyNoaXJkZXRlc2VrX2JveCddLCdpRG9udENhcmVBYm91dENvb2tpZXMnOltfMHg1YTg2NDQoMHgyY2EpLF8weDVhODY0NCgweDMzNiksXzB4NWE4NjQ0KDB4MjQzKSxfMHg1YTg2NDQoMHgzOGIpLCcjc3RpY2t5Q29va2llQmFyJ10sJ2ljZWxhbmRpY0FicCc6W18weDNhMTU2YShfMHg1YTg2NDQoMHgzNDApKV0sJ2xhdHZpYW4nOltfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MjJjKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDFmNykpXSwnbGlzdEtyJzpbXzB4M2ExNTZhKF8weDVhODY0NCgweDIwZSkpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgzY2EpKSxfMHgzYTE1NmEoJ1lWdG9jbVZtS2owaUx5OWhaSFl1YVcxaFpISmxjQzVqYnk1cmNpOGlYUT09JyksXzB4M2ExNTZhKF8weDVhODY0NCgweDFmZikpLCcucmV2ZW51ZV91bml0X2l0ZW0uZGFibGUnXSwnbGlzdGVBcic6W18weDNhMTU2YShfMHg1YTg2NDQoMHgzOTIpKSwnLnJpZ2h0LWFuZC1sZWZ0LXNwb25zZXJzJyxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MjUyKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDI2NSkpLF8weDNhMTU2YSgnWVZ0b2NtVm1LajBpWkhWaWFYcDZiR1V1WTI5dEwyRnlMejkxZEcxZmMyOTFjbU5sUFNKZCcpXSwnbGlzdGVGcic6W18weDNhMTU2YShfMHg1YTg2NDQoMHgyOWYpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MjliKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDIzMSkpLF8weDVhODY0NCgweDMwOCksXzB4NWE4NjQ0KDB4MjBmKV0sJ29mZmljaWFsUG9saXNoJzpbJyNjZW5lby1wbGFjZWhvbGRlci1jZW5lby0xMicsXzB4M2ExNTZhKF8weDVhODY0NCgweDM1YSkpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyMWYpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzQ2KSksXzB4M2ExNTZhKF8weDVhODY0NCgweDI2MykpXSwncm8nOltfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MjczKSksXzB4M2ExNTZhKF8weDVhODY0NCgweDFlMikpLF8weDNhMTU2YShfMHg1YTg2NDQoMHgyMTYpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzE5KSksXzB4NWE4NjQ0KDB4MjkzKV0sJ3J1QWQnOltfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzE2KSksXzB4M2ExNTZhKF8weDVhODY0NCgweDMxZCkpLF8weDNhMTU2YSgnWVZ0b2NtVm1LajBpT2k4dlkyaHBhMmxrYVd0cExuSjFJbDA9JyksXzB4NWE4NjQ0KDB4M2FkKSxfMHg1YTg2NDQoMHgyMmEpXSwndGhhaUFkcyc6WydhW2hyZWYqPW1hY2F1LXV0YS1wb3B1cF0nLF8weDNhMTU2YShfMHg1YTg2NDQoMHgzZGMpKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MzNjKSksJy5idW1xJyxfMHg1YTg2NDQoMHgyMjUpXSwnd2ViQW5ub3lhbmNlc1VsdHJhbGlzdCc6W18weDVhODY0NCgweDJiYyksXzB4NWE4NjQ0KDB4MmEzKSxfMHgzYTE1NmEoXzB4NWE4NjQ0KDB4MmQxKSksJy56ZXJnbmV0LXJlY29tbWVuZCcsXzB4NWE4NjQ0KDB4MzcwKV19LF8weDI5OGE2ZT1PYmplY3RbJ2tleXMnXShfMHgzYzQzMzcpLFsweDQsYWUoKF8weDFlZWQ4ND1bXSlbXzB4NWE4NjQ0KDB4Mzk2KV1bXzB4NWE4NjQ0KDB4MjQ3KV0oXzB4MWVlZDg0LF8weDI5OGE2ZVtfMHg1YTg2NDQoMHgzYmUpXShmdW5jdGlvbihfMHgxOTIxZmIpe3JldHVybiBfMHgzYzQzMzdbXzB4MTkyMWZiXTt9KSkpXSk6WzB4Mix2b2lkIDB4MF07Y2FzZSAweDE6cmV0dXJuIF8weDFiNDBmMD1fMHgyOGY4OTdbXzB4NWE4NjQ0KDB4MzgxKV0oKSxfMHgzODFjNGUmJmZ1bmN0aW9uKF8weDFmNzRmYyxfMHgxMTQ3ZDUpe3ZhciBfMHgxMWYwM2Q9XzB4NWE4NjQ0O2Zvcih2YXIgXzB4NTJhY2Q2PSdET01ceDIwYmxvY2tlcnNceDIwZGVidWc6XHgwYWBgYCcsXzB4MjY2ZjI5PTB4MCxfMHgxOThmMTQ9T2JqZWN0W18weDExZjAzZCgweDIxNCldKF8weDFmNzRmYyk7XzB4MjY2ZjI5PF8weDE5OGYxNFtfMHgxMWYwM2QoMHgyZTQpXTtfMHgyNjZmMjkrKyl7dmFyIF8weDQzZWVjMz1fMHgxOThmMTRbXzB4MjY2ZjI5XTtfMHg1MmFjZDYrPSdceDBhJ1tfMHgxMWYwM2QoMHgzOTYpXShfMHg0M2VlYzMsJzonKTtmb3IodmFyIF8weDIxNWY1Mz0weDAsXzB4MjdlMzU5PV8weDFmNzRmY1tfMHg0M2VlYzNdO18weDIxNWY1MzxfMHgyN2UzNTlbXzB4MTFmMDNkKDB4MmU0KV07XzB4MjE1ZjUzKyspe3ZhciBfMHg0YWYwYmQ9XzB4MjdlMzU5W18weDIxNWY1M107XzB4NTJhY2Q2Kz1fMHgxMWYwM2QoMHgzMWMpW18weDExZjAzZCgweDM5NildKF8weDExNDdkNVtfMHg0YWYwYmRdPyfwn5qrJzon4p6h77iPJywnXHgyMCcpWydjb25jYXQnXShfMHg0YWYwYmQpO319Y29uc29sZVtfMHgxMWYwM2QoMHgzYWYpXSgnJ1tfMHgxMWYwM2QoMHgzOTYpXShfMHg1MmFjZDYsJ1x4MGFgYGAnKSk7fShfMHgzYzQzMzcsXzB4MWI0MGYwKSwoXzB4ODI2MmM0PV8weDI5OGE2ZVsnZmlsdGVyJ10oZnVuY3Rpb24oXzB4NWE4MDFhKXt2YXIgXzB4YTg1MjhhPV8weDVhODY0NCxfMHg1MmY3NGE9XzB4M2M0MzM3W18weDVhODAxYV07cmV0dXJuIG0oXzB4NTJmNzRhWydtYXAnXShmdW5jdGlvbihfMHg0M2UyZTcpe3JldHVybiBfMHgxYjQwZjBbXzB4NDNlMmU3XTt9KSk+MC42Kl8weDUyZjc0YVtfMHhhODUyOGEoMHgyZTQpXTt9KSlbXzB4NWE4NjQ0KDB4MzMwKV0oKSxbMHgyLF8weDgyNjJjNF07fXZhciBfMHgzYTE1NmE7fSk7fSk7fSwnZm9udFByZWZlcmVuY2VzJzpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihfMHg0MmQyYzcsXzB4MTZjZmJhKXt2YXIgXzB4MzFlZWZiPV8weDRjZWQ7cmV0dXJuIHZvaWQgMHgwPT09XzB4MTZjZmJhJiYoXzB4MTZjZmJhPTB4ZmEwKSxKKGZ1bmN0aW9uKF8weDNjYzVhMCxfMHg1MzNkYjYpe3ZhciBfMHg1YjMyOTY9XzB4NGNlZCxfMHgxNjE5ODc9XzB4NTMzZGI2W18weDViMzI5NigweDI3YyldLF8weDE4YWY4ZD1fMHgxNjE5ODdbJ2JvZHknXSxfMHg1YWZlNTg9XzB4MThhZjhkW18weDViMzI5NigweDM3NyldO18weDVhZmU1OFtfMHg1YjMyOTYoMHgyMjIpXT0nJ1tfMHg1YjMyOTYoMHgzOTYpXShfMHgxNmNmYmEsJ3B4JyksXzB4NWFmZTU4Wyd3ZWJraXRUZXh0U2l6ZUFkanVzdCddPV8weDVhZmU1OFsndGV4dFNpemVBZGp1c3QnXT1fMHg1YjMyOTYoMHgyNmYpLGooKT9fMHgxOGFmOGRbXzB4NWIzMjk2KDB4Mzc3KV1bXzB4NWIzMjk2KDB4MWUxKV09JydbXzB4NWIzMjk2KDB4Mzk2KV0oMHgxL18weDUzM2RiNltfMHg1YjMyOTYoMHgzMjgpXSk6WCgpJiYoXzB4MThhZjhkW18weDViMzI5NigweDM3NyldW18weDViMzI5NigweDFlMSldPSdyZXNldCcpO3ZhciBfMHgyODdjMTY9XzB4MTYxOTg3W18weDViMzI5NigweDI5NSldKF8weDViMzI5NigweDMyZikpO3JldHVybiBfMHgyODdjMTZbXzB4NWIzMjk2KDB4MWY1KV09cihbXSxBcnJheShfMHgxNmNmYmEvMHgxNDw8MHgwKSwhMHgwKVtfMHg1YjMyOTYoMHgzYmUpXShmdW5jdGlvbigpe3JldHVybid3b3JkJzt9KVtfMHg1YjMyOTYoMHgzYjUpXSgnXHgyMCcpLF8weDE4YWY4ZFsnYXBwZW5kQ2hpbGQnXShfMHgyODdjMTYpLF8weDQyZDJjNyhfMHgxNjE5ODcsXzB4MThhZjhkKTt9LF8weDMxZWVmYigweDJlYykpO30oZnVuY3Rpb24oXzB4NzBkNjgyLF8weDI1OTU1ZSl7dmFyIF8weDE2ZWMyNz1fMHg0Y2VkO2Zvcih2YXIgXzB4MTM1YzA0PXt9LF8weDFkZjU5MD17fSxfMHgxODNlNz0weDAsXzB4MTg3ZjhjPU9iamVjdFtfMHgxNmVjMjcoMHgyMTQpXShwZSk7XzB4MTgzZTc8XzB4MTg3ZjhjW18weDE2ZWMyNygweDJlNCldO18weDE4M2U3Kyspe3ZhciBfMHg1NDlkNGU9XzB4MTg3ZjhjW18weDE4M2U3XSxfMHg0MzA2MWQ9cGVbXzB4NTQ5ZDRlXSxfMHgzMDkzYTQ9XzB4NDMwNjFkWzB4MF0sXzB4MmE2NDMwPXZvaWQgMHgwPT09XzB4MzA5M2E0P3t9Ol8weDMwOTNhNCxfMHgzODM2ZTE9XzB4NDMwNjFkWzB4MV0sXzB4M2RhZjI2PXZvaWQgMHgwPT09XzB4MzgzNmUxPydtbU13V0xsaUkwZmlmbE8mMSc6XzB4MzgzNmUxLF8weGYyZjBmYz1fMHg3MGQ2ODJbXzB4MTZlYzI3KDB4Mjk1KV0oXzB4MTZlYzI3KDB4MzcyKSk7XzB4ZjJmMGZjW18weDE2ZWMyNygweDFmNSldPV8weDNkYWYyNixfMHhmMmYwZmNbJ3N0eWxlJ11bJ3doaXRlU3BhY2UnXT0nbm93cmFwJztmb3IodmFyIF8weDMxOWM0Yz0weDAsXzB4MTk2ZGI3PU9iamVjdFtfMHgxNmVjMjcoMHgyMTQpXShfMHgyYTY0MzApO18weDMxOWM0YzxfMHgxOTZkYjdbJ2xlbmd0aCddO18weDMxOWM0YysrKXt2YXIgXzB4MjliYTk4PV8weDE5NmRiN1tfMHgzMTljNGNdLF8weDM2ZTJmOT1fMHgyYTY0MzBbXzB4MjliYTk4XTt2b2lkIDB4MCE9PV8weDM2ZTJmOSYmKF8weGYyZjBmY1snc3R5bGUnXVtfMHgyOWJhOThdPV8weDM2ZTJmOSk7fV8weDEzNWMwNFtfMHg1NDlkNGVdPV8weGYyZjBmYyxfMHgyNTk1NWVbJ2FwcGVuZCddKF8weDcwZDY4MltfMHgxNmVjMjcoMHgyOTUpXSgnYnInKSxfMHhmMmYwZmMpO31mb3IodmFyIF8weDE4MjFmYz0weDAsXzB4NTFhYzE0PU9iamVjdFtfMHgxNmVjMjcoMHgyMTQpXShwZSk7XzB4MTgyMWZjPF8weDUxYWMxNFtfMHgxNmVjMjcoMHgyZTQpXTtfMHgxODIxZmMrKyl7XzB4MWRmNTkwW18weDU0OWQ0ZT1fMHg1MWFjMTRbXzB4MTgyMWZjXV09XzB4MTM1YzA0W18weDU0OWQ0ZV1bXzB4MTZlYzI3KDB4M2Y5KV0oKVsnd2lkdGgnXTt9cmV0dXJuIF8weDFkZjU5MDt9KTt9LCdhdWRpbyc6ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDNkNTAzOTtyZXR1cm4gdCh0aGlzLGZ1bmN0aW9uKF8weDU5NGI3Myl7dmFyIF8weDJhNTc2NT1fMHg0Y2VkO3N3aXRjaChfMHg1OTRiNzNbXzB4MmE1NzY1KDB4MmUxKV0pe2Nhc2UgMHgwOnJldHVyblsweDQsXygpXTtjYXNlIDB4MTpyZXR1cm4gXzB4M2Q1MDM5PV8weDU5NGI3M1tfMHgyYTU3NjUoMHgzODEpXSgpLFsweDIsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oXzB4MTVkNWE3LF8weDRmNzFjMCl7dmFyIF8weDRkYzQ0OD1fMHg0Y2VkO2lmKDB4MD09PV8weDE1ZDVhNylyZXR1cm4gXzB4MTVkNWE3O3ZhciBfMHg0MWQyZmI9TWF0aFtfMHg0ZGM0NDgoMHgzYWIpXShNYXRoW18weDRkYzQ0OCgweDIxYyldKE1hdGhbXzB4NGRjNDQ4KDB4MzBhKV0oXzB4MTVkNWE3KSkpLU1hdGhbJ2Zsb29yJ10oXzB4NGY3MWMwKSsweDEsXzB4NGE5MDFiPU1hdGhbXzB4NGRjNDQ4KDB4MzExKV0oMHhhLC1fMHg0MWQyZmIpKigweGEqXzB4NGY3MWMwJTB4YXx8MHgxKTtyZXR1cm4gTWF0aFsncm91bmQnXShfMHgxNWQ1YTcqXzB4NGE5MDFiKS9fMHg0YTkwMWI7fShfMHgzZDUwMzkoKSw2LjIpO31dO319KTt9KTt9LCdzY3JlZW5GcmFtZSc6ZnVuY3Rpb24oKXt2YXIgXzB4MzUwMGY3PXRoaXM7aWYoWCgpJiZIKCkmJkUoKSlyZXR1cm4gZnVuY3Rpb24oKXt2YXIgXzB4MzcwYzI4PV8weDRjZWQ7cmV0dXJuIFByb21pc2VbXzB4MzcwYzI4KDB4MjU5KV0odm9pZCAweDApO307dmFyIF8weDE5NWI4OD1yZSgpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuKF8weDM1MDBmNyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHgxODIyMzYsXzB4MWM2NTJmO3JldHVybiB0KHRoaXMsZnVuY3Rpb24oXzB4ZWRiOGFkKXt2YXIgXzB4YjNiZTFkPV8weDRjZWQ7c3dpdGNoKF8weGVkYjhhZFsnbGFiZWwnXSl7Y2FzZSAweDA6cmV0dXJuWzB4NCxfMHgxOTViODgoKV07Y2FzZSAweDE6cmV0dXJuIF8weDE4MjIzNj1fMHhlZGI4YWRbXzB4YjNiZTFkKDB4MzgxKV0oKSxbMHgyLFsoXzB4MWM2NTJmPWZ1bmN0aW9uKF8weDM5MGU0OSl7cmV0dXJuIG51bGw9PT1fMHgzOTBlNDk/bnVsbDp2KF8weDM5MGU0OSwweGEpO30pKF8weDE4MjIzNlsweDBdKSxfMHgxYzY1MmYoXzB4MTgyMjM2WzB4MV0pLF8weDFjNjUyZihfMHgxODIyMzZbMHgyXSksXzB4MWM2NTJmKF8weDE4MjIzNlsweDNdKV1dO319KTt9KTt9O30sJ2NhbnZhcyc6ZnVuY3Rpb24oKXtyZXR1cm4gSyhYKCkmJkgoKSYmRSgpKTt9LCdvc0NwdSc6ZnVuY3Rpb24oKXt2YXIgXzB4MWViYTI5PV8weDNmZDY5MDtyZXR1cm4gbmF2aWdhdG9yW18weDFlYmEyOSgweDM4ZCldO30sJ2xhbmd1YWdlcyc6ZnVuY3Rpb24oKXt2YXIgXzB4MjQyZjUxPV8weDNmZDY5MCxfMHgyYjIwZWYsXzB4N2UzYjdlPW5hdmlnYXRvcixfMHg1ZTU5M2Y9W10sXzB4MzA0YmUxPV8weDdlM2I3ZVtfMHgyNDJmNTEoMHgzMjIpXXx8XzB4N2UzYjdlW18weDI0MmY1MSgweDNhNCldfHxfMHg3ZTNiN2VbXzB4MjQyZjUxKDB4MjE4KV18fF8weDdlM2I3ZVtfMHgyNDJmNTEoMHgxZTUpXTtpZih2b2lkIDB4MCE9PV8weDMwNGJlMSYmXzB4NWU1OTNmW18weDI0MmY1MSgweDIzMildKFtfMHgzMDRiZTFdKSxBcnJheVsnaXNBcnJheSddKF8weDdlM2I3ZVsnbGFuZ3VhZ2VzJ10pKWooKSYmbShbIShfMHgyNDJmNTEoMHgzOTcpaW4oXzB4MmIyMGVmPXdpbmRvdykpLCdSVENFbmNvZGVkQXVkaW9GcmFtZSdpbiBfMHgyYjIwZWYsJycrXzB4MmIyMGVmW18weDI0MmY1MSgweDJiMCldPT1fMHgyNDJmNTEoMHgzMjkpLCcnK18weDJiMjBlZltfMHgyNDJmNTEoMHgzZTUpXT09XzB4MjQyZjUxKDB4MjgxKV0pPj0weDN8fF8weDVlNTkzZltfMHgyNDJmNTEoMHgyMzIpXShfMHg3ZTNiN2VbJ2xhbmd1YWdlcyddKTtlbHNle2lmKCdzdHJpbmcnPT10eXBlb2YgXzB4N2UzYjdlW18weDI0MmY1MSgweDI2MSldKXt2YXIgXzB4MjNlOGZhPV8weDdlM2I3ZVtfMHgyNDJmNTEoMHgyNjEpXTtfMHgyM2U4ZmEmJl8weDVlNTkzZlsncHVzaCddKF8weDIzZThmYVsnc3BsaXQnXSgnLCcpKTt9fXJldHVybiBfMHg1ZTU5M2Y7fSwnY29sb3JEZXB0aCc6ZnVuY3Rpb24oKXt2YXIgXzB4NDVjMjMzPV8weDNmZDY5MDtyZXR1cm4gd2luZG93W18weDQ1YzIzMygweDJmMildW18weDQ1YzIzMygweDMwMSldO30sJ2RldmljZU1lbW9yeSc6ZnVuY3Rpb24oKXt2YXIgXzB4Mzk1NmUwPV8weDNmZDY5MDtyZXR1cm4gZihkKG5hdmlnYXRvcltfMHgzOTU2ZTAoMHgyZTkpXSksdm9pZCAweDApO30sJ3NjcmVlblJlc29sdXRpb24nOmZ1bmN0aW9uKCl7aWYoIShYKCkmJkgoKSYmRSgpKSlyZXR1cm4gZWUoKTt9LCdoYXJkd2FyZUNvbmN1cnJlbmN5JzpmdW5jdGlvbigpe3ZhciBfMHgzMTI2ZDg9XzB4M2ZkNjkwO3JldHVybiBmKHMobmF2aWdhdG9yW18weDMxMjZkOCgweDNmYSldKSx2b2lkIDB4MCk7fSwndGltZXpvbmUnOmZ1bmN0aW9uKCl7dmFyIF8weDJiMjMxNz1fMHgzZmQ2OTAsXzB4NDg2YzI4LF8weDVlZWFmND1udWxsPT09KF8weDQ4NmMyOD13aW5kb3dbXzB4MmIyMzE3KDB4MmIwKV0pfHx2b2lkIDB4MD09PV8weDQ4NmMyOD92b2lkIDB4MDpfMHg0ODZjMjhbJ0RhdGVUaW1lRm9ybWF0J107aWYoXzB4NWVlYWY0KXt2YXIgXzB4NTQyNzFhPW5ldyBfMHg1ZWVhZjQoKVsncmVzb2x2ZWRPcHRpb25zJ10oKVsndGltZVpvbmUnXTtpZihfMHg1NDI3MWEpcmV0dXJuIF8weDU0MjcxYTt9dmFyIF8weDNlYTJhNixfMHg0YWY2NjI9KF8weDNlYTJhNj1uZXcgRGF0ZSgpWydnZXRGdWxsWWVhciddKCksLU1hdGhbXzB4MmIyMzE3KDB4M2ExKV0oZChuZXcgRGF0ZShfMHgzZWEyYTYsMHgwLDB4MSlbXzB4MmIyMzE3KDB4Mjc4KV0oKSksZChuZXcgRGF0ZShfMHgzZWEyYTYsMHg2LDB4MSlbXzB4MmIyMzE3KDB4Mjc4KV0oKSkpKTtyZXR1cm4gXzB4MmIyMzE3KDB4MzI1KVtfMHgyYjIzMTcoMHgzOTYpXShfMHg0YWY2NjI+PTB4MD8nKyc6JycpW18weDJiMjMxNygweDM5NildKE1hdGhbJ2FicyddKF8weDRhZjY2MikpO30sJ3Nlc3Npb25TdG9yYWdlJzpmdW5jdGlvbigpe3ZhciBfMHgyZDM2ODI9XzB4M2ZkNjkwO3RyeXtyZXR1cm4hIXdpbmRvd1tfMHgyZDM2ODIoMHgzNDcpXTt9Y2F0Y2goXzB4MmJjYjcyKXtyZXR1cm4hMHgwO319LCdsb2NhbFN0b3JhZ2UnOmZ1bmN0aW9uKCl7dmFyIF8weDhkMTgwNz1fMHgzZmQ2OTA7dHJ5e3JldHVybiEhd2luZG93W18weDhkMTgwNygweDI0NildO31jYXRjaChfMHg1M2RmODYpe3JldHVybiEweDA7fX0sJ2luZGV4ZWREQic6ZnVuY3Rpb24oKXt2YXIgXzB4MzI3OGMwPV8weDNmZDY5MDtpZighSSgpJiYhWSgpKXRyeXtyZXR1cm4hIXdpbmRvd1tfMHgzMjc4YzAoMHgzNDEpXTt9Y2F0Y2goXzB4M2NjYzcwKXtyZXR1cm4hMHgwO319LCdvcGVuRGF0YWJhc2UnOmZ1bmN0aW9uKCl7dmFyIF8weDJkY2JhYz1fMHgzZmQ2OTA7cmV0dXJuISF3aW5kb3dbXzB4MmRjYmFjKDB4M2NmKV07fSwnY3B1Q2xhc3MnOmZ1bmN0aW9uKCl7cmV0dXJuIG5hdmlnYXRvclsnY3B1Q2xhc3MnXTt9LCdwbGF0Zm9ybSc6ZnVuY3Rpb24oKXt2YXIgXzB4NGM1ZmI3PV8weDNmZDY5MCxfMHgyY2Q0MjI9bmF2aWdhdG9yW18weDRjNWZiNygweDIxNyldO3JldHVybiBfMHg0YzVmYjcoMHgyNmQpPT09XzB4MmNkNDIyJiZYKCkmJiFQKCk/KGZ1bmN0aW9uKCl7dmFyIF8weDE0YTMxMj1fMHg0YzVmYjc7aWYoJ2lQYWQnPT09bmF2aWdhdG9yW18weDE0YTMxMigweDIxNyldKXJldHVybiEweDA7dmFyIF8weDJkMmQ5OT1zY3JlZW4sXzB4NTFlNGEyPV8weDJkMmQ5OVsnd2lkdGgnXS9fMHgyZDJkOTlbXzB4MTRhMzEyKDB4M2M0KV07cmV0dXJuIG0oW18weDE0YTMxMigweDNlNylpbiB3aW5kb3csISFFbGVtZW50W18weDE0YTMxMigweDJmMSldWyd3ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiddLF8weDUxZTRhMj4wLjY1JiZfMHg1MWU0YTI8MS41M10pPj0weDI7fSgpKT9fMHg0YzVmYjcoMHgxZjIpOidpUGhvbmUnOl8weDJjZDQyMjt9LCdwbHVnaW5zJzpmdW5jdGlvbigpe3ZhciBfMHg0Y2I4MjU9XzB4M2ZkNjkwLF8weDE2ZjMyYT1uYXZpZ2F0b3JbXzB4NGNiODI1KDB4M2E5KV07aWYoXzB4MTZmMzJhKXtmb3IodmFyIF8weDVlNDM1ZD1bXSxfMHgyYjU1YzA9MHgwO18weDJiNTVjMDxfMHgxNmYzMmFbXzB4NGNiODI1KDB4MmU0KV07KytfMHgyYjU1YzApe3ZhciBfMHgzMzZlYTg9XzB4MTZmMzJhW18weDJiNTVjMF07aWYoXzB4MzM2ZWE4KXtmb3IodmFyIF8weDM1MWIzZj1bXSxfMHgzMWFkZTE9MHgwO18weDMxYWRlMTxfMHgzMzZlYThbXzB4NGNiODI1KDB4MmU0KV07KytfMHgzMWFkZTEpe3ZhciBfMHg0NzgxMzQ9XzB4MzM2ZWE4W18weDMxYWRlMV07XzB4MzUxYjNmW18weDRjYjgyNSgweDIzMildKHsndHlwZSc6XzB4NDc4MTM0Wyd0eXBlJ10sJ3N1ZmZpeGVzJzpfMHg0NzgxMzRbXzB4NGNiODI1KDB4MjFlKV19KTt9XzB4NWU0MzVkW18weDRjYjgyNSgweDIzMildKHsnbmFtZSc6XzB4MzM2ZWE4WyduYW1lJ10sJ2Rlc2NyaXB0aW9uJzpfMHgzMzZlYThbXzB4NGNiODI1KDB4MmFjKV0sJ21pbWVUeXBlcyc6XzB4MzUxYjNmfSk7fX1yZXR1cm4gXzB4NWU0MzVkO319LCd0b3VjaFN1cHBvcnQnOmZ1bmN0aW9uKCl7dmFyIF8weDU0NTI0Nz1fMHgzZmQ2OTAsXzB4NTA1ZmFlLF8weDE1MjAwOT1uYXZpZ2F0b3IsXzB4NDE2NWRmPTB4MDt2b2lkIDB4MCE9PV8weDE1MjAwOVtfMHg1NDUyNDcoMHgzMzEpXT9fMHg0MTY1ZGY9cyhfMHgxNTIwMDlbXzB4NTQ1MjQ3KDB4MzMxKV0pOnZvaWQgMHgwIT09XzB4MTUyMDA5W18weDU0NTI0NygweDIwMCldJiYoXzB4NDE2NWRmPV8weDE1MjAwOVtfMHg1NDUyNDcoMHgyMDApXSk7dHJ5e2RvY3VtZW50W18weDU0NTI0NygweDNkMyldKF8weDU0NTI0NygweDNhNykpLF8weDUwNWZhZT0hMHgwO31jYXRjaChfMHg1NjhkY2Ipe18weDUwNWZhZT0hMHgxO31yZXR1cm57J21heFRvdWNoUG9pbnRzJzpfMHg0MTY1ZGYsJ3RvdWNoRXZlbnQnOl8weDUwNWZhZSwndG91Y2hTdGFydCc6J29udG91Y2hzdGFydCdpbiB3aW5kb3d9O30sJ3ZlbmRvcic6ZnVuY3Rpb24oKXt2YXIgXzB4NmUyZTJhPV8weDNmZDY5MDtyZXR1cm4gbmF2aWdhdG9yW18weDZlMmUyYSgweDI5ZSldfHwnJzt9LCd2ZW5kb3JGbGF2b3JzJzpmdW5jdGlvbigpe3ZhciBfMHgzZGU5NGM9XzB4M2ZkNjkwO2Zvcih2YXIgXzB4MTE5ZjcwPVtdLF8weDI1MzE0ZD0weDAsXzB4MzA2MjdkPVtfMHgzZGU5NGMoMHgyMTMpLF8weDNkZTk0YygweDM1ZSksXzB4M2RlOTRjKDB4MjkwKSxfMHgzZGU5NGMoMHgzYWUpLF8weDNkZTk0YygweDMxZSksJ19feWInLCdfX3licm8nLF8weDNkZTk0YygweDIyZSksXzB4M2RlOTRjKDB4MWZlKSxfMHgzZGU5NGMoMHgzNTIpLF8weDNkZTk0YygweDM3MyksXzB4M2RlOTRjKDB4MjVhKSxfMHgzZGU5NGMoMHgyMjEpLCdVQ1NoZWxsSmF2YScsXzB4M2RlOTRjKDB4MjcyKV07XzB4MjUzMTRkPF8weDMwNjI3ZFsnbGVuZ3RoJ107XzB4MjUzMTRkKyspe3ZhciBfMHgyOWI4Mzk9XzB4MzA2MjdkW18weDI1MzE0ZF0sXzB4MWRiN2JlPXdpbmRvd1tfMHgyOWI4MzldO18weDFkYjdiZSYmXzB4M2RlOTRjKDB4M2Q5KT09dHlwZW9mIF8weDFkYjdiZSYmXzB4MTE5ZjcwWydwdXNoJ10oXzB4MjliODM5KTt9cmV0dXJuIF8weDExOWY3MFtfMHgzZGU5NGMoMHgzMzApXSgpO30sJ2Nvb2tpZXNFbmFibGVkJzpmdW5jdGlvbigpe3ZhciBfMHgzMzA3ZDc9XzB4M2ZkNjkwLF8weDFlN2Q0OT1kb2N1bWVudDt0cnl7XzB4MWU3ZDQ5W18weDMzMDdkNygweDNkOCldPSdjb29raWV0ZXN0PTE7XHgyMFNhbWVTaXRlPVN0cmljdDsnO3ZhciBfMHgxMTEwZjk9LTB4MSE9PV8weDFlN2Q0OVtfMHgzMzA3ZDcoMHgzZDgpXVtfMHgzMzA3ZDcoMHgzYWEpXShfMHgzMzA3ZDcoMHgyM2UpKTtyZXR1cm4gXzB4MWU3ZDQ5W18weDMzMDdkNygweDNkOCldPV8weDMzMDdkNygweDJhYSksXzB4MTExMGY5O31jYXRjaChfMHgxZWVjMDApe3JldHVybiEweDE7fX0sJ2NvbG9yR2FtdXQnOmZ1bmN0aW9uKCl7dmFyIF8weDU0NGYxNz1fMHgzZmQ2OTA7Zm9yKHZhciBfMHgzOWVmYjk9MHgwLF8weDM5Zjk4Zj1bXzB4NTQ0ZjE3KDB4MzhjKSwncDMnLF8weDU0NGYxNygweDJhOSldO18weDM5ZWZiOTxfMHgzOWY5OGZbXzB4NTQ0ZjE3KDB4MmU0KV07XzB4MzllZmI5Kyspe3ZhciBfMHg0YTJmMzk9XzB4MzlmOThmW18weDM5ZWZiOV07aWYobWF0Y2hNZWRpYShfMHg1NDRmMTcoMHgxZmIpW18weDU0NGYxNygweDM5NildKF8weDRhMmYzOSwnKScpKVsnbWF0Y2hlcyddKXJldHVybiBfMHg0YTJmMzk7fX0sJ2ludmVydGVkQ29sb3JzJzpmdW5jdGlvbigpe3ZhciBfMHg0Y2I1ZTA9XzB4M2ZkNjkwO3JldHVybiEhdWUoXzB4NGNiNWUwKDB4MzEzKSl8fCF1ZShfMHg0Y2I1ZTAoMHgyNmYpKSYmdm9pZCAweDA7fSwnZm9yY2VkQ29sb3JzJzpmdW5jdGlvbigpe3ZhciBfMHgyMGJmMDk9XzB4M2ZkNjkwO3JldHVybiEhbGUoXzB4MjBiZjA5KDB4MzAzKSl8fCFsZShfMHgyMGJmMDkoMHgyNmYpKSYmdm9pZCAweDA7fSwnbW9ub2Nocm9tZSc6ZnVuY3Rpb24oKXt2YXIgXzB4MzcwMmU2PV8weDNmZDY5MDtpZihtYXRjaE1lZGlhKF8weDM3MDJlNigweDM1MykpW18weDM3MDJlNigweDJkZildKXtmb3IodmFyIF8weDI5Njc2ZT0weDA7XzB4Mjk2NzZlPD0weDY0OysrXzB4Mjk2NzZlKWlmKG1hdGNoTWVkaWEoXzB4MzcwMmU2KDB4MWUwKVtfMHgzNzAyZTYoMHgzOTYpXShfMHgyOTY3NmUsJyknKSlbXzB4MzcwMmU2KDB4MmRmKV0pcmV0dXJuIF8weDI5Njc2ZTt0aHJvdyBuZXcgRXJyb3IoXzB4MzcwMmU2KDB4MjA5KSk7fX0sJ2NvbnRyYXN0JzpmdW5jdGlvbigpe3ZhciBfMHg3YzE4MWU9XzB4M2ZkNjkwO3JldHVybiBzZShfMHg3YzE4MWUoMHgyMzMpKT8weDA6c2UoXzB4N2MxODFlKDB4MzU5KSl8fHNlKF8weDdjMTgxZSgweDM2YikpPzB4MTpzZSgnbG93Jyl8fHNlKF8weDdjMTgxZSgweDJjOCkpPy0weDE6c2UoJ2ZvcmNlZCcpPzB4YTp2b2lkIDB4MDt9LCdyZWR1Y2VkTW90aW9uJzpmdW5jdGlvbigpe3ZhciBfMHgxY2RmMGU9XzB4M2ZkNjkwO3JldHVybiEhZGUoXzB4MWNkZjBlKDB4M2NlKSl8fCFkZShfMHgxY2RmMGUoMHgyMzMpKSYmdm9pZCAweDA7fSwncmVkdWNlZFRyYW5zcGFyZW5jeSc6ZnVuY3Rpb24oKXt2YXIgXzB4NTc1ZTQzPV8weDNmZDY5MDtyZXR1cm4hIWZlKF8weDU3NWU0MygweDNjZSkpfHwhZmUoXzB4NTc1ZTQzKDB4MjMzKSkmJnZvaWQgMHgwO30sJ2hkcic6ZnVuY3Rpb24oKXt2YXIgXzB4MmI2M2U3PV8weDNmZDY5MDtyZXR1cm4hIW1lKF8weDJiNjNlNygweDM1OSkpfHwhbWUoXzB4MmI2M2U3KDB4MzhhKSkmJnZvaWQgMHgwO30sJ21hdGgnOmZ1bmN0aW9uKCl7dmFyIF8weDE4NjNkYj1fMHgzZmQ2OTAsXzB4NDRkNjAyLF8weDVjODg5Nz12ZVsnYWNvcyddfHxoZSxfMHg0YWY0ZjA9dmVbJ2Fjb3NoJ118fGhlLF8weDM1M2I1Yz12ZVtfMHgxODYzZGIoMHgzNDIpXXx8aGUsXzB4MTFiNmIzPXZlW18weDE4NjNkYigweDNjMCldfHxoZSxfMHgxMjBkNTk9dmVbJ2F0YW5oJ118fGhlLF8weDU2YjhhZT12ZVtfMHgxODYzZGIoMHgyNjgpXXx8aGUsXzB4NDM0OTRkPXZlWydzaW4nXXx8aGUsXzB4NGI5NDJiPXZlW18weDE4NjNkYigweDJiOSldfHxoZSxfMHgzZGNkYzA9dmVbXzB4MTg2M2RiKDB4MjhlKV18fGhlLF8weDNjZTAyNT12ZVsnY29zaCddfHxoZSxfMHg5ZWMxOTI9dmVbXzB4MTg2M2RiKDB4M2JiKV18fGhlLF8weDJiMmNmZD12ZVtfMHgxODYzZGIoMHgyZDkpXXx8aGUsXzB4MjkxMGViPXZlWydleHAnXXx8aGUsXzB4MTQ5Zjk3PXZlW18weDE4NjNkYigweDMzYSldfHxoZSxfMHgxMDQ3YzM9dmVbXzB4MTg2M2RiKDB4MjM5KV18fGhlO3JldHVybnsnYWNvcyc6XzB4NWM4ODk3KDAuMTIzMTI0MjM0MjM0MjM0MjQpLCdhY29zaCc6XzB4NGFmNGYwKDB4OGU2NzljMmY1ZTQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCksJ2Fjb3NoUGYnOihfMHg0NGQ2MDI9MHhiZWVlZmI1ODRhZmY4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCx2ZVtfMHgxODYzZGIoMHgzYWYpXShfMHg0NGQ2MDIrdmVbXzB4MTg2M2RiKDB4MjdkKV0oXzB4NDRkNjAyKl8weDQ0ZDYwMi0weDEpKSksJ2FzaW4nOl8weDM1M2I1YygwLjEyMzEyNDIzNDIzNDIzNDI0KSwnYXNpbmgnOl8weDExYjZiMygweDEpLCdhc2luaFBmJzpmdW5jdGlvbihfMHg0NTk2MGIpe3ZhciBfMHgyZWZjNWM9XzB4MTg2M2RiO3JldHVybiB2ZVtfMHgyZWZjNWMoMHgzYWYpXShfMHg0NTk2MGIrdmVbXzB4MmVmYzVjKDB4MjdkKV0oXzB4NDU5NjBiKl8weDQ1OTYwYisweDEpKTt9KDB4MSksJ2F0YW5oJzpfMHgxMjBkNTkoMC41KSwnYXRhbmhQZic6ZnVuY3Rpb24oXzB4NTc4MDU2KXt2YXIgXzB4MTQzZmExPV8weDE4NjNkYjtyZXR1cm4gdmVbXzB4MTQzZmExKDB4M2FmKV0oKDB4MStfMHg1NzgwNTYpLygweDEtXzB4NTc4MDU2KSkvMHgyO30oMC41KSwnYXRhbic6XzB4NTZiOGFlKDAuNSksJ3Npbic6XzB4NDM0OTRkKC0weDE3ZTQzYzg4MDA3NTljMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApLCdzaW5oJzpfMHg0Yjk0MmIoMHgxKSwnc2luaFBmJzpmdW5jdGlvbihfMHg0ZTYyNDApe3ZhciBfMHg0NTZiMjA9XzB4MTg2M2RiO3JldHVybiB2ZVtfMHg0NTZiMjAoMHgzNDgpXShfMHg0ZTYyNDApLTB4MS92ZVtfMHg0NTZiMjAoMHgzNDgpXShfMHg0ZTYyNDApLzB4Mjt9KDB4MSksJ2Nvcyc6XzB4M2RjZGMwKDEwLjAwMDAwMDAwMDEyMyksJ2Nvc2gnOl8weDNjZTAyNSgweDEpLCdjb3NoUGYnOmZ1bmN0aW9uKF8weDU1MTQ0Mil7dmFyIF8weDQ1NzhiNj1fMHgxODYzZGI7cmV0dXJuKHZlW18weDQ1NzhiNigweDM0OCldKF8weDU1MTQ0MikrMHgxL3ZlW18weDQ1NzhiNigweDM0OCldKF8weDU1MTQ0MikpLzB4Mjt9KDB4MSksJ3Rhbic6XzB4OWVjMTkyKC0weDE3ZTQzYzg4MDA3NTljMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApLCd0YW5oJzpfMHgyYjJjZmQoMHgxKSwndGFuaFBmJzpmdW5jdGlvbihfMHgyOGM4Nzkpe3ZhciBfMHgyMGM3OTM9XzB4MTg2M2RiO3JldHVybih2ZVtfMHgyMGM3OTMoMHgzNDgpXSgweDIqXzB4MjhjODc5KS0weDEpLyh2ZVtfMHgyMGM3OTMoMHgzNDgpXSgweDIqXzB4MjhjODc5KSsweDEpO30oMHgxKSwnZXhwJzpfMHgyOTEwZWIoMHgxKSwnZXhwbTEnOl8weDE0OWY5NygweDEpLCdleHBtMVBmJzpmdW5jdGlvbihfMHgyZjBlZDUpe3ZhciBfMHgyMzQwNzM9XzB4MTg2M2RiO3JldHVybiB2ZVtfMHgyMzQwNzMoMHgzNDgpXShfMHgyZjBlZDUpLTB4MTt9KDB4MSksJ2xvZzFwJzpfMHgxMDQ3YzMoMHhhKSwnbG9nMXBQZic6ZnVuY3Rpb24oXzB4NDZiYzU0KXtyZXR1cm4gdmVbJ2xvZyddKDB4MStfMHg0NmJjNTQpO30oMHhhKSwncG93UEknOmZ1bmN0aW9uKF8weDNhYWY3Mil7cmV0dXJuIHZlWydwb3cnXSh2ZVsnUEknXSxfMHgzYWFmNzIpO30oLTB4NjQpfTt9LCdwZGZWaWV3ZXJFbmFibGVkJzpmdW5jdGlvbigpe3ZhciBfMHgzMDkwYjk9XzB4M2ZkNjkwO3JldHVybiBuYXZpZ2F0b3JbXzB4MzA5MGI5KDB4MmIxKV07fSwnYXJjaGl0ZWN0dXJlJzpmdW5jdGlvbigpe3ZhciBfMHgxMzM1ZWU9XzB4M2ZkNjkwLF8weDU4MDUwNz1uZXcgRmxvYXQzMkFycmF5KDB4MSksXzB4MjVlYmVkPW5ldyBVaW50OEFycmF5KF8weDU4MDUwN1tfMHgxMzM1ZWUoMHgyM2IpXSk7cmV0dXJuIF8weDU4MDUwN1sweDBdPTB4MS8weDAsXzB4NTgwNTA3WzB4MF09XzB4NTgwNTA3WzB4MF0tXzB4NTgwNTA3WzB4MF0sXzB4MjVlYmVkWzB4M107fSwnYXBwbGVQYXknOmZ1bmN0aW9uKCl7dmFyIF8weDU1ZGVkYj1fMHgzZmQ2OTAsXzB4NTQ4MGRkPXdpbmRvd1tfMHg1NWRlZGIoMHgzMjcpXTtpZihfMHg1NWRlZGIoMHgyODQpIT10eXBlb2YobnVsbD09XzB4NTQ4MGRkP3ZvaWQgMHgwOl8weDU0ODBkZFsnY2FuTWFrZVBheW1lbnRzJ10pKXJldHVybi0weDE7dHJ5e3JldHVybiBfMHg1NDgwZGRbXzB4NTVkZWRiKDB4MmRkKV0oKT8weDE6MHgwO31jYXRjaChfMHg1NzMxZGYpe3JldHVybiBiZShfMHg1NzMxZGYpO319LCdwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCc6ZnVuY3Rpb24oKXt2YXIgXzB4NzUzYzJkPV8weDNmZDY5MCxfMHgyNzJkNzEsXzB4MWIwNjYyPWRvY3VtZW50W18weDc1M2MyZCgweDI5NSldKCdhJyksXzB4MmY0ZTllPW51bGwhPT0oXzB4MjcyZDcxPV8weDFiMDY2MlsnYXR0cmlidXRpb25Tb3VyY2VJZCddKSYmdm9pZCAweDAhPT1fMHgyNzJkNzE/XzB4MjcyZDcxOl8weDFiMDY2MltfMHg3NTNjMmQoMHgzYzMpXTtyZXR1cm4gdm9pZCAweDA9PT1fMHgyZjRlOWU/dm9pZCAweDA6U3RyaW5nKF8weDJmNGU5ZSk7fSwnd2ViR2xCYXNpY3MnOmZ1bmN0aW9uKF8weDQ4YzNjNSl7dmFyIF8weDliNzE3Zj1fMHgzZmQ2OTAsXzB4MWUwMDAwLF8weDE0NDQyZCxfMHgyMjY0ZmYsXzB4NDQ5ODY4LF8weDM3ODYzMixfMHgyMjk2M2QsXzB4NDQ2ZjUxPWtlKF8weDQ4YzNjNVtfMHg5YjcxN2YoMHgzYTMpXSk7aWYoIV8weDQ0NmY1MSlyZXR1cm4tMHgxO2lmKCF4ZShfMHg0NDZmNTEpKXJldHVybi0weDI7dmFyIF8weDM1MWExMz1aZSgpP251bGw6XzB4NDQ2ZjUxW18weDliNzE3ZigweDI2OSldKF8weDliNzE3ZigweDNiMikpO3JldHVybnsndmVyc2lvbic6KG51bGw9PT0oXzB4MWUwMDAwPV8weDQ0NmY1MVsnZ2V0UGFyYW1ldGVyJ10oXzB4NDQ2ZjUxW18weDliNzE3ZigweDJhNCldKSl8fHZvaWQgMHgwPT09XzB4MWUwMDAwP3ZvaWQgMHgwOl8weDFlMDAwMFtfMHg5YjcxN2YoMHgyMDUpXSgpKXx8JycsJ3ZlbmRvcic6KG51bGw9PT0oXzB4MTQ0NDJkPV8weDQ0NmY1MVtfMHg5YjcxN2YoMHgyNjYpXShfMHg0NDZmNTFbJ1ZFTkRPUiddKSl8fHZvaWQgMHgwPT09XzB4MTQ0NDJkP3ZvaWQgMHgwOl8weDE0NDQyZFtfMHg5YjcxN2YoMHgyMDUpXSgpKXx8JycsJ3ZlbmRvclVubWFza2VkJzpfMHgzNTFhMTM/bnVsbD09PShfMHgyMjY0ZmY9XzB4NDQ2ZjUxW18weDliNzE3ZigweDI2NildKF8weDM1MWExM1snVU5NQVNLRURfVkVORE9SX1dFQkdMJ10pKXx8dm9pZCAweDA9PT1fMHgyMjY0ZmY/dm9pZCAweDA6XzB4MjI2NGZmWyd0b1N0cmluZyddKCk6JycsJ3JlbmRlcmVyJzoobnVsbD09PShfMHg0NDk4Njg9XzB4NDQ2ZjUxW18weDliNzE3ZigweDI2NildKF8weDQ0NmY1MVtfMHg5YjcxN2YoMHgzOTUpXSkpfHx2b2lkIDB4MD09PV8weDQ0OTg2OD92b2lkIDB4MDpfMHg0NDk4NjhbXzB4OWI3MTdmKDB4MjA1KV0oKSl8fCcnLCdyZW5kZXJlclVubWFza2VkJzpfMHgzNTFhMTM/bnVsbD09PShfMHgzNzg2MzI9XzB4NDQ2ZjUxWydnZXRQYXJhbWV0ZXInXShfMHgzNTFhMTNbXzB4OWI3MTdmKDB4M2Y1KV0pKXx8dm9pZCAweDA9PT1fMHgzNzg2MzI/dm9pZCAweDA6XzB4Mzc4NjMyWyd0b1N0cmluZyddKCk6JycsJ3NoYWRpbmdMYW5ndWFnZVZlcnNpb24nOihudWxsPT09KF8weDIyOTYzZD1fMHg0NDZmNTFbXzB4OWI3MTdmKDB4MjY2KV0oXzB4NDQ2ZjUxW18weDliNzE3ZigweDMyMSldKSl8fHZvaWQgMHgwPT09XzB4MjI5NjNkP3ZvaWQgMHgwOl8weDIyOTYzZFtfMHg5YjcxN2YoMHgyMDUpXSgpKXx8Jyd9O30sJ3dlYkdsRXh0ZW5zaW9ucyc6ZnVuY3Rpb24oXzB4OWJlYzEzKXt2YXIgXzB4MzAyNGE9XzB4M2ZkNjkwLF8weDJhOWZhNz1rZShfMHg5YmVjMTNbXzB4MzAyNGEoMHgzYTMpXSk7aWYoIV8weDJhOWZhNylyZXR1cm4tMHgxO2lmKCF4ZShfMHgyYTlmYTcpKXJldHVybi0weDI7dmFyIF8weDNiZWYzYz1fMHgyYTlmYTdbXzB4MzAyNGEoMHgzNTgpXSgpLF8weDU4MWI1ND1fMHgyYTlmYTdbXzB4MzAyNGEoMHgyZGUpXSgpLF8weDdiMzNmNz1bXSxfMHgyNWM3Mzk9W10sXzB4NTlkYjhmPVtdLF8weDViOTQxZD1bXTtpZihfMHg1ODFiNTQpZm9yKHZhciBfMHgzMTY2ZjI9MHgwLF8weDFjN2JhZT1PYmplY3RbJ2tleXMnXShfMHg1ODFiNTQpO18weDMxNjZmMjxfMHgxYzdiYWVbXzB4MzAyNGEoMHgyZTQpXTtfMHgzMTY2ZjIrKyl7dmFyIF8weGNmMTEyZD1fMHgxYzdiYWVbXzB4MzE2NmYyXTtfMHg3YjMzZjdbXzB4MzAyNGEoMHgyMzIpXSgnJ1snY29uY2F0J10oXzB4Y2YxMTJkLCc9JylbXzB4MzAyNGEoMHgzOTYpXShfMHg1ODFiNTRbXzB4Y2YxMTJkXSkpO31mb3IodmFyIF8weDVjNzkwZj0weDAsXzB4NGJhNjZhPVNlKF8weDJhOWZhNyk7XzB4NWM3OTBmPF8weDRiYTY2YVtfMHgzMDI0YSgweDJlNCldO18weDVjNzkwZisrKXt2YXIgXzB4NDc3MTE5PV8weDJhOWZhN1tfMHgzMDM0MjQ9XzB4NGJhNjZhW18weDVjNzkwZl1dO18weDI1YzczOVsncHVzaCddKCcnWydjb25jYXQnXShfMHgzMDM0MjQsJz0nKVtfMHgzMDI0YSgweDM5NildKF8weDQ3NzExOSlbJ2NvbmNhdCddKHllW18weDMwMjRhKDB4MjYyKV0oXzB4NDc3MTE5KT8nPSdbJ2NvbmNhdCddKF8weDJhOWZhN1tfMHgzMDI0YSgweDI2NildKF8weDQ3NzExOSkpOicnKSk7fWlmKF8weDNiZWYzYylmb3IodmFyIF8weDRmNmE5ZT0weDAsXzB4NGE0YzM3PV8weDNiZWYzYztfMHg0ZjZhOWU8XzB4NGE0YzM3W18weDMwMjRhKDB4MmU0KV07XzB4NGY2YTllKyspe3ZhciBfMHgzYWRiYzU9XzB4NGE0YzM3W18weDRmNmE5ZV07aWYoJ1dFQkdMX2RlYnVnX3JlbmRlcmVyX2luZm8nIT09XzB4M2FkYmM1fHwhWmUoKSl7dmFyIF8weGM5MzZmZD1fMHgyYTlmYTdbXzB4MzAyNGEoMHgyNjkpXShfMHgzYWRiYzUpO2lmKF8weGM5MzZmZClmb3IodmFyIF8weDFiNGIzMD0weDAsXzB4ZTJlYTU4PVNlKF8weGM5MzZmZCk7XzB4MWI0YjMwPF8weGUyZWE1OFtfMHgzMDI0YSgweDJlNCldO18weDFiNGIzMCsrKXt2YXIgXzB4MzAzNDI0O18weDQ3NzExOT1fMHhjOTM2ZmRbXzB4MzAzNDI0PV8weGUyZWE1OFtfMHgxYjRiMzBdXSxfMHg1OWRiOGZbXzB4MzAyNGEoMHgyMzIpXSgnJ1snY29uY2F0J10oXzB4MzAzNDI0LCc9JylbXzB4MzAyNGEoMHgzOTYpXShfMHg0NzcxMTkpWydjb25jYXQnXShnZVtfMHgzMDI0YSgweDI2MildKF8weDQ3NzExOSk/Jz0nW18weDMwMjRhKDB4Mzk2KV0oXzB4MmE5ZmE3W18weDMwMjRhKDB4MjY2KV0oXzB4NDc3MTE5KSk6JycpKTt9fX1mb3IodmFyIF8weDIzMTBhMz0weDAsXzB4NTNmZjIzPXdlO18weDIzMTBhMzxfMHg1M2ZmMjNbXzB4MzAyNGEoMHgyZTQpXTtfMHgyMzEwYTMrKylmb3IodmFyIF8weDQ0N2Y2OT1fMHg1M2ZmMjNbXzB4MjMxMGEzXSxfMHgzNTZmNDE9MHgwLF8weDFlOGQ4ZD1MZTtfMHgzNTZmNDE8XzB4MWU4ZDhkW18weDMwMjRhKDB4MmU0KV07XzB4MzU2ZjQxKyspe3ZhciBfMHg1ZGYzZTA9XzB4MWU4ZDhkW18weDM1NmY0MV0sXzB4MTgzNzRmPVZlKF8weDJhOWZhNyxfMHg0NDdmNjksXzB4NWRmM2UwKTtfMHg1Yjk0MWRbXzB4MzAyNGEoMHgyMzIpXSgnJ1tfMHgzMDI0YSgweDM5NildKF8weDQ0N2Y2OSwnLicpW18weDMwMjRhKDB4Mzk2KV0oXzB4NWRmM2UwLCc9JylbXzB4MzAyNGEoMHgzOTYpXShfMHgxODM3NGZbXzB4MzAyNGEoMHgzYjUpXSgnLCcpKSk7fXJldHVybiBfMHg1OWRiOGZbXzB4MzAyNGEoMHgzMzApXSgpLF8weDI1YzczOVsnc29ydCddKCkseydjb250ZXh0QXR0cmlidXRlcyc6XzB4N2IzM2Y3LCdwYXJhbWV0ZXJzJzpfMHgyNWM3MzksJ3NoYWRlclByZWNpc2lvbnMnOl8weDViOTQxZCwnZXh0ZW5zaW9ucyc6XzB4M2JlZjNjLCdleHRlbnNpb25QYXJhbWV0ZXJzJzpfMHg1OWRiOGZ9O319O2Z1bmN0aW9uIFJlKF8weDM0ZWRlZCl7dmFyIF8weDRhZjFmOD1fMHgzZmQ2OTAsXzB4NWNiYjdlPWZ1bmN0aW9uKF8weDQ5MmJmNil7dmFyIF8weDVlZGEyNT1fMHg0Y2VkO2lmKE4oKSlyZXR1cm4gMC40O2lmKFgoKSlyZXR1cm4hUCgpfHxIKCkmJkUoKT8wLjM6MC41O3ZhciBfMHg0NzI2NjM9J3ZhbHVlJ2luIF8weDQ5MmJmNltfMHg1ZWRhMjUoMHgyMTcpXT9fMHg0OTJiZjZbXzB4NWVkYTI1KDB4MjE3KV1bJ3ZhbHVlJ106Jyc7aWYoL15XaW4vW18weDVlZGEyNSgweDMyNildKF8weDQ3MjY2MykpcmV0dXJuIDAuNjtpZigvXk1hYy9bJ3Rlc3QnXShfMHg0NzI2NjMpKXJldHVybiAwLjU7cmV0dXJuIDAuNzt9KF8weDM0ZWRlZCksXzB4ZDQ5YTczPWZ1bmN0aW9uKF8weDExMTg3Zil7cmV0dXJuIHYoMC45OSswLjAxKl8weDExMTg3ZiwwLjAwMDEpO30oXzB4NWNiYjdlKTtyZXR1cm57J3Njb3JlJzpfMHg1Y2JiN2UsJ2NvbW1lbnQnOl8weDRhZjFmOCgweDI1ZilbJ3JlcGxhY2UnXSgvXCQvZywnJ1tfMHg0YWYxZjgoMHgzOTYpXShfMHhkNDlhNzMpKX07fWZ1bmN0aW9uIEZlKF8weDQwNzczMSl7dmFyIF8weDFkYzkyYT1fMHgzZmQ2OTA7cmV0dXJuIEpTT05bXzB4MWRjOTJhKDB4MmI4KV0oXzB4NDA3NzMxLGZ1bmN0aW9uKF8weDM3ODI1MCxfMHgyMWQyNzQpe3ZhciBfMHhjYjhjYTM9XzB4MWRjOTJhO3JldHVybiBfMHgyMWQyNzQgaW5zdGFuY2VvZiBFcnJvcj9lKHsnbmFtZSc6KF8weDVmMjY3Mz1fMHgyMWQyNzQpW18weGNiOGNhMygweDJjMSldLCdtZXNzYWdlJzpfMHg1ZjI2NzNbXzB4Y2I4Y2EzKDB4MmIzKV0sJ3N0YWNrJzpudWxsPT09KF8weDEzNGU4Nj1fMHg1ZjI2NzNbXzB4Y2I4Y2EzKDB4MjM0KV0pfHx2b2lkIDB4MD09PV8weDEzNGU4Nj92b2lkIDB4MDpfMHgxMzRlODZbJ3NwbGl0J10oJ1x4MGEnKX0sXzB4NWYyNjczKTpfMHgyMWQyNzQ7dmFyIF8weDVmMjY3MyxfMHgxMzRlODY7fSwweDIpO31mdW5jdGlvbiBHZShfMHgxZDNmMTUpe3JldHVybiBNKGZ1bmN0aW9uKF8weDVlOWQ1Yil7dmFyIF8weDFiMTUyMz1fMHg0Y2VkO2Zvcih2YXIgXzB4MmYwNjcxPScnLF8weDFiMmQ0NT0weDAsXzB4NGU4YTY0PU9iamVjdFsna2V5cyddKF8weDVlOWQ1YilbXzB4MWIxNTIzKDB4MzMwKV0oKTtfMHgxYjJkNDU8XzB4NGU4YTY0W18weDFiMTUyMygweDJlNCldO18weDFiMmQ0NSsrKXt2YXIgXzB4Mjg0ZDU5PV8weDRlOGE2NFtfMHgxYjJkNDVdLF8weGM4ZDRkMT1fMHg1ZTlkNWJbXzB4Mjg0ZDU5XSxfMHgyZGEzZjY9XzB4MWIxNTIzKDB4MzE1KWluIF8weGM4ZDRkMT9fMHgxYjE1MjMoMHgzMTUpOkpTT05bJ3N0cmluZ2lmeSddKF8weGM4ZDRkMVsndmFsdWUnXSk7XzB4MmYwNjcxKz0nJ1snY29uY2F0J10oXzB4MmYwNjcxPyd8JzonJylbXzB4MWIxNTIzKDB4Mzk2KV0oXzB4Mjg0ZDU5W18weDFiMTUyMygweDFlNyldKC8oWzp8XFxdKS9nLF8weDFiMTUyMygweDI1NCkpLCc6JylbXzB4MWIxNTIzKDB4Mzk2KV0oXzB4MmRhM2Y2KTt9cmV0dXJuIF8weDJmMDY3MTt9KF8weDFkM2YxNSkpO31mdW5jdGlvbiBJZShfMHgzZGM1NGEpe3JldHVybiB2b2lkIDB4MD09PV8weDNkYzU0YSYmKF8weDNkYzU0YT0weDMyKSxmdW5jdGlvbihfMHgxMzk3ZDQsXzB4MzMwZDJiKXt2YXIgXzB4NDUxZTBkPV8weDRjZWQ7dm9pZCAweDA9PT1fMHgzMzBkMmImJihfMHgzMzBkMmI9MHgxLzB4MCk7dmFyIF8weDdkYzUzPXdpbmRvd1sncmVxdWVzdElkbGVDYWxsYmFjayddO3JldHVybiBfMHg3ZGM1Mz9uZXcgUHJvbWlzZShmdW5jdGlvbihfMHgyZDgyOGIpe3ZhciBfMHgzNTE2MTg9XzB4NGNlZDtyZXR1cm4gXzB4N2RjNTNbXzB4MzUxNjE4KDB4M2U5KV0od2luZG93LGZ1bmN0aW9uKCl7cmV0dXJuIF8weDJkODI4YigpO30seyd0aW1lb3V0JzpfMHgzMzBkMmJ9KTt9KTpvKE1hdGhbXzB4NDUxZTBkKDB4MmUyKV0oXzB4MTM5N2Q0LF8weDMzMGQyYikpO30oXzB4M2RjNTRhLDB4MipfMHgzZGM1NGEpO31mdW5jdGlvbiBZZShfMHgzOTY2MTksXzB4Y2YzODg1KXt2YXIgXzB4NTUxNDI9RGF0ZVsnbm93J10oKTtyZXR1cm57J2dldCc6ZnVuY3Rpb24oXzB4NmYzOGJmKXtyZXR1cm4gbih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDJlN2IzNixfMHhkNWUzNGYsXzB4MzhlMmJkO3JldHVybiB0KHRoaXMsZnVuY3Rpb24oXzB4MzExMGE0KXt2YXIgXzB4NTNiZTQ5PV8weDRjZWQ7c3dpdGNoKF8weDMxMTBhNFtfMHg1M2JlNDkoMHgyZTEpXSl7Y2FzZSAweDA6cmV0dXJuIF8weDJlN2IzNj1EYXRlW18weDUzYmU0OSgweDFmNildKCksWzB4NCxfMHgzOTY2MTkoKV07Y2FzZSAweDE6cmV0dXJuIF8weGQ1ZTM0Zj1fMHgzMTEwYTRbXzB4NTNiZTQ5KDB4MzgxKV0oKSxfMHgzOGUyYmQ9ZnVuY3Rpb24oXzB4NDIyMGNlKXt2YXIgXzB4MmNkNzQxO3JldHVybntnZXQgJ3Zpc2l0b3JJZCcoKXt2YXIgXzB4NWYzYWQ4PV8weDRjZWQ7cmV0dXJuIHZvaWQgMHgwPT09XzB4MmNkNzQxJiYoXzB4MmNkNzQxPUdlKHRoaXNbXzB4NWYzYWQ4KDB4M2Y4KV0pKSxfMHgyY2Q3NDE7fSxzZXQgJ3Zpc2l0b3JJZCcoXzB4Mjc2ZjZjKXtfMHgyY2Q3NDE9XzB4Mjc2ZjZjO30sJ2NvbmZpZGVuY2UnOlJlKF8weDQyMjBjZSksJ2NvbXBvbmVudHMnOl8weDQyMjBjZSwndmVyc2lvbic6JzQuMi4xJ307fShfMHhkNWUzNGYpLChfMHhjZjM4ODV8fChudWxsPT1fMHg2ZjM4YmY/dm9pZCAweDA6XzB4NmYzOGJmW18weDUzYmU0OSgweDM3YildKSkmJmNvbnNvbGVbJ2xvZyddKF8weDUzYmU0OSgweDM3ZilbJ2NvbmNhdCddKF8weDM4ZTJiZFtfMHg1M2JlNDkoMHgzN2EpXSxfMHg1M2JlNDkoMHgzZjIpKVtfMHg1M2JlNDkoMHgzOTYpXShuYXZpZ2F0b3JbJ3VzZXJBZ2VudCddLF8weDUzYmU0OSgweDNlMSkpW18weDUzYmU0OSgweDM5NildKF8weDJlN2IzNi1fMHg1NTE0MiwnXHgwYXZpc2l0b3JJZDpceDIwJylbXzB4NTNiZTQ5KDB4Mzk2KV0oXzB4MzhlMmJkW18weDUzYmU0OSgweDMxZildLF8weDUzYmU0OSgweDIxNSkpW18weDUzYmU0OSgweDM5NildKEZlKF8weGQ1ZTM0ZiksJ1x4MGFgYGAnKSksWzB4MixfMHgzOGUyYmRdO319KTt9KTt9fTt9ZnVuY3Rpb24gamUoXzB4ODNlODU4KXtyZXR1cm4gdm9pZCAweDA9PT1fMHg4M2U4NTgmJihfMHg4M2U4NTg9e30pLG4odGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHgzYjIxNDEsXzB4M2QyNDY4LF8weDI1MDIwMDtyZXR1cm4gdCh0aGlzLGZ1bmN0aW9uKF8weDQ0ZjdhZSl7dmFyIF8weDMzOGQ0Yz1fMHg0Y2VkO3N3aXRjaChfMHg0NGY3YWVbJ2xhYmVsJ10pe2Nhc2UgMHgwOnJldHVybiBfMHg4M2U4NThbXzB4MzM4ZDRjKDB4MzRiKV0sXzB4M2IyMTQxPV8weDgzZTg1OFtfMHgzMzhkNGMoMHgyZjkpXSxfMHgzZDI0Njg9XzB4ODNlODU4W18weDMzOGQ0YygweDM3YildLFsweDQsSWUoXzB4M2IyMTQxKV07Y2FzZSAweDE6cmV0dXJuIF8weDQ0ZjdhZVtfMHgzMzhkNGMoMHgzODEpXSgpLF8weDI1MDIwMD1mdW5jdGlvbihfMHgzMjlkZTApe3JldHVybiBGKE1lLF8weDMyOWRlMCxbXSk7fSh7J2NhY2hlJzp7fSwnZGVidWcnOl8weDNkMjQ2OH0pLFsweDIsWWUoXzB4MjUwMjAwLF8weDNkMjQ2OCldO319KTt9KTt9dmFyIFhlPXsnbG9hZCc6amUsJ2hhc2hDb21wb25lbnRzJzpHZSwnY29tcG9uZW50c1RvRGVidWdTdHJpbmcnOkZlfSxQZT1NO2V4cG9ydHtGZSBhcyBjb21wb25lbnRzVG9EZWJ1Z1N0cmluZyxYZSBhcyBkZWZhdWx0LHogYXMgZG9lc0Jyb3dzZXJTdXNwZW5kQXVkaW9Db250ZXh0LEEgYXMgZ2V0RnVsbHNjcmVlbkVsZW1lbnQsXyBhcyBnZXRVbnN0YWJsZUF1ZGlvRmluZ2VycHJpbnQsSyBhcyBnZXRVbnN0YWJsZUNhbnZhc0ZpbmdlcnByaW50LHJlIGFzIGdldFVuc3RhYmxlU2NyZWVuRnJhbWUsZWUgYXMgZ2V0VW5zdGFibGVTY3JlZW5SZXNvbHV0aW9uLGtlIGFzIGdldFdlYkdMQ29udGV4dCxiZSBhcyBoYW5kbGVBcHBsZVBheUVycm9yLEdlIGFzIGhhc2hDb21wb25lbnRzLE4gYXMgaXNBbmRyb2lkLGogYXMgaXNDaHJvbWl1bSxQIGFzIGlzRGVza3RvcFdlYktpdCxZIGFzIGlzRWRnZUhUTUwsQyBhcyBpc0dlY2tvLEkgYXMgaXNUcmlkZW50LFggYXMgaXNXZWJLaXQsamUgYXMgbG9hZCxGIGFzIGxvYWRTb3VyY2VzLFBlIGFzIG11cm11clg2NEhhc2gxMjgsSWUgYXMgcHJlcGFyZUZvclNvdXJjZXMsTyBhcyByZW5kZXJBdWRpbyxNZSBhcyBzb3VyY2VzLEcgYXMgdHJhbnNmb3JtU291cmNlLEogYXMgd2l0aElmcmFtZX07amUoKVtfMHgzZmQ2OTAoMHgyOGYpXShfMHgyN2M0NjU9Pl8weDI3YzQ2NVtfMHgzZmQ2OTAoMHgyNDEpXSgpKVsndGhlbiddKF8weGQ3OWU5OD0+e3ZhciBfMHgzYWY5Yzk9XzB4M2ZkNjkwO2NvbnN0IF8weDUxYTE4Mj1fMHhkNzllOThbXzB4M2FmOWM5KDB4MzFmKV07ZG9jdW1lbnRbJ2dldEVsZW1lbnRCeUlkJ10oXzB4M2FmOWM5KDB4M2U2KSlbXzB4M2FmOWM5KDB4MzMyKV09XzB4M2FmOWM5KDB4MmYzKStfMHg1MWExODIsZG9jdW1lbnRbXzB4M2FmOWM5KDB4MWViKV0oJ3JpJylbXzB4M2FmOWM5KDB4MjFhKV09XzB4NTFhMTgyO30pOw==
Message:
WebGL: this extension has very low support on mobile devices; do not rely on it for rendering effects: WEBGL_polygon_mode