+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Privacy Policy Protecting your privacy is very important to us. We do not collect any personally identifiable information (PII) about you during your visit to the CIT website, unless you choose to provide it to us. We do, however, collect some data about your visit to our website to help us better understand how the public uses the site and how to make it more helpful.
We collect information from visitors who read, browse and/or download information from our website. CIT never collects information for commercial marketing or any purpose unrelated to the CIT mission and goals.
When visitors send email messages or send information via the “Contact Us” page containing personal information, CIT staff responds to the messages and files them. Only designated staff members requiring access to the emails to respond may view or answer them.
Types of Information the CIT Website Collects When you browse through any website, certain information about your visit can be collected. We automatically collect and temporarily store the following information about your visit:
Domain from which you access the Internet IP address (an IP address is a number that is automatically assigned to a computer when surfing the web) Operating system and information about the browser you used when visiting the site Date and time of your visit Pages you visited or items downloaded Address of the website that connected you to a CIT website (such as google.com or bing.com) Demographic and interest data We use this information to measure the number of visitors to our website and to help make our site more useful to visitors. This information cannot be used to identify you as an individual.
How the CIT Website Collects Information The cit.nih.gov site uses Google Analytics to collect the information in the bulleted list in the “Types of Information the CIT Website Collects” section above. Google Analytics collects information automatically and continuously; no PII is collected. The CIT staff conducts analyses and reports on the aggregated data from Google Analytics. The reports are only available to cit.nih.gov managers, members of the cit.nih.gov communications and web teams and other designated staff who require this information to perform their duties.
Additionally, cit.nih.gov participates in the Digital Analytics Program (DAP), in which Google Analytics data is collected from websites across the U.S. Government. For more information on DAP, please visit the DigitalGov website .
CIT retains the data from Google Analytics and its Content Management System (CMS) as long as needed to support the mission of the cit.nih.gov website.
How the CIT Website Uses Cookies The Office of Management and Budget (OMB) Memo M-10-22, Guidance for Online Use of Web Measurement and Customization Technologies allows Federal agencies to use session and persistent cookies.
When you visit any website, its server may generate a piece of text known as a "cookie" to place on your computer. The cookie allows the server to "remember" specific information about your visit while you are connected.
The cookie makes it easier for you to use the dynamic features of webpages. Cookies from CIT webpages only collect information about your browser’s visit to the site; they do not collect personal information about you.
There are two types of cookies, single session (temporary) and multi-session (persistent). Session cookies last only as long as your web browser is open. Once you close your browser, the cookie disappears. Persistent cookies are stored on your computer for longer periods.
Session Cookies: We use session cookies for technical purposes such as to enable better navigation through our site. These cookies let our server know that you are continuing a visit to our site. The OMB Memo 10-22 Guidance defines our use of session cookies as “Usage Tier 1—Single Session.” The policy states: “This tier encompasses any use of single session web measurement and customization technologies.”
How to Opt Out of or Disable Cookies If you do not wish to have session or persistent cookies placed on your computer, you can disable them using your web browser. If you opt out of cookies, you will still have access to all information and resources at cit.nih.gov. Instructions for disabling or opting out of cookies in the most popular browsers are located at USA.gov's Opt-Out Instructions . Please note that by following the instructions to opt-out of cookies, you will disable cookies from all sources, not just those from cit.nih.gov.
How Personally Identifiable Information is Protected You do not have to give us personal information to visit the CIT websites. However, if you choose to receive alerts or e-newsletters, we collect your email address to complete the subscription process.
If you choose to provide us with PII, we will maintain the information you provide only as long as needed to respond to your question or to fulfill the stated purpose of the communication. If we store your personal information in a record system designed to retrieve information about you by personal identifier (name, personal email address, home mailing address, personal or mobile phone number, etc.), so that we may contact you, we will safeguard the information you provide to us in accordance with the Privacy Act of 1974, as amended (5 U.S.C. Section 552a).
Third-Party Websites and Applications, Including Social Media Sites As part of the OMB Memo M-10-06, Open Government Directive , CIT uses a variety of new technologies and social media options to communicate and interact with citizens. These sites and applications include popular social networking and media sites, open-source software communities and more. Third-party websites and applications (TPWAs) are web-based technologies that are not exclusively operated or controlled by NIH or CIT such as applications not hosted on a .gov domain or those that are embedded on CIT webpages. Users of TPWAs often share information with the general public, user community and/or the third-party operating the website. These actors may use this information in a variety of ways. TPWAs could cause PII to become available or accessible to CIT and the public, regardless of whether the information is explicitly solicited or collected by CIT.
The following list includes some of the TPWAs CIT uses and their purpose. CIT sometimes collects and uses PII made available through third-party websites. However, we do not share PII made available through third-party websites. Your activity on the third-party websites we use is governed by the security and privacy policy of those sites, which we have linked below. You should review the third-party privacy policies before using the sites and ensure that you understand how your information may be used. If you have an account with a third-party website, and choose to follow, like, friend or comment, certain PII associated with your account may be made available to CIT based on the privacy policy of the third-party website and your privacy settings within that third-party website. Therefore, you should also adjust privacy settings on your account to match your preferences.
For any CIT TPWA that collects PII, the list below also includes details on the information CIT collects and how we will protect your private information.
AddThis: CIT uses the AddThis service to allow visitors to bookmark and share cit.nih.gov website content on a variety of social media sites. Visitors who use the AddThis service to share content do not need to register or provide any personal information. The AddThis service providers collect non-personal data, including the aggregate and summary statistics on browsers and usage patterns. AddThis also uses non-personal data to manage the service efficiently and diagnose server problems. Although AddThis offers some analytics and usage data to CIT, these reports do not include any PII. The reports are password-protected and only available to cit.nih.gov managers, members of the cit.nih.gov communications and web teams and other designated staff requiring this information to perform their duties. You can view the AddThis privacy policy at http://www.addthis.com/privacy .
Parts of CIT use Twitter to send short messages known as “tweets” to share information about CIT with visitors and respond to comments and inquiries sent via Twitter to CIT. While visitors may read the CIT Twitter feeds without subscribing to them, visitors who want to subscribe to (or follow) CIT Twitter feeds must create a Twitter account at www.twitter.com . To create an account, you must provide some personal information, such as your name, user name, password and email address. Visitors have the option to provide additional personal information including a short biography, location, or a picture. Most information you provide for a Twitter account is available to the public, but you can modify how much of your information is visible by changing your Twitter privacy settings. CIT staff members never take possession of the personal information belonging to you as a Twitter follower. However, as a practice, comment moderator policy requires the removal from the CIT Twitter pages of any comments that contain spam or are improper, inflammatory or offensive. The information is then saved on a password-protected shared drive accessible to CIT managers, system owners, communications staff, web teams and other designated staff who require this information to perform their duties. The Twitter privacy policy is available at http://twitter.com/privacy .
YouTube: CIT posts videos on YouTube to make them available to all cit.nih.gov visitors. You do not need to register with either YouTube or Google (the owner of YouTube) to watch CIT videos. When visitors watch videos, YouTube may record non-PII about its site usage, such as channels used, videos watched and data transfer details to improve its services. If you log on to the YouTube site before watching CIT videos, YouTube may associate information about your site use with your YouTube account. If you log on to YouTube and comment on a CIT video, any personal information you included when registering for your account will be visible to visitors who click on the comment. If you do not log in before watching CIT videos posted on YouTube, you cannot comment on CIT videos and your site use will not be associated with you or a YouTube account. YouTube’s privacy policy is the same as Google's privacy policy and is available at https://www.google.com/intl/en/policies/privacy/ .
CIT conducts and publishes a Privacy Impact Assessment (PIA) for each use of a third-party website as they may have a different functionality or practice. To learn more, visit the published PIAs at http://www.hhs.gov/pia/#Third-Party .
For more information on the uses of social and new media for which the U.S. General Services Administration (GSA) has negotiated a federally-friendly Terms of Service Agreement, visit DigitalGov at Negotiated Terms of Service Agreements .
For More Information For more information about the CIT privacy policy, please contact the CIT Privacy Act Liaison:
Erica Williams
willieri@mail.nih.gov
301-402-1775
+
+
+
+
+
+
+
+
+
+
+
+
Privacy Policy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/robots.txt b/cit.nih.gov/robots.txt
new file mode 100644
index 00000000000..3ad8e2e8dec
--- /dev/null
+++ b/cit.nih.gov/robots.txt
@@ -0,0 +1,73 @@
+#
+# robots.txt
+#
+# This file is to prevent the crawling and indexing of certain parts
+# of your site by web crawlers and spiders run by sites like Yahoo!
+# and Google. By telling these "robots" where not to go on your site,
+# you save bandwidth and server resources.
+#
+# This file will be ignored unless it is at the root of your host:
+# Used: http://example.com/robots.txt
+# Ignored: http://example.com/site/robots.txt
+#
+# For more information about the robots.txt standard, see:
+# http://www.robotstxt.org/robotstxt.html
+
+User-agent: *
+# CSS, JS, Images
+Allow: /core/*.css$
+Allow: /core/*.css?
+Allow: /core/*.js$
+Allow: /core/*.js?
+Allow: /core/*.gif
+Allow: /core/*.jpg
+Allow: /core/*.jpeg
+Allow: /core/*.png
+Allow: /core/*.svg
+Allow: /profiles/*.css$
+Allow: /profiles/*.css?
+Allow: /profiles/*.js$
+Allow: /profiles/*.js?
+Allow: /profiles/*.gif
+Allow: /profiles/*.jpg
+Allow: /profiles/*.jpeg
+Allow: /profiles/*.png
+Allow: /profiles/*.svg
+# Directories
+Disallow: /core/
+Disallow: /profiles/
+# Files
+Disallow: /README.md
+Disallow: /composer/Metapackage/README.txt
+Disallow: /composer/Plugin/ProjectMessage/README.md
+Disallow: /composer/Plugin/Scaffold/README.md
+Disallow: /composer/Plugin/VendorHardening/README.txt
+Disallow: /composer/Template/README.txt
+Disallow: /modules/README.txt
+Disallow: /sites/README.txt
+Disallow: /themes/README.txt
+Disallow: /web.config
+# Paths (clean URLs)
+Disallow: /admin/
+Disallow: /comment/reply/
+Disallow: /filter/tips
+Disallow: /node/add/
+Disallow: /search/
+Disallow: /user/register
+Disallow: /user/password
+Disallow: /user/login
+Disallow: /user/logout
+Disallow: /media/oembed
+Disallow: /*/media/oembed
+# Paths (no clean URLs)
+Disallow: /index.php/admin/
+Disallow: /index.php/comment/reply/
+Disallow: /index.php/filter/tips
+Disallow: /index.php/node/add/
+Disallow: /index.php/search/
+Disallow: /index.php/user/password
+Disallow: /index.php/user/register
+Disallow: /index.php/user/login
+Disallow: /index.php/user/logout
+Disallow: /index.php/media/oembed
+Disallow: /index.php/*/media/oembed
diff --git a/cit.nih.gov/services-and-support/find-support b/cit.nih.gov/services-and-support/find-support
new file mode 100644
index 00000000000..f978fbd8442
--- /dev/null
+++ b/cit.nih.gov/services-and-support/find-support
@@ -0,0 +1,1073 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Find Support | CIT Customer Portal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Skip to main content
+
+
+
+
+
+
+
+
+
+
+ Official websites use .gov A
+ .gov website belongs to an official government
+ organization in the United States.
+
+
+
+
+
+
+
+ Secure .gov websites use HTTPS A
+ lock (
+
+ Lock
+ Locked padlock icon
+
+ ) or https:// means you’ve safely connected to
+ the .gov website. Share sensitive information only on official,
+ secure websites.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Find Support
+
+
+
+
For IT support, call 301-496-4357.
Alternative Numbers:
866-319-4357 (toll-free)
301-496-8294 (TTY: for those with hearing or speech difficulties)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Top Ticket Requests Browse the most frequently requested tickets from the IT Service Desk and click on a card to submit a ticket.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Top Knowledge Base Articles Browse the most frequently used self-service articles from the Knowledge Base and click on a card to read the article.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Best Practices and FAQ
+
+
+
Before submitting a ticket, check out some of CIT’s best practices and frequently asked questions to submit more informed requests and get help faster.
+
+
+
+
+
+
+
+
+
+
+
+
+
The CIT Customer Portal is a new website accessible to NIH staff only that offers detailed and current information about IT services, support, and resources to equip the NIH community with the tools they need to make biomedical discoveries that protect and improve our nation’s health.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
If an issue does not stop your ability to work, submit a ticket through the IT Service Desk .
If an issue stops your ability to work, call the IT Service Desk at (301) 496-4357.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
When submitting a ticket through the IT Service Desk , you should first determine if you are submitting an incident or a request.
Incident: Something is broken, or a service that is supposed to be working is not working.
Request: You would like to request a new service, software, or access.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
After determining if your ticket should be an incident or a request, start by finding the right overarching category in the IT Service Desk (e.g., Account and Access Administration, Personal Computing Services), and then within that category, choose the ticket that best fits your request or issue. If you are having trouble finding the right ticket, we recommend using the search bar to pull up relevant options.
If you do not know how to categorize your ticket, many overarching categories, especially in the Incident Catalog, feature an “unable to categorize” ticket option. Use this option and provide as many details as possible in the notes section of the ticket to help ensure that your ticket is quickly routed to the correct team.
If you are still having trouble categorizing your ticket and “unable to categorize” is not an option, call the Service Desk team at (301) 496-4357 and an IT Service Desk representative will help get your ticket to the right team.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
It’s important to collect as much information as possible before submitting a ticket through the IT Service Desk so the Support Staff can resolve your issue quickly and effectively. This information can include your NIH username, password, PIN, PIV card personal identifier number, Government-Furnished Equipment serial number, and a detailed description of the issue.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
To access NIH resources, one must be authenticated. Without the proper credentials, only the NIH public site is visible to those wishing to learn about the NIH.
If you are having trouble logging in to the Customer Portal, the IT Service Desk, or related NIH-only resources, first make sure you have verified your identity or authenticated using the Smart Card Login or the Authenticator Application. View the Login Help options for more information.
NIH staff who still cannot authenticate should contact the IT Service Desk at (301) 496-4357.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Find Support Phone
301-496-4357 (primary number)
866-319-4357 (toll-free)
301-496-8294 (TTY)
Online
Submit a ticket
Location
6555 Rock Spring Drive, 3G04
Bethesda, MD 20817
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/sites/default/files/2023-12/media (1).png b/cit.nih.gov/sites/default/files/2023-12/media (1).png
new file mode 100644
index 00000000000..67bca4fbedd
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2023-12/media (1).png differ
diff --git a/cit.nih.gov/sites/default/files/2023-12/media (7).png b/cit.nih.gov/sites/default/files/2023-12/media (7).png
new file mode 100644
index 00000000000..8be85c41cb4
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2023-12/media (7).png differ
diff --git a/cit.nih.gov/sites/default/files/2023-12/media.png b/cit.nih.gov/sites/default/files/2023-12/media.png
new file mode 100644
index 00000000000..fba33ee84ee
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2023-12/media.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-01/1.24.24 Header.png b/cit.nih.gov/sites/default/files/2024-01/1.24.24 Header.png
new file mode 100644
index 00000000000..e77fefc3150
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-01/1.24.24 Header.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-01/Image.png b/cit.nih.gov/sites/default/files/2024-01/Image.png
new file mode 100644
index 00000000000..97cb77a6e00
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-01/Image.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_10.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_10.png
new file mode 100644
index 00000000000..30016532b6f
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_10.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_5.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_5.png
new file mode 100644
index 00000000000..30016532b6f
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_5.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_6.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_6.png
new file mode 100644
index 00000000000..30016532b6f
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_6.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_7.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_7.png
new file mode 100644
index 00000000000..30016532b6f
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_7.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_8.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_8.png
new file mode 100644
index 00000000000..30016532b6f
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_8.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_9.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_9.png
new file mode 100644
index 00000000000..30016532b6f
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icon_OurValues_9.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Accounts_0.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Accounts_0.png
new file mode 100644
index 00000000000..d8e11f1b2ae
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Accounts_0.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Accounts_1.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Accounts_1.png
new file mode 100644
index 00000000000..d8e11f1b2ae
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Accounts_1.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Accounts_2.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Accounts_2.png
new file mode 100644
index 00000000000..d8e11f1b2ae
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Accounts_2.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Enterprise.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Enterprise.png
new file mode 100644
index 00000000000..dfffab7caf9
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Enterprise.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_M365G_0.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_M365G_0.png
new file mode 100644
index 00000000000..20cae92948e
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_M365G_0.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile.png
new file mode 100644
index 00000000000..691d1ca47bb
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile_0.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile_0.png
new file mode 100644
index 00000000000..691d1ca47bb
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile_0.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile_1.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile_1.png
new file mode 100644
index 00000000000..691d1ca47bb
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile_1.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile_2.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile_2.png
new file mode 100644
index 00000000000..691d1ca47bb
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_Mobile_2.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHAdmin_0.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHAdmin_0.png
new file mode 100644
index 00000000000..c4bbea680e7
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHAdmin_0.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHAdmin_1.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHAdmin_1.png
new file mode 100644
index 00000000000..c4bbea680e7
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHAdmin_1.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHNetwork_0.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHNetwork_0.png
new file mode 100644
index 00000000000..990af9fa438
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHNetwork_0.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHNetwork_1.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHNetwork_1.png
new file mode 100644
index 00000000000..990af9fa438
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHNetwork_1.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHNetwork_2.png b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHNetwork_2.png
new file mode 100644
index 00000000000..990af9fa438
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Insider_Icons_NIHNetwork_2.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/Rectangle 4316_0.png b/cit.nih.gov/sites/default/files/2024-03/Rectangle 4316_0.png
new file mode 100644
index 00000000000..a1c77e83d16
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/Rectangle 4316_0.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/cit-customer-portal.png b/cit.nih.gov/sites/default/files/2024-03/cit-customer-portal.png
new file mode 100644
index 00000000000..1d0c93ec691
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/cit-customer-portal.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/cit-find-support_0.png b/cit.nih.gov/sites/default/files/2024-03/cit-find-support_0.png
new file mode 100644
index 00000000000..a3db9bac05d
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/cit-find-support_0.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-03/cit-our-mission.png b/cit.nih.gov/sites/default/files/2024-03/cit-our-mission.png
new file mode 100644
index 00000000000..1281b04b500
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-03/cit-our-mission.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/2People_Transparentv2.png b/cit.nih.gov/sites/default/files/2024-04/2People_Transparentv2.png
new file mode 100644
index 00000000000..4036f1048fe
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/2People_Transparentv2.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Find Support header.png b/cit.nih.gov/sites/default/files/2024-04/Find Support header.png
new file mode 100644
index 00000000000..0d4922affd5
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Find Support header.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/How we do it.jpg b/cit.nih.gov/sites/default/files/2024-04/How we do it.jpg
new file mode 100644
index 00000000000..245a1a0e35b
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/How we do it.jpg differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icon_SDandCC (1).png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icon_SDandCC (1).png
new file mode 100644
index 00000000000..fe6418a5dfe
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icon_SDandCC (1).png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ Communication.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ Communication.png
new file mode 100644
index 00000000000..0936af67494
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ Communication.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Accounts_0.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Accounts_0.png
new file mode 100644
index 00000000000..d8e11f1b2ae
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Accounts_0.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ComputServices_1.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ComputServices_1.png
new file mode 100644
index 00000000000..b26ab108480
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ComputServices_1.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Facilities.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Facilities.png
new file mode 100644
index 00000000000..e174557b805
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Facilities.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_GenAI_0.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_GenAI_0.png
new file mode 100644
index 00000000000..df08fbd741b
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_GenAI_0.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ITSupport.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ITSupport.png
new file mode 100644
index 00000000000..faa865ad73f
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ITSupport.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_M365G.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_M365G.png
new file mode 100644
index 00000000000..20cae92948e
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_M365G.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_NIHAdmin.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_NIHAdmin.png
new file mode 100644
index 00000000000..c4bbea680e7
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_NIHAdmin.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_NIHNetwork_1.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_NIHNetwork_1.png
new file mode 100644
index 00000000000..990af9fa438
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_NIHNetwork_1.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ServiceNow.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ServiceNow.png
new file mode 100644
index 00000000000..a4a8285ba9f
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_ServiceNow.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Software.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Software.png
new file mode 100644
index 00000000000..1df8fe0413c
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Software.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Training.png b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Training.png
new file mode 100644
index 00000000000..b87aef8ab17
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Insider_Icons_Training.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/NIH prioritizes health.jpeg b/cit.nih.gov/sites/default/files/2024-04/NIH prioritizes health.jpeg
new file mode 100644
index 00000000000..6fa13cca9ae
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/NIH prioritizes health.jpeg differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/NIH.jpg b/cit.nih.gov/sites/default/files/2024-04/NIH.jpg
new file mode 100644
index 00000000000..905a792f564
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/NIH.jpg differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/Woman on call.jpg b/cit.nih.gov/sites/default/files/2024-04/Woman on call.jpg
new file mode 100644
index 00000000000..21a5d830edc
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/Woman on call.jpg differ
diff --git a/cit.nih.gov/sites/default/files/2024-04/fitness latest photo.png b/cit.nih.gov/sites/default/files/2024-04/fitness latest photo.png
new file mode 100644
index 00000000000..a009faa02c0
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-04/fitness latest photo.png differ
diff --git a/cit.nih.gov/sites/default/files/2024-06/Computer Image.jpeg b/cit.nih.gov/sites/default/files/2024-06/Computer Image.jpeg
new file mode 100644
index 00000000000..7a600acaa3d
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-06/Computer Image.jpeg differ
diff --git a/cit.nih.gov/sites/default/files/2024-07/Media (20).png b/cit.nih.gov/sites/default/files/2024-07/Media (20).png
new file mode 100644
index 00000000000..f0e19cda23f
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-07/Media (20).png differ
diff --git a/cit.nih.gov/sites/default/files/2024-07/Media (21).png b/cit.nih.gov/sites/default/files/2024-07/Media (21).png
new file mode 100644
index 00000000000..b044dce91a3
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-07/Media (21).png differ
diff --git a/cit.nih.gov/sites/default/files/2024-07/Media (22).png b/cit.nih.gov/sites/default/files/2024-07/Media (22).png
new file mode 100644
index 00000000000..56183d9bc07
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-07/Media (22).png differ
diff --git a/cit.nih.gov/sites/default/files/2024-07/Media (23).png b/cit.nih.gov/sites/default/files/2024-07/Media (23).png
new file mode 100644
index 00000000000..06638e1a95d
Binary files /dev/null and b/cit.nih.gov/sites/default/files/2024-07/Media (23).png differ
diff --git a/cit.nih.gov/sites/default/files/cit-logo-retina.png b/cit.nih.gov/sites/default/files/cit-logo-retina.png
new file mode 100644
index 00000000000..731da9c6621
Binary files /dev/null and b/cit.nih.gov/sites/default/files/cit-logo-retina.png differ
diff --git a/cit.nih.gov/sites/default/files/favicon_0.ico b/cit.nih.gov/sites/default/files/favicon_0.ico
new file mode 100644
index 00000000000..5dd3ba74e2a
Binary files /dev/null and b/cit.nih.gov/sites/default/files/favicon_0.ico differ
diff --git a/cit.nih.gov/sites/default/files/styles/190x190/public/2024-04/MicrosoftTeams-image (19).png?itok=gVP6AYLx b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-04/MicrosoftTeams-image (19).png?itok=gVP6AYLx
new file mode 100644
index 00000000000..0aca371a67e
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-04/MicrosoftTeams-image (19).png?itok=gVP6AYLx differ
diff --git a/cit.nih.gov/sites/default/files/styles/190x190/public/2024-04/MicrosoftTeams-image (20).png?itok=YwpbJy27 b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-04/MicrosoftTeams-image (20).png?itok=YwpbJy27
new file mode 100644
index 00000000000..fabb727c1b7
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-04/MicrosoftTeams-image (20).png?itok=YwpbJy27 differ
diff --git a/cit.nih.gov/sites/default/files/styles/190x190/public/2024-04/MicrosoftTeams-image (21).png?itok=tpVfWl_g b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-04/MicrosoftTeams-image (21).png?itok=tpVfWl_g
new file mode 100644
index 00000000000..a9661856576
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-04/MicrosoftTeams-image (21).png?itok=tpVfWl_g differ
diff --git a/cit.nih.gov/sites/default/files/styles/190x190/public/2024-09/Kevin-Davis.png?itok=f0U6R3-w b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-09/Kevin-Davis.png?itok=f0U6R3-w
new file mode 100644
index 00000000000..329684dfa49
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-09/Kevin-Davis.png?itok=f0U6R3-w differ
diff --git a/cit.nih.gov/sites/default/files/styles/190x190/public/2024-09/Media (11)_0.png?itok=qX8oEtp4 b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-09/Media (11)_0.png?itok=qX8oEtp4
new file mode 100644
index 00000000000..54a445e3720
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-09/Media (11)_0.png?itok=qX8oEtp4 differ
diff --git a/cit.nih.gov/sites/default/files/styles/190x190/public/2024-09/Media (16)_2.png?itok=vOLL3bA3 b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-09/Media (16)_2.png?itok=vOLL3bA3
new file mode 100644
index 00000000000..c43e3b0d25c
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/190x190/public/2024-09/Media (16)_2.png?itok=vOLL3bA3 differ
diff --git a/cit.nih.gov/sites/default/files/styles/wide/public/2024-04/MicrosoftTeams-image (19).png?itok=21KvWjq9 b/cit.nih.gov/sites/default/files/styles/wide/public/2024-04/MicrosoftTeams-image (19).png?itok=21KvWjq9
new file mode 100644
index 00000000000..1c1a13b8f97
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/wide/public/2024-04/MicrosoftTeams-image (19).png?itok=21KvWjq9 differ
diff --git a/cit.nih.gov/sites/default/files/styles/wide/public/2024-04/MicrosoftTeams-image (20).png?itok=auSo1CuG b/cit.nih.gov/sites/default/files/styles/wide/public/2024-04/MicrosoftTeams-image (20).png?itok=auSo1CuG
new file mode 100644
index 00000000000..50cf2901a71
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/wide/public/2024-04/MicrosoftTeams-image (20).png?itok=auSo1CuG differ
diff --git a/cit.nih.gov/sites/default/files/styles/wide/public/2024-04/MicrosoftTeams-image (21).png?itok=E4nQ6Yj- b/cit.nih.gov/sites/default/files/styles/wide/public/2024-04/MicrosoftTeams-image (21).png?itok=E4nQ6Yj-
new file mode 100644
index 00000000000..9d01676244a
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/wide/public/2024-04/MicrosoftTeams-image (21).png?itok=E4nQ6Yj- differ
diff --git a/cit.nih.gov/sites/default/files/styles/wide/public/2024-09/Kevin-Davis.png?itok=dy6GnNFc b/cit.nih.gov/sites/default/files/styles/wide/public/2024-09/Kevin-Davis.png?itok=dy6GnNFc
new file mode 100644
index 00000000000..48b1009ff2d
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/wide/public/2024-09/Kevin-Davis.png?itok=dy6GnNFc differ
diff --git a/cit.nih.gov/sites/default/files/styles/wide/public/2024-09/Media (11)_0.png?itok=Iz-gHdIt b/cit.nih.gov/sites/default/files/styles/wide/public/2024-09/Media (11)_0.png?itok=Iz-gHdIt
new file mode 100644
index 00000000000..7e1f650e7c4
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/wide/public/2024-09/Media (11)_0.png?itok=Iz-gHdIt differ
diff --git a/cit.nih.gov/sites/default/files/styles/wide/public/2024-09/Media (16)_2.png?itok=Tuko0qWF b/cit.nih.gov/sites/default/files/styles/wide/public/2024-09/Media (16)_2.png?itok=Tuko0qWF
new file mode 100644
index 00000000000..568b33172b4
Binary files /dev/null and b/cit.nih.gov/sites/default/files/styles/wide/public/2024-09/Media (16)_2.png?itok=Tuko0qWF differ
diff --git a/cit.nih.gov/themes/contrib/bootstrap_barrio/css/colors/messages/messages-light.css?sk17fb b/cit.nih.gov/themes/contrib/bootstrap_barrio/css/colors/messages/messages-light.css?sk17fb
new file mode 100644
index 00000000000..e491d8a47a2
--- /dev/null
+++ b/cit.nih.gov/themes/contrib/bootstrap_barrio/css/colors/messages/messages-light.css?sk17fb
@@ -0,0 +1,23 @@
+/**
+ * @file
+ * Visual styles for Bootstrap Barrio's system messages.
+ */
+
+.alert-success {
+ color: white;
+ background-color: #00c851;
+ border-color: #007e33;
+}
+.alert-warning {
+ color: white;
+ background-color: #ffbb33;
+ border-color: #ff8800;
+}
+.alert-danger {
+ color: white;
+ background-color: #ff4444;
+ border-color: #cc0000;
+}
+.alert-dismissible .btn-close {
+ opacity: 0.6;
+}
diff --git a/cit.nih.gov/themes/contrib/bootstrap_barrio/css/components/breadcrumb.css?sk17fb b/cit.nih.gov/themes/contrib/bootstrap_barrio/css/components/breadcrumb.css?sk17fb
new file mode 100644
index 00000000000..d6a1a0d2207
--- /dev/null
+++ b/cit.nih.gov/themes/contrib/bootstrap_barrio/css/components/breadcrumb.css?sk17fb
@@ -0,0 +1,8 @@
+/**
+ * @file
+ * Styles for Bootstrap Barrio's breadcrumbs.
+ */
+
+.breadcrumb {
+ font-size: 0.929em;
+}
diff --git a/cit.nih.gov/themes/contrib/bootstrap_barrio/css/components/node.css?sk17fb b/cit.nih.gov/themes/contrib/bootstrap_barrio/css/components/node.css?sk17fb
new file mode 100644
index 00000000000..6d83cc4b45e
--- /dev/null
+++ b/cit.nih.gov/themes/contrib/bootstrap_barrio/css/components/node.css?sk17fb
@@ -0,0 +1,68 @@
+/**
+ * @file
+ * Visual styles for Bootstrap Barrio's node component.
+ */
+
+.node__content {
+ font-size: 1.071em;
+ margin-top: 10px;
+}
+
+/* View mode teaser styles. */
+.node--view-mode-teaser {
+ border-bottom: 1px solid #d3d7d9;
+ margin-bottom: 30px;
+ padding-bottom: 15px;
+}
+.node--view-mode-teaser h2 {
+ margin-top: 0;
+ padding-top: 0.5em;
+}
+.node--view-mode-teaser h2 a {
+ color: #181818;
+}
+.node--view-mode-teaser.node--sticky {
+ background: #f9f9f9;
+ background: rgba(0, 0, 0, 0.024);
+ border: 1px solid #d3d7d9;
+ padding: 0 15px 15px;
+}
+.node--view-mode-teaser .node__content {
+ clear: none;
+ font-size: 1em;
+ line-height: 1.6;
+}
+
+/* Node metadata styles. */
+.node__meta {
+ font-size: 0.857em;
+ color: #68696b;
+ margin-bottom: -5px;
+}
+.node__meta .field--name-field-user-picture img {
+ float: left; /* LTR */
+ margin: 1px 20px 0 0; /* LTR */
+}
+[dir="rtl"] .node__meta .field--name-field-user-picture img {
+ float: right;
+ margin-left: 20px;
+ margin-right: 0;
+}
+
+/* Node links styles. */
+.node__links {
+ text-align: right; /* LTR */
+ font-size: 0.93em;
+}
+[dir="rtl"] .node__links {
+ text-align: left;
+}
+
+/* Unpublished node styles. */
+.node--unpublished {
+ padding: 20px 15px 0;
+}
+.node--unpublished .comment-text .comment-arrow {
+ border-left: 1px solid #fff4f4;
+ border-right: 1px solid #fff4f4;
+}
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/css/style.css?sk17fb b/cit.nih.gov/themes/custom/customer_portal_theme/css/style.css?sk17fb
new file mode 100644
index 00000000000..ea39599ba2e
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/css/style.css?sk17fb
@@ -0,0 +1,22181 @@
+/*
+Theme Name: Bootstrap 4 Sass
+Description: Bootstrap 4 with Sass
+*/
+/* VARIABLES */
+@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap");
+@import url("https://fonts.googleapis.com/css2?family=Fjalla+One&display=swap");
+:root,
+[data-bs-theme=light] {
+ --bs-blue: #0d6efd;
+ --bs-indigo: #6610f2;
+ --bs-purple: #6f42c1;
+ --bs-pink: #d63384;
+ --bs-red: #20588A;
+ --bs-orange: #fd7e14;
+ --bs-yellow: #ffc107;
+ --bs-green: #28a745;
+ --bs-teal: #20c997;
+ --bs-cyan: #17a2b8;
+ --bs-black: #000;
+ --bs-white: #fff;
+ --bs-gray: #6c757d;
+ --bs-gray-dark: #343a40;
+ --bs-gray-100: #f8f9fa;
+ --bs-gray-200: #e9ecef;
+ --bs-gray-300: #dee2e6;
+ --bs-gray-400: #ced4da;
+ --bs-gray-500: #adb5bd;
+ --bs-gray-600: #6c757d;
+ --bs-gray-700: #495057;
+ --bs-gray-800: #343a40;
+ --bs-gray-900: #212529;
+ --bs-primary: #0079C0;
+ --bs-secondary: rgb(255, 78, 46);
+ --bs-success: #28a745;
+ --bs-info: #17a2b8;
+ --bs-warning: #ffc107;
+ --bs-danger: #20588A;
+ --bs-light: #f8f9fa;
+ --bs-dark: #343a40;
+ --bs-primary-rgb: 0, 121, 192;
+ --bs-secondary-rgb: 255, 78, 46;
+ --bs-success-rgb: 40, 167, 69;
+ --bs-info-rgb: 23, 162, 184;
+ --bs-warning-rgb: 255, 193, 7;
+ --bs-danger-rgb: 32, 88, 138;
+ --bs-light-rgb: 248, 249, 250;
+ --bs-dark-rgb: 52, 58, 64;
+ --bs-primary-text-emphasis: #00304d;
+ --bs-secondary-text-emphasis: #661f12;
+ --bs-success-text-emphasis: #10431c;
+ --bs-info-text-emphasis: #09414a;
+ --bs-warning-text-emphasis: #664d03;
+ --bs-danger-text-emphasis: #0d2337;
+ --bs-light-text-emphasis: #495057;
+ --bs-dark-text-emphasis: #495057;
+ --bs-primary-bg-subtle: #cce4f2;
+ --bs-secondary-bg-subtle: #ffdcd5;
+ --bs-success-bg-subtle: #d4edda;
+ --bs-info-bg-subtle: #d1ecf1;
+ --bs-warning-bg-subtle: #fff3cd;
+ --bs-danger-bg-subtle: #d2dee8;
+ --bs-light-bg-subtle: #fcfcfd;
+ --bs-dark-bg-subtle: #ced4da;
+ --bs-primary-border-subtle: #99c9e6;
+ --bs-secondary-border-subtle: #ffb8ab;
+ --bs-success-border-subtle: #a9dcb5;
+ --bs-info-border-subtle: #a2dae3;
+ --bs-warning-border-subtle: #ffe69c;
+ --bs-danger-border-subtle: #a6bcd0;
+ --bs-light-border-subtle: #e9ecef;
+ --bs-dark-border-subtle: #adb5bd;
+ --bs-white-rgb: 255, 255, 255;
+ --bs-black-rgb: 0, 0, 0;
+ --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
+ --bs-body-font-family: var(--bs-font-sans-serif);
+ --bs-body-font-size: 1rem;
+ --bs-body-font-weight: 400;
+ --bs-body-line-height: 1.5;
+ --bs-body-color: #343a40;
+ --bs-body-color-rgb: 52, 58, 64;
+ --bs-body-bg: #fff;
+ --bs-body-bg-rgb: 255, 255, 255;
+ --bs-emphasis-color: #000;
+ --bs-emphasis-color-rgb: 0, 0, 0;
+ --bs-secondary-color: rgba(52, 58, 64, 0.75);
+ --bs-secondary-color-rgb: 52, 58, 64;
+ --bs-secondary-bg: #e9ecef;
+ --bs-secondary-bg-rgb: 233, 236, 239;
+ --bs-tertiary-color: rgba(52, 58, 64, 0.5);
+ --bs-tertiary-color-rgb: 52, 58, 64;
+ --bs-tertiary-bg: #f8f9fa;
+ --bs-tertiary-bg-rgb: 248, 249, 250;
+ --bs-heading-color: inherit;
+ --bs-link-color: #0079C0;
+ --bs-link-color-rgb: 0, 121, 192;
+ --bs-link-decoration: none;
+ --bs-link-hover-color: #00619a;
+ --bs-link-hover-color-rgb: 0, 97, 154;
+ --bs-code-color: #d63384;
+ --bs-highlight-color: #343a40;
+ --bs-highlight-bg: #fff3cd;
+ --bs-border-width: 1px;
+ --bs-border-style: solid;
+ --bs-border-color: #dee2e6;
+ --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
+ --bs-border-radius: 0.375rem;
+ --bs-border-radius-sm: 0.25rem;
+ --bs-border-radius-lg: 0.5rem;
+ --bs-border-radius-xl: 1rem;
+ --bs-border-radius-xxl: 2rem;
+ --bs-border-radius-2xl: var(--bs-border-radius-xxl);
+ --bs-border-radius-pill: 50rem;
+ --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+ --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
+ --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
+ --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
+ --bs-focus-ring-width: 0.25rem;
+ --bs-focus-ring-opacity: 0.25;
+ --bs-focus-ring-color: rgba(0, 121, 192, 0.25);
+ --bs-form-valid-color: #28a745;
+ --bs-form-valid-border-color: #28a745;
+ --bs-form-invalid-color: #20588A;
+ --bs-form-invalid-border-color: #20588A;
+}
+
+[data-bs-theme=dark] {
+ color-scheme: dark;
+ --bs-body-color: #dee2e6;
+ --bs-body-color-rgb: 222, 226, 230;
+ --bs-body-bg: #212529;
+ --bs-body-bg-rgb: 33, 37, 41;
+ --bs-emphasis-color: #fff;
+ --bs-emphasis-color-rgb: 255, 255, 255;
+ --bs-secondary-color: rgba(222, 226, 230, 0.75);
+ --bs-secondary-color-rgb: 222, 226, 230;
+ --bs-secondary-bg: #343a40;
+ --bs-secondary-bg-rgb: 52, 58, 64;
+ --bs-tertiary-color: rgba(222, 226, 230, 0.5);
+ --bs-tertiary-color-rgb: 222, 226, 230;
+ --bs-tertiary-bg: #2b3035;
+ --bs-tertiary-bg-rgb: 43, 48, 53;
+ --bs-primary-text-emphasis: #66afd9;
+ --bs-secondary-text-emphasis: #ff9582;
+ --bs-success-text-emphasis: #7eca8f;
+ --bs-info-text-emphasis: #74c7d4;
+ --bs-warning-text-emphasis: #ffda6a;
+ --bs-danger-text-emphasis: #799bb9;
+ --bs-light-text-emphasis: #f8f9fa;
+ --bs-dark-text-emphasis: #dee2e6;
+ --bs-primary-bg-subtle: #001826;
+ --bs-secondary-bg-subtle: #331009;
+ --bs-success-bg-subtle: #08210e;
+ --bs-info-bg-subtle: #052025;
+ --bs-warning-bg-subtle: #332701;
+ --bs-danger-bg-subtle: #06121c;
+ --bs-light-bg-subtle: #343a40;
+ --bs-dark-bg-subtle: #1a1d20;
+ --bs-primary-border-subtle: #004973;
+ --bs-secondary-border-subtle: #992f1c;
+ --bs-success-border-subtle: #186429;
+ --bs-info-border-subtle: #0e616e;
+ --bs-warning-border-subtle: #997404;
+ --bs-danger-border-subtle: #133553;
+ --bs-light-border-subtle: #495057;
+ --bs-dark-border-subtle: #343a40;
+ --bs-heading-color: inherit;
+ --bs-link-color: #66afd9;
+ --bs-link-hover-color: #85bfe1;
+ --bs-link-color-rgb: 102, 175, 217;
+ --bs-link-hover-color-rgb: 133, 191, 225;
+ --bs-code-color: #e685b5;
+ --bs-highlight-color: #dee2e6;
+ --bs-highlight-bg: #664d03;
+ --bs-border-color: #495057;
+ --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
+ --bs-form-valid-color: #7eca8f;
+ --bs-form-valid-border-color: #7eca8f;
+ --bs-form-invalid-color: #799bb9;
+ --bs-form-invalid-border-color: #799bb9;
+}
+
+*,
+*::before,
+*::after {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ :root {
+ scroll-behavior: smooth;
+ }
+}
+
+body {
+ margin: 0;
+ font-family: var(--bs-body-font-family);
+ font-size: var(--bs-body-font-size);
+ font-weight: var(--bs-body-font-weight);
+ line-height: var(--bs-body-line-height);
+ color: var(--bs-body-color);
+ text-align: var(--bs-body-text-align);
+ background-color: var(--bs-body-bg);
+ -webkit-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+hr {
+ margin: 1rem 0;
+ color: inherit;
+ border: 0;
+ border-top: var(--bs-border-width) solid;
+ opacity: 0.25;
+}
+
+h6, h5, h4, h3, h2, h1 {
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ font-weight: 500;
+ line-height: 1.2;
+ color: var(--bs-heading-color);
+}
+
+h1 {
+ font-size: calc(1.375rem + 1.5vw);
+}
+@media (min-width: 75rem) {
+ h1 {
+ font-size: 2.5rem;
+ }
+}
+
+h2 {
+ font-size: calc(1.325rem + 0.9vw);
+}
+@media (min-width: 75rem) {
+ h2 {
+ font-size: 2rem;
+ }
+}
+
+h3 {
+ font-size: calc(1.3rem + 0.6vw);
+}
+@media (min-width: 75rem) {
+ h3 {
+ font-size: 1.75rem;
+ }
+}
+
+h4 {
+ font-size: calc(1.275rem + 0.3vw);
+}
+@media (min-width: 75rem) {
+ h4 {
+ font-size: 1.5rem;
+ }
+}
+
+h5 {
+ font-size: 1.25rem;
+}
+
+h6 {
+ font-size: 1rem;
+}
+
+p {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+abbr[title] {
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+ cursor: help;
+ text-decoration-skip-ink: none;
+}
+
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit;
+}
+
+ol,
+ul {
+ padding-left: 2rem;
+}
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0;
+}
+
+dt {
+ font-weight: 700;
+}
+
+dd {
+ margin-bottom: 0.5rem;
+ margin-left: 0;
+}
+
+blockquote {
+ margin: 0 0 1rem;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small {
+ font-size: 0.875em;
+}
+
+mark {
+ padding: 0.1875em;
+ color: var(--bs-highlight-color);
+ background-color: var(--bs-highlight-bg);
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 0.75em;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+a {
+ color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
+ text-decoration: none;
+}
+a:hover {
+ --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
+}
+
+a:not([href]):not([class]), a:not([href]):not([class]):hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: var(--bs-font-monospace);
+ font-size: 1em;
+}
+
+pre {
+ display: block;
+ margin-top: 0;
+ margin-bottom: 1rem;
+ overflow: auto;
+ font-size: 0.875em;
+}
+pre code {
+ font-size: inherit;
+ color: inherit;
+ word-break: normal;
+}
+
+code {
+ font-size: 0.875em;
+ color: var(--bs-code-color);
+ word-wrap: break-word;
+}
+a > code {
+ color: inherit;
+}
+
+kbd {
+ padding: 0.1875rem 0.375rem;
+ font-size: 0.875em;
+ color: var(--bs-body-bg);
+ background-color: var(--bs-body-color);
+ border-radius: 0.25rem;
+}
+kbd kbd {
+ padding: 0;
+ font-size: 1em;
+}
+
+figure {
+ margin: 0 0 1rem;
+}
+
+img,
+svg {
+ vertical-align: middle;
+}
+
+table {
+ caption-side: bottom;
+ border-collapse: collapse;
+}
+
+caption {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ color: var(--bs-secondary-color);
+ text-align: left;
+}
+
+th {
+ text-align: inherit;
+ text-align: -webkit-match-parent;
+}
+
+thead,
+tbody,
+tfoot,
+tr,
+td,
+th {
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+}
+
+label {
+ display: inline-block;
+}
+
+button {
+ border-radius: 0;
+}
+
+button:focus:not(:focus-visible) {
+ outline: 0;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+[role=button] {
+ cursor: pointer;
+}
+
+select {
+ word-wrap: normal;
+}
+select:disabled {
+ opacity: 1;
+}
+
+[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
+ display: none !important;
+}
+
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+ -webkit-appearance: button;
+}
+button:not(:disabled),
+[type=button]:not(:disabled),
+[type=reset]:not(:disabled),
+[type=submit]:not(:disabled) {
+ cursor: pointer;
+}
+
+::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+textarea {
+ resize: vertical;
+}
+
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ float: left;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 0.5rem;
+ font-size: calc(1.275rem + 0.3vw);
+ line-height: inherit;
+}
+@media (min-width: 75rem) {
+ legend {
+ font-size: 1.5rem;
+ }
+}
+legend + * {
+ clear: left;
+}
+
+::-webkit-datetime-edit-fields-wrapper,
+::-webkit-datetime-edit-text,
+::-webkit-datetime-edit-minute,
+::-webkit-datetime-edit-hour-field,
+::-webkit-datetime-edit-day-field,
+::-webkit-datetime-edit-month-field,
+::-webkit-datetime-edit-year-field {
+ padding: 0;
+}
+
+::-webkit-inner-spin-button {
+ height: auto;
+}
+
+[type=search] {
+ -webkit-appearance: textfield;
+ outline-offset: -2px;
+}
+
+/* rtl:raw:
+[type="tel"],
+[type="url"],
+[type="email"],
+[type="number"] {
+ direction: ltr;
+}
+*/
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+::-webkit-color-swatch-wrapper {
+ padding: 0;
+}
+
+::file-selector-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
+output {
+ display: inline-block;
+}
+
+iframe {
+ border: 0;
+}
+
+summary {
+ display: list-item;
+ cursor: pointer;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[hidden] {
+ display: none !important;
+}
+
+.img-fluid {
+ max-width: 100%;
+ height: auto;
+}
+
+.img-thumbnail {
+ padding: 0.25rem;
+ background-color: var(--bs-body-bg);
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ max-width: 100%;
+ height: auto;
+}
+
+.figure {
+ display: inline-block;
+}
+
+.figure-img {
+ margin-bottom: 0.5rem;
+ line-height: 1;
+}
+
+.figure-caption {
+ font-size: 0.875em;
+ color: var(--bs-secondary-color);
+}
+
+.clearfix::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.text-bg-primary {
+ color: #fff !important;
+ background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-secondary {
+ color: #000 !important;
+ background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-success {
+ color: #000 !important;
+ background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-info {
+ color: #000 !important;
+ background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-warning {
+ color: #000 !important;
+ background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-danger {
+ color: #fff !important;
+ background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-light {
+ color: #000 !important;
+ background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-dark {
+ color: #fff !important;
+ background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
+}
+
+.link-primary {
+ color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+.link-primary:hover, .link-primary:focus {
+ color: RGBA(0, 97, 154, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(0, 97, 154, var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(0, 97, 154, var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-secondary {
+ color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+.link-secondary:hover, .link-secondary:focus {
+ color: RGBA(255, 113, 88, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(255, 113, 88, var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(255, 113, 88, var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-success {
+ color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+.link-success:hover, .link-success:focus {
+ color: RGBA(83, 185, 106, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(83, 185, 106, var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(83, 185, 106, var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-info {
+ color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+.link-info:hover, .link-info:focus {
+ color: RGBA(69, 181, 198, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(69, 181, 198, var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(69, 181, 198, var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-warning {
+ color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+.link-warning:hover, .link-warning:focus {
+ color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-danger {
+ color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+.link-danger:hover, .link-danger:focus {
+ color: RGBA(26, 70, 110, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(26, 70, 110, var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(26, 70, 110, var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-light {
+ color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+.link-light:hover, .link-light:focus {
+ color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-dark {
+ color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+.link-dark:hover, .link-dark:focus {
+ color: RGBA(42, 46, 51, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(42, 46, 51, var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(42, 46, 51, var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-body-emphasis {
+ color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+.link-body-emphasis:hover, .link-body-emphasis:focus {
+ color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
+ -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
+ text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
+}
+
+.focus-ring:focus {
+ outline: 0;
+ -webkit-box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
+ box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
+}
+
+.icon-link {
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ gap: 0.375rem;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
+ text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
+ text-underline-offset: 0.25em;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+.icon-link > .bi {
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ width: 1em;
+ height: 1em;
+ fill: currentcolor;
+ -webkit-transition: 0.2s ease-in-out transform;
+ -o-transition: 0.2s ease-in-out transform;
+ transition: 0.2s ease-in-out transform;
+}
+@media (prefers-reduced-motion: reduce) {
+ .icon-link > .bi {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+
+.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
+ -webkit-transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
+ transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
+}
+
+.ratio {
+ position: relative;
+ width: 100%;
+}
+.ratio::before {
+ display: block;
+ padding-top: var(--bs-aspect-ratio);
+ content: "";
+}
+.ratio > * {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.ratio-1x1 {
+ --bs-aspect-ratio: 100%;
+}
+
+.ratio-4x3 {
+ --bs-aspect-ratio: 75%;
+}
+
+.ratio-16x9 {
+ --bs-aspect-ratio: 56.25%;
+}
+
+.ratio-21x9 {
+ --bs-aspect-ratio: 42.8571428571%;
+}
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.sticky-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+}
+
+.sticky-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+}
+
+@media (min-width: 36rem) {
+ .sticky-sm-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-sm-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 48rem) {
+ .sticky-md-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-md-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 62rem) {
+ .sticky-lg-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-lg-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 75rem) {
+ .sticky-xl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-xl-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 87.5rem) {
+ .sticky-xxl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-xxl-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+.hstack {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-align-self: stretch;
+ -ms-flex-item-align: stretch;
+ align-self: stretch;
+}
+
+.vstack {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-align-self: stretch;
+ -ms-flex-item-align: stretch;
+ align-self: stretch;
+}
+
+.visually-hidden,
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
+ width: 1px !important;
+ height: 1px !important;
+ padding: 0 !important;
+ margin: -0.0625rem !important;
+ overflow: hidden !important;
+ clip: rect(0, 0, 0, 0) !important;
+ white-space: nowrap !important;
+ border: 0 !important;
+}
+.visually-hidden:not(caption),
+.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
+ position: absolute !important;
+}
+
+.stretched-link::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ content: "";
+}
+
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.vr {
+ display: inline-block;
+ -webkit-align-self: stretch;
+ -ms-flex-item-align: stretch;
+ align-self: stretch;
+ width: var(--bs-border-width);
+ min-height: 1em;
+ background-color: currentcolor;
+ opacity: 0.25;
+}
+
+.table {
+ --bs-table-color-type: initial;
+ --bs-table-bg-type: initial;
+ --bs-table-color-state: initial;
+ --bs-table-bg-state: initial;
+ --bs-table-color: var(--bs-emphasis-color);
+ --bs-table-bg: var(--bs-body-bg);
+ --bs-table-border-color: var(--bs-border-color);
+ --bs-table-accent-bg: transparent;
+ --bs-table-striped-color: var(--bs-emphasis-color);
+ --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
+ --bs-table-active-color: var(--bs-emphasis-color);
+ --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
+ --bs-table-hover-color: var(--bs-emphasis-color);
+ --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
+ width: 100%;
+ margin-bottom: 1rem;
+ vertical-align: top;
+ border-color: var(--bs-table-border-color);
+}
+.table > :not(caption) > * > * {
+ padding: 0.5rem 0.5rem;
+ color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
+ background-color: var(--bs-table-bg);
+ border-bottom-width: var(--bs-border-width);
+ -webkit-box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
+ box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
+}
+.table > tbody {
+ vertical-align: inherit;
+}
+.table > thead {
+ vertical-align: bottom;
+}
+
+.table-group-divider {
+ border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
+}
+
+.caption-top {
+ caption-side: top;
+}
+
+.table-sm > :not(caption) > * > * {
+ padding: 0.25rem 0.25rem;
+}
+
+.table-bordered > :not(caption) > * {
+ border-width: var(--bs-border-width) 0;
+}
+.table-bordered > :not(caption) > * > * {
+ border-width: 0 var(--bs-border-width);
+}
+
+.table-borderless > :not(caption) > * > * {
+ border-bottom-width: 0;
+}
+.table-borderless > :not(:first-child) {
+ border-top-width: 0;
+}
+
+.table-striped > tbody > tr:nth-of-type(odd) > * {
+ --bs-table-color-type: var(--bs-table-striped-color);
+ --bs-table-bg-type: var(--bs-table-striped-bg);
+}
+
+.table-striped-columns > :not(caption) > tr > :nth-child(even) {
+ --bs-table-color-type: var(--bs-table-striped-color);
+ --bs-table-bg-type: var(--bs-table-striped-bg);
+}
+
+.table-active {
+ --bs-table-color-state: var(--bs-table-active-color);
+ --bs-table-bg-state: var(--bs-table-active-bg);
+}
+
+.table-hover > tbody > tr:hover > * {
+ --bs-table-color-state: var(--bs-table-hover-color);
+ --bs-table-bg-state: var(--bs-table-hover-bg);
+}
+
+.table-primary {
+ --bs-table-color: #000;
+ --bs-table-bg: #cce4f2;
+ --bs-table-border-color: #a3b6c2;
+ --bs-table-striped-bg: #c2d9e6;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #b8cdda;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #bdd3e0;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-secondary {
+ --bs-table-color: #000;
+ --bs-table-bg: #ffdcd5;
+ --bs-table-border-color: #ccb0aa;
+ --bs-table-striped-bg: #f2d1ca;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #e6c6c0;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #ecccc5;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-success {
+ --bs-table-color: #000;
+ --bs-table-bg: #d4edda;
+ --bs-table-border-color: #aabeae;
+ --bs-table-striped-bg: #c9e1cf;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #bfd5c4;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #c4dbca;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-info {
+ --bs-table-color: #000;
+ --bs-table-bg: #d1ecf1;
+ --bs-table-border-color: #a7bdc1;
+ --bs-table-striped-bg: #c7e0e5;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #bcd4d9;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #c1dadf;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-warning {
+ --bs-table-color: #000;
+ --bs-table-bg: #fff3cd;
+ --bs-table-border-color: #ccc2a4;
+ --bs-table-striped-bg: #f2e7c3;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #e6dbb9;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #ece1be;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-danger {
+ --bs-table-color: #000;
+ --bs-table-bg: #d2dee8;
+ --bs-table-border-color: #a8b2ba;
+ --bs-table-striped-bg: #c8d3dc;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #bdc8d1;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #c2cdd7;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-light {
+ --bs-table-color: #000;
+ --bs-table-bg: #f8f9fa;
+ --bs-table-border-color: #c6c7c8;
+ --bs-table-striped-bg: #ecedee;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #dfe0e1;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #e5e6e7;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-dark {
+ --bs-table-color: #fff;
+ --bs-table-bg: #343a40;
+ --bs-table-border-color: #5d6166;
+ --bs-table-striped-bg: #3e444a;
+ --bs-table-striped-color: #fff;
+ --bs-table-active-bg: #484e53;
+ --bs-table-active-color: #fff;
+ --bs-table-hover-bg: #43494e;
+ --bs-table-hover-color: #fff;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-responsive {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+}
+
+@media (max-width: 35.99875rem) {
+ .table-responsive-sm {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 47.99875rem) {
+ .table-responsive-md {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 61.99875rem) {
+ .table-responsive-lg {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 74.99875rem) {
+ .table-responsive-xl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 87.49875rem) {
+ .table-responsive-xxl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+.form-label {
+ margin-bottom: 0.5rem;
+}
+
+.col-form-label {
+ padding-top: calc(0.375rem + var(--bs-border-width));
+ padding-bottom: calc(0.375rem + var(--bs-border-width));
+ margin-bottom: 0;
+ font-size: inherit;
+ line-height: 1.5;
+}
+
+.col-form-label-lg {
+ padding-top: calc(0.5rem + var(--bs-border-width));
+ padding-bottom: calc(0.5rem + var(--bs-border-width));
+ font-size: 1.25rem;
+}
+
+.col-form-label-sm {
+ padding-top: calc(0.25rem + var(--bs-border-width));
+ padding-bottom: calc(0.25rem + var(--bs-border-width));
+ font-size: 0.875rem;
+}
+
+.form-text {
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: var(--bs-secondary-color);
+}
+
+.form-control {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: var(--bs-body-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ -o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.form-control[type=file] {
+ overflow: hidden;
+}
+.form-control[type=file]:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control:focus {
+ color: var(--bs-body-color);
+ background-color: var(--bs-body-bg);
+ border-color: #80bce0;
+ outline: 0;
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+}
+.form-control::-webkit-date-and-time-value {
+ min-width: 85px;
+ height: 1.5em;
+ margin: 0;
+}
+.form-control::-webkit-datetime-edit {
+ display: block;
+ padding: 0;
+}
+.form-control::-webkit-input-placeholder {
+ color: var(--bs-secondary-color);
+ opacity: 1;
+}
+.form-control::-moz-placeholder {
+ color: var(--bs-secondary-color);
+ opacity: 1;
+}
+.form-control::-ms-input-placeholder {
+ color: var(--bs-secondary-color);
+ opacity: 1;
+}
+.form-control::placeholder {
+ color: var(--bs-secondary-color);
+ opacity: 1;
+}
+.form-control:disabled {
+ background-color: var(--bs-secondary-bg);
+ opacity: 1;
+}
+.form-control::file-selector-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ -moz-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: var(--bs-body-color);
+ background-color: var(--bs-tertiary-bg);
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: var(--bs-border-width);
+ border-radius: 0;
+ -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::file-selector-button {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
+ background-color: var(--bs-secondary-bg);
+}
+
+.form-control-plaintext {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 0;
+ margin-bottom: 0;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ background-color: transparent;
+ border: solid transparent;
+ border-width: var(--bs-border-width) 0;
+}
+.form-control-plaintext:focus {
+ outline: 0;
+}
+.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: var(--bs-border-radius-sm);
+}
+.form-control-sm::file-selector-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ -moz-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+
+.form-control-lg {
+ min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: var(--bs-border-radius-lg);
+}
+.form-control-lg::file-selector-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ -moz-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+
+textarea.form-control {
+ min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
+}
+textarea.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
+}
+textarea.form-control-lg {
+ min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
+}
+
+.form-control-color {
+ width: 3rem;
+ height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
+ padding: 0.375rem;
+}
+.form-control-color:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control-color::-moz-color-swatch {
+ border: 0 !important;
+ border-radius: var(--bs-border-radius);
+}
+.form-control-color::-webkit-color-swatch {
+ border: 0 !important;
+ border-radius: var(--bs-border-radius);
+}
+.form-control-color.form-control-sm {
+ height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
+}
+.form-control-color.form-control-lg {
+ height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
+}
+
+.form-select {
+ --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+ display: block;
+ width: 100%;
+ padding: 0.375rem 2.25rem 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: var(--bs-body-bg);
+ background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+ -webkit-background-size: 16px 12px;
+ background-size: 16px 12px;
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ -o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-select {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.form-select:focus {
+ border-color: #80bce0;
+ outline: 0;
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+}
+.form-select[multiple], .form-select[size]:not([size="1"]) {
+ padding-right: 0.75rem;
+ background-image: none;
+}
+.form-select:disabled {
+ background-color: var(--bs-secondary-bg);
+}
+.form-select:-moz-focusring {
+ color: transparent;
+ text-shadow: 0 0 0 var(--bs-body-color);
+}
+
+.form-select-sm {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ padding-left: 0.5rem;
+ font-size: 0.875rem;
+ border-radius: var(--bs-border-radius-sm);
+}
+
+.form-select-lg {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 1rem;
+ font-size: 1.25rem;
+ border-radius: var(--bs-border-radius-lg);
+}
+
+[data-bs-theme=dark] .form-select {
+ --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+}
+
+.form-check {
+ display: block;
+ min-height: 1.5rem;
+ padding-left: 1.5em;
+ margin-bottom: 0.125rem;
+}
+.form-check .form-check-input {
+ float: left;
+ margin-left: -1.5em;
+}
+
+.form-check-reverse {
+ padding-right: 1.5em;
+ padding-left: 0;
+ text-align: right;
+}
+.form-check-reverse .form-check-input {
+ float: right;
+ margin-right: -1.5em;
+ margin-left: 0;
+}
+
+.form-check-input {
+ --bs-form-check-bg: var(--bs-body-bg);
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ width: 1em;
+ height: 1em;
+ margin-top: 0.25em;
+ vertical-align: top;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: var(--bs-form-check-bg);
+ background-image: var(--bs-form-check-bg-image);
+ background-repeat: no-repeat;
+ background-position: center;
+ -webkit-background-size: contain;
+ background-size: contain;
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ print-color-adjust: exact;
+}
+.form-check-input[type=checkbox] {
+ border-radius: 0.25em;
+}
+.form-check-input[type=radio] {
+ border-radius: 50%;
+}
+.form-check-input:active {
+ -webkit-filter: brightness(90%);
+ filter: brightness(90%);
+}
+.form-check-input:focus {
+ border-color: #80bce0;
+ outline: 0;
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+}
+.form-check-input:checked {
+ background-color: #0079C0;
+ border-color: #0079C0;
+}
+.form-check-input:checked[type=checkbox] {
+ --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
+}
+.form-check-input:checked[type=radio] {
+ --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
+}
+.form-check-input[type=checkbox]:indeterminate {
+ background-color: #0079C0;
+ border-color: #0079C0;
+ --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
+}
+.form-check-input:disabled {
+ pointer-events: none;
+ -webkit-filter: none;
+ filter: none;
+ opacity: 0.5;
+}
+.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
+ cursor: default;
+ opacity: 0.5;
+}
+
+.form-switch {
+ padding-left: 2.5em;
+}
+.form-switch .form-check-input {
+ --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
+ width: 2em;
+ margin-left: -2.5em;
+ background-image: var(--bs-form-switch-bg);
+ background-position: left center;
+ border-radius: 2em;
+ -webkit-transition: background-position 0.15s ease-in-out;
+ -o-transition: background-position 0.15s ease-in-out;
+ transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-switch .form-check-input {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.form-switch .form-check-input:focus {
+ --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bce0'/%3e%3c/svg%3e");
+}
+.form-switch .form-check-input:checked {
+ background-position: right center;
+ --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+}
+.form-switch.form-check-reverse {
+ padding-right: 2.5em;
+ padding-left: 0;
+}
+.form-switch.form-check-reverse .form-check-input {
+ margin-right: -2.5em;
+ margin-left: 0;
+}
+
+.form-check-inline {
+ display: inline-block;
+ margin-right: 1rem;
+}
+
+.btn-check {
+ position: absolute;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none;
+}
+.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
+ pointer-events: none;
+ -webkit-filter: none;
+ filter: none;
+ opacity: 0.65;
+}
+
+[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
+ --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
+}
+
+.form-range {
+ width: 100%;
+ height: 1.5rem;
+ padding: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: transparent;
+}
+.form-range:focus {
+ outline: 0;
+}
+.form-range:focus::-webkit-slider-thumb {
+ -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+}
+.form-range:focus::-moz-range-thumb {
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+}
+.form-range::-moz-focus-outer {
+ border: 0;
+}
+.form-range::-webkit-slider-thumb {
+ width: 1rem;
+ height: 1rem;
+ margin-top: -0.25rem;
+ -webkit-appearance: none;
+ appearance: none;
+ background-color: #0079C0;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-webkit-slider-thumb {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.form-range::-webkit-slider-thumb:active {
+ background-color: #b3d7ec;
+}
+.form-range::-webkit-slider-runnable-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: var(--bs-secondary-bg);
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range::-moz-range-thumb {
+ width: 1rem;
+ height: 1rem;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: #0079C0;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-moz-range-thumb {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.form-range::-moz-range-thumb:active {
+ background-color: #b3d7ec;
+}
+.form-range::-moz-range-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: var(--bs-secondary-bg);
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range:disabled {
+ pointer-events: none;
+}
+.form-range:disabled::-webkit-slider-thumb {
+ background-color: var(--bs-secondary-color);
+}
+.form-range:disabled::-moz-range-thumb {
+ background-color: var(--bs-secondary-color);
+}
+
+.form-floating {
+ position: relative;
+}
+.form-floating > .form-control,
+.form-floating > .form-control-plaintext,
+.form-floating > .form-select {
+ height: calc(3.5rem + calc(var(--bs-border-width) * 2));
+ min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
+ line-height: 1.25;
+}
+.form-floating > label {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 2;
+ height: 100%;
+ padding: 1rem 0.75rem;
+ overflow: hidden;
+ text-align: start;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ pointer-events: none;
+ border: var(--bs-border-width) solid transparent;
+ -webkit-transform-origin: 0 0;
+ -o-transform-origin: 0 0;
+ transform-origin: 0 0;
+ -webkit-transition: opacity 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
+ transition: opacity 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
+ -o-transition: opacity 0.1s ease-in-out, -o-transform 0.1s ease-in-out;
+ transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
+ transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out, -o-transform 0.1s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-floating > label {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.form-floating > .form-control,
+.form-floating > .form-control-plaintext {
+ padding: 1rem 0.75rem;
+}
+.form-floating > .form-control::-webkit-input-placeholder,
+.form-floating > .form-control-plaintext::-webkit-input-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control::-moz-placeholder,
+.form-floating > .form-control-plaintext::-moz-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control::-ms-input-placeholder,
+.form-floating > .form-control-plaintext::-ms-input-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control::placeholder,
+.form-floating > .form-control-plaintext::placeholder {
+ color: transparent;
+}
+.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
+.form-floating > .form-control-plaintext:focus,
+.form-floating > .form-control-plaintext:not(:placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:-webkit-autofill,
+.form-floating > .form-control-plaintext:-webkit-autofill {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-select {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:focus ~ label,
+.form-floating > .form-control:not(:placeholder-shown) ~ label,
+.form-floating > .form-control-plaintext ~ label,
+.form-floating > .form-select ~ label {
+ color: rgba(var(--bs-body-color-rgb), 0.65);
+ -webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+ -o-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:focus ~ label::after,
+.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
+.form-floating > .form-control-plaintext ~ label::after,
+.form-floating > .form-select ~ label::after {
+ position: absolute;
+ inset: 1rem 0.375rem;
+ z-index: -1;
+ height: 1.5em;
+ content: "";
+ background-color: var(--bs-body-bg);
+ border-radius: var(--bs-border-radius);
+}
+.form-floating > .form-control:-webkit-autofill ~ label {
+ color: rgba(var(--bs-body-color-rgb), 0.65);
+ -webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control-plaintext ~ label {
+ border-width: var(--bs-border-width) 0;
+}
+.form-floating > :disabled ~ label,
+.form-floating > .form-control:disabled ~ label {
+ color: #6c757d;
+}
+.form-floating > :disabled ~ label::after,
+.form-floating > .form-control:disabled ~ label::after {
+ background-color: var(--bs-secondary-bg);
+}
+
+.input-group {
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: stretch;
+ -webkit-align-items: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ width: 100%;
+}
+.input-group > .form-control,
+.input-group > .form-select,
+.input-group > .form-floating {
+ position: relative;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ width: 1%;
+ min-width: 0;
+}
+.input-group > .form-control:focus,
+.input-group > .form-select:focus,
+.input-group > .form-floating:focus-within {
+ z-index: 5;
+}
+.input-group .btn {
+ position: relative;
+ z-index: 2;
+}
+.input-group .btn:focus {
+ z-index: 5;
+}
+
+.input-group-text {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ text-align: center;
+ white-space: nowrap;
+ background-color: var(--bs-tertiary-bg);
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .form-select,
+.input-group-lg > .input-group-text,
+.input-group-lg > .btn {
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: var(--bs-border-radius-lg);
+}
+
+.input-group-sm > .form-control,
+.input-group-sm > .form-select,
+.input-group-sm > .input-group-text,
+.input-group-sm > .btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: var(--bs-border-radius-sm);
+}
+
+.input-group-lg > .form-select,
+.input-group-sm > .form-select {
+ padding-right: 3rem;
+}
+
+.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
+.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
+.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
+.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
+.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
+.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
+ margin-left: calc(var(--bs-border-width) * -1);
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.input-group > .form-floating:not(:first-child) > .form-control,
+.input-group > .form-floating:not(:first-child) > .form-select {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.valid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: var(--bs-form-valid-color);
+}
+
+.valid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #fff;
+ background-color: var(--bs-success);
+ border-radius: var(--bs-border-radius);
+}
+
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip,
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:valid, .form-control.is-valid {
+ border-color: var(--bs-form-valid-border-color);
+ padding-right: calc(1.5em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right calc(0.375em + 0.1875rem) center;
+ -webkit-background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
+ border-color: var(--bs-form-valid-border-color);
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+}
+
+.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
+ padding-right: calc(1.5em + 0.75rem);
+ background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .form-select:valid, .form-select.is-valid {
+ border-color: var(--bs-form-valid-border-color);
+}
+.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
+ --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ padding-right: 4.125rem;
+ background-position: right 0.75rem center, center right 2.25rem;
+ -webkit-background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
+ border-color: var(--bs-form-valid-border-color);
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+}
+
+.was-validated .form-control-color:valid, .form-control-color.is-valid {
+ width: calc(3rem + calc(1.5em + 0.75rem));
+}
+
+.was-validated .form-check-input:valid, .form-check-input.is-valid {
+ border-color: var(--bs-form-valid-border-color);
+}
+.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
+ background-color: var(--bs-form-valid-color);
+}
+.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+}
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+ color: var(--bs-form-valid-color);
+}
+
+.form-check-inline .form-check-input ~ .valid-feedback {
+ margin-left: 0.5em;
+}
+
+.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
+.was-validated .input-group > .form-select:not(:focus):valid,
+.input-group > .form-select:not(:focus).is-valid,
+.was-validated .input-group > .form-floating:not(:focus-within):valid,
+.input-group > .form-floating:not(:focus-within).is-valid {
+ z-index: 3;
+}
+
+.invalid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: var(--bs-form-invalid-color);
+}
+
+.invalid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #fff;
+ background-color: var(--bs-danger);
+ border-radius: var(--bs-border-radius);
+}
+
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip,
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid {
+ border-color: var(--bs-form-invalid-border-color);
+ padding-right: calc(1.5em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%2320588A'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%2320588A' stroke='none'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right calc(0.375em + 0.1875rem) center;
+ -webkit-background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
+ border-color: var(--bs-form-invalid-border-color);
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+}
+
+.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
+ padding-right: calc(1.5em + 0.75rem);
+ background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .form-select:invalid, .form-select.is-invalid {
+ border-color: var(--bs-form-invalid-border-color);
+}
+.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
+ --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%2320588A'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%2320588A' stroke='none'/%3e%3c/svg%3e");
+ padding-right: 4.125rem;
+ background-position: right 0.75rem center, center right 2.25rem;
+ -webkit-background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
+ border-color: var(--bs-form-invalid-border-color);
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+}
+
+.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
+ width: calc(3rem + calc(1.5em + 0.75rem));
+}
+
+.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
+ border-color: var(--bs-form-invalid-border-color);
+}
+.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
+ background-color: var(--bs-form-invalid-color);
+}
+.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+}
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+ color: var(--bs-form-invalid-color);
+}
+
+.form-check-inline .form-check-input ~ .invalid-feedback {
+ margin-left: 0.5em;
+}
+
+.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
+.was-validated .input-group > .form-select:not(:focus):invalid,
+.input-group > .form-select:not(:focus).is-invalid,
+.was-validated .input-group > .form-floating:not(:focus-within):invalid,
+.input-group > .form-floating:not(:focus-within).is-invalid {
+ z-index: 4;
+}
+
+.btn {
+ --bs-btn-padding-x: 0.75rem;
+ --bs-btn-padding-y: 0.375rem;
+ --bs-btn-font-family: ;
+ --bs-btn-font-size: 1rem;
+ --bs-btn-font-weight: 400;
+ --bs-btn-line-height: 1.5;
+ --bs-btn-color: var(--bs-body-color);
+ --bs-btn-bg: transparent;
+ --bs-btn-border-width: var(--bs-border-width);
+ --bs-btn-border-color: transparent;
+ --bs-btn-border-radius: var(--bs-border-radius);
+ --bs-btn-hover-border-color: transparent;
+ --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
+ --bs-btn-disabled-opacity: 0.65;
+ --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
+ display: inline-block;
+ padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
+ font-family: var(--bs-btn-font-family);
+ font-size: var(--bs-btn-font-size);
+ font-weight: var(--bs-btn-font-weight);
+ line-height: var(--bs-btn-line-height);
+ color: var(--bs-btn-color);
+ text-align: center;
+ vertical-align: middle;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
+ border-radius: var(--bs-btn-border-radius);
+ background-color: var(--bs-btn-bg);
+ -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .btn {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.btn:hover {
+ color: var(--bs-btn-hover-color);
+ background-color: var(--bs-btn-hover-bg);
+ border-color: var(--bs-btn-hover-border-color);
+}
+.btn-check + .btn:hover {
+ color: var(--bs-btn-color);
+ background-color: var(--bs-btn-bg);
+ border-color: var(--bs-btn-border-color);
+}
+.btn:focus-visible {
+ color: var(--bs-btn-hover-color);
+ background-color: var(--bs-btn-hover-bg);
+ border-color: var(--bs-btn-hover-border-color);
+ outline: 0;
+ -webkit-box-shadow: var(--bs-btn-focus-box-shadow);
+ box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn-check:focus-visible + .btn {
+ border-color: var(--bs-btn-hover-border-color);
+ outline: 0;
+ -webkit-box-shadow: var(--bs-btn-focus-box-shadow);
+ box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
+ color: var(--bs-btn-active-color);
+ background-color: var(--bs-btn-active-bg);
+ border-color: var(--bs-btn-active-border-color);
+}
+.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
+ -webkit-box-shadow: var(--bs-btn-focus-box-shadow);
+ box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn:disabled, .btn.disabled, fieldset:disabled .btn {
+ color: var(--bs-btn-disabled-color);
+ pointer-events: none;
+ background-color: var(--bs-btn-disabled-bg);
+ border-color: var(--bs-btn-disabled-border-color);
+ opacity: var(--bs-btn-disabled-opacity);
+}
+
+.btn-primary {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #0079C0;
+ --bs-btn-border-color: #0079C0;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #0067a3;
+ --bs-btn-hover-border-color: #00619a;
+ --bs-btn-focus-shadow-rgb: 38, 141, 201;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #00619a;
+ --bs-btn-active-border-color: #005b90;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #0079C0;
+ --bs-btn-disabled-border-color: #0079C0;
+}
+
+.btn-secondary {
+ --bs-btn-color: #000;
+ --bs-btn-bg: rgb(255, 78, 46);
+ --bs-btn-border-color: rgb(255, 78, 46);
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #ff694d;
+ --bs-btn-hover-border-color: #ff6043;
+ --bs-btn-focus-shadow-rgb: 217, 66, 39;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #ff7158;
+ --bs-btn-active-border-color: #ff6043;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: rgb(255, 78, 46);
+ --bs-btn-disabled-border-color: rgb(255, 78, 46);
+}
+
+.btn-success {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #28a745;
+ --bs-btn-border-color: #28a745;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #48b461;
+ --bs-btn-hover-border-color: #3eb058;
+ --bs-btn-focus-shadow-rgb: 34, 142, 59;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #53b96a;
+ --bs-btn-active-border-color: #3eb058;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #28a745;
+ --bs-btn-disabled-border-color: #28a745;
+}
+
+.btn-info {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #17a2b8;
+ --bs-btn-border-color: #17a2b8;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #3ab0c3;
+ --bs-btn-hover-border-color: #2eabbf;
+ --bs-btn-focus-shadow-rgb: 20, 138, 156;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #45b5c6;
+ --bs-btn-active-border-color: #2eabbf;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #17a2b8;
+ --bs-btn-disabled-border-color: #17a2b8;
+}
+
+.btn-warning {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #ffc107;
+ --bs-btn-border-color: #ffc107;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #ffca2c;
+ --bs-btn-hover-border-color: #ffc720;
+ --bs-btn-focus-shadow-rgb: 217, 164, 6;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #ffcd39;
+ --bs-btn-active-border-color: #ffc720;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #ffc107;
+ --bs-btn-disabled-border-color: #ffc107;
+}
+
+.btn-danger {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #20588A;
+ --bs-btn-border-color: #20588A;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #1b4b75;
+ --bs-btn-hover-border-color: #1a466e;
+ --bs-btn-focus-shadow-rgb: 65, 113, 156;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #1a466e;
+ --bs-btn-active-border-color: #184268;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #20588A;
+ --bs-btn-disabled-border-color: #20588A;
+}
+
+.btn-light {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #f8f9fa;
+ --bs-btn-border-color: #f8f9fa;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #d3d4d5;
+ --bs-btn-hover-border-color: #c6c7c8;
+ --bs-btn-focus-shadow-rgb: 211, 212, 213;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #c6c7c8;
+ --bs-btn-active-border-color: #babbbc;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #f8f9fa;
+ --bs-btn-disabled-border-color: #f8f9fa;
+}
+
+.btn-dark {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #343a40;
+ --bs-btn-border-color: #343a40;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #52585d;
+ --bs-btn-hover-border-color: #484e53;
+ --bs-btn-focus-shadow-rgb: 82, 88, 93;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #5d6166;
+ --bs-btn-active-border-color: #484e53;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #343a40;
+ --bs-btn-disabled-border-color: #343a40;
+}
+
+.btn-outline-primary {
+ --bs-btn-color: #0079C0;
+ --bs-btn-border-color: #0079C0;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #0079C0;
+ --bs-btn-hover-border-color: #0079C0;
+ --bs-btn-focus-shadow-rgb: 0, 121, 192;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #0079C0;
+ --bs-btn-active-border-color: #0079C0;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #0079C0;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #0079C0;
+ --bs-gradient: none;
+}
+
+.btn-outline-secondary {
+ --bs-btn-color: rgb(255, 78, 46);
+ --bs-btn-border-color: rgb(255, 78, 46);
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: rgb(255, 78, 46);
+ --bs-btn-hover-border-color: rgb(255, 78, 46);
+ --bs-btn-focus-shadow-rgb: 255, 78, 46;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: rgb(255, 78, 46);
+ --bs-btn-active-border-color: rgb(255, 78, 46);
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: rgb(255, 78, 46);
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: rgb(255, 78, 46);
+ --bs-gradient: none;
+}
+
+.btn-outline-success {
+ --bs-btn-color: #28a745;
+ --bs-btn-border-color: #28a745;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #28a745;
+ --bs-btn-hover-border-color: #28a745;
+ --bs-btn-focus-shadow-rgb: 40, 167, 69;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #28a745;
+ --bs-btn-active-border-color: #28a745;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #28a745;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #28a745;
+ --bs-gradient: none;
+}
+
+.btn-outline-info {
+ --bs-btn-color: #17a2b8;
+ --bs-btn-border-color: #17a2b8;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #17a2b8;
+ --bs-btn-hover-border-color: #17a2b8;
+ --bs-btn-focus-shadow-rgb: 23, 162, 184;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #17a2b8;
+ --bs-btn-active-border-color: #17a2b8;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #17a2b8;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #17a2b8;
+ --bs-gradient: none;
+}
+
+.btn-outline-warning {
+ --bs-btn-color: #ffc107;
+ --bs-btn-border-color: #ffc107;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #ffc107;
+ --bs-btn-hover-border-color: #ffc107;
+ --bs-btn-focus-shadow-rgb: 255, 193, 7;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #ffc107;
+ --bs-btn-active-border-color: #ffc107;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #ffc107;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #ffc107;
+ --bs-gradient: none;
+}
+
+.btn-outline-danger {
+ --bs-btn-color: #20588A;
+ --bs-btn-border-color: #20588A;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #20588A;
+ --bs-btn-hover-border-color: #20588A;
+ --bs-btn-focus-shadow-rgb: 32, 88, 138;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #20588A;
+ --bs-btn-active-border-color: #20588A;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #20588A;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #20588A;
+ --bs-gradient: none;
+}
+
+.btn-outline-light {
+ --bs-btn-color: #f8f9fa;
+ --bs-btn-border-color: #f8f9fa;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #f8f9fa;
+ --bs-btn-hover-border-color: #f8f9fa;
+ --bs-btn-focus-shadow-rgb: 248, 249, 250;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #f8f9fa;
+ --bs-btn-active-border-color: #f8f9fa;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #f8f9fa;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #f8f9fa;
+ --bs-gradient: none;
+}
+
+.btn-outline-dark {
+ --bs-btn-color: #343a40;
+ --bs-btn-border-color: #343a40;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #343a40;
+ --bs-btn-hover-border-color: #343a40;
+ --bs-btn-focus-shadow-rgb: 52, 58, 64;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #343a40;
+ --bs-btn-active-border-color: #343a40;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #343a40;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #343a40;
+ --bs-gradient: none;
+}
+
+.btn-link {
+ --bs-btn-font-weight: 400;
+ --bs-btn-color: var(--bs-link-color);
+ --bs-btn-bg: transparent;
+ --bs-btn-border-color: transparent;
+ --bs-btn-hover-color: var(--bs-link-hover-color);
+ --bs-btn-hover-border-color: transparent;
+ --bs-btn-active-color: var(--bs-link-hover-color);
+ --bs-btn-active-border-color: transparent;
+ --bs-btn-disabled-color: #6c757d;
+ --bs-btn-disabled-border-color: transparent;
+ --bs-btn-box-shadow: 0 0 0 #000;
+ --bs-btn-focus-shadow-rgb: 38, 141, 201;
+ text-decoration: none;
+}
+.btn-link:focus-visible {
+ color: var(--bs-btn-color);
+}
+.btn-link:hover {
+ color: var(--bs-btn-hover-color);
+}
+
+.btn-lg, .btn-group-lg > .btn {
+ --bs-btn-padding-y: 0.5rem;
+ --bs-btn-padding-x: 1rem;
+ --bs-btn-font-size: 1.25rem;
+ --bs-btn-border-radius: var(--bs-border-radius-lg);
+}
+
+.btn-sm, .btn-group-sm > .btn {
+ --bs-btn-padding-y: 0.25rem;
+ --bs-btn-padding-x: 0.5rem;
+ --bs-btn-font-size: 0.875rem;
+ --bs-btn-border-radius: var(--bs-border-radius-sm);
+}
+
+.fade {
+ -webkit-transition: opacity 0.15s linear;
+ -o-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+@media (prefers-reduced-motion: reduce) {
+ .fade {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.fade:not(.show) {
+ opacity: 0;
+}
+
+.collapse:not(.show) {
+ display: none;
+}
+
+.collapsing {
+ height: 0;
+ overflow: hidden;
+ -webkit-transition: height 0.35s ease;
+ -o-transition: height 0.35s ease;
+ transition: height 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.collapsing.collapse-horizontal {
+ width: 0;
+ height: auto;
+ -webkit-transition: width 0.35s ease;
+ -o-transition: width 0.35s ease;
+ transition: width 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing.collapse-horizontal {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+
+.dropup,
+.dropend,
+.dropdown,
+.dropstart,
+.dropup-center,
+.dropdown-center {
+ position: relative;
+}
+
+.dropdown-toggle {
+ white-space: nowrap;
+}
+.dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid;
+ border-right: 0.3em solid transparent;
+ border-bottom: 0;
+ border-left: 0.3em solid transparent;
+}
+.dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropdown-menu {
+ --bs-dropdown-zindex: 1000;
+ --bs-dropdown-min-width: 10rem;
+ --bs-dropdown-padding-x: 0;
+ --bs-dropdown-padding-y: 0.5rem;
+ --bs-dropdown-spacer: 0.125rem;
+ --bs-dropdown-font-size: 1rem;
+ --bs-dropdown-color: var(--bs-body-color);
+ --bs-dropdown-bg: var(--bs-body-bg);
+ --bs-dropdown-border-color: var(--bs-border-color-translucent);
+ --bs-dropdown-border-radius: var(--bs-border-radius);
+ --bs-dropdown-border-width: var(--bs-border-width);
+ --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
+ --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
+ --bs-dropdown-divider-margin-y: 0.5rem;
+ --bs-dropdown-box-shadow: var(--bs-box-shadow);
+ --bs-dropdown-link-color: var(--bs-body-color);
+ --bs-dropdown-link-hover-color: var(--bs-body-color);
+ --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
+ --bs-dropdown-link-active-color: #fff;
+ --bs-dropdown-link-active-bg: #0079C0;
+ --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
+ --bs-dropdown-item-padding-x: 1rem;
+ --bs-dropdown-item-padding-y: 0.25rem;
+ --bs-dropdown-header-color: #6c757d;
+ --bs-dropdown-header-padding-x: 1rem;
+ --bs-dropdown-header-padding-y: 0.5rem;
+ position: absolute;
+ z-index: var(--bs-dropdown-zindex);
+ display: none;
+ min-width: var(--bs-dropdown-min-width);
+ padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
+ margin: 0;
+ font-size: var(--bs-dropdown-font-size);
+ color: var(--bs-dropdown-color);
+ text-align: left;
+ list-style: none;
+ background-color: var(--bs-dropdown-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
+ border-radius: var(--bs-dropdown-border-radius);
+}
+.dropdown-menu[data-bs-popper] {
+ top: 100%;
+ left: 0;
+ margin-top: var(--bs-dropdown-spacer);
+}
+
+.dropdown-menu-start {
+ --bs-position: start;
+}
+.dropdown-menu-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+}
+
+.dropdown-menu-end {
+ --bs-position: end;
+}
+.dropdown-menu-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+}
+
+@media (min-width: 36rem) {
+ .dropdown-menu-sm-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-sm-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-sm-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-sm-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 48rem) {
+ .dropdown-menu-md-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-md-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-md-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-md-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 62rem) {
+ .dropdown-menu-lg-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-lg-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-lg-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-lg-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 75rem) {
+ .dropdown-menu-xl-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-xl-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-xl-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-xl-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 87.5rem) {
+ .dropdown-menu-xxl-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-xxl-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-xxl-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-xxl-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+.dropup .dropdown-menu[data-bs-popper] {
+ top: auto;
+ bottom: 100%;
+ margin-top: 0;
+ margin-bottom: var(--bs-dropdown-spacer);
+}
+.dropup .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0;
+ border-right: 0.3em solid transparent;
+ border-bottom: 0.3em solid;
+ border-left: 0.3em solid transparent;
+}
+.dropup .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropend .dropdown-menu[data-bs-popper] {
+ top: 0;
+ right: auto;
+ left: 100%;
+ margin-top: 0;
+ margin-left: var(--bs-dropdown-spacer);
+}
+.dropend .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid transparent;
+ border-right: 0;
+ border-bottom: 0.3em solid transparent;
+ border-left: 0.3em solid;
+}
+.dropend .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+.dropend .dropdown-toggle::after {
+ vertical-align: 0;
+}
+
+.dropstart .dropdown-menu[data-bs-popper] {
+ top: 0;
+ right: 100%;
+ left: auto;
+ margin-top: 0;
+ margin-right: var(--bs-dropdown-spacer);
+}
+.dropstart .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+}
+.dropstart .dropdown-toggle::after {
+ display: none;
+}
+.dropstart .dropdown-toggle::before {
+ display: inline-block;
+ margin-right: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid transparent;
+ border-right: 0.3em solid;
+ border-bottom: 0.3em solid transparent;
+}
+.dropstart .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle::before {
+ vertical-align: 0;
+}
+
+.dropdown-divider {
+ height: 0;
+ margin: var(--bs-dropdown-divider-margin-y) 0;
+ overflow: hidden;
+ border-top: 1px solid var(--bs-dropdown-divider-bg);
+ opacity: 1;
+}
+
+.dropdown-item {
+ display: block;
+ width: 100%;
+ padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+ clear: both;
+ font-weight: 400;
+ color: var(--bs-dropdown-link-color);
+ text-align: inherit;
+ white-space: nowrap;
+ background-color: transparent;
+ border: 0;
+ border-radius: var(--bs-dropdown-item-border-radius, 0);
+}
+.dropdown-item:hover, .dropdown-item:focus {
+ color: var(--bs-dropdown-link-hover-color);
+ background-color: var(--bs-dropdown-link-hover-bg);
+}
+.dropdown-item.active, .dropdown-item:active {
+ color: var(--bs-dropdown-link-active-color);
+ text-decoration: none;
+ background-color: var(--bs-dropdown-link-active-bg);
+}
+.dropdown-item.disabled, .dropdown-item:disabled {
+ color: var(--bs-dropdown-link-disabled-color);
+ pointer-events: none;
+ background-color: transparent;
+}
+
+.dropdown-menu.show {
+ display: block;
+}
+
+.dropdown-header {
+ display: block;
+ padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
+ margin-bottom: 0;
+ font-size: 0.875rem;
+ color: var(--bs-dropdown-header-color);
+ white-space: nowrap;
+}
+
+.dropdown-item-text {
+ display: block;
+ padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+ color: var(--bs-dropdown-link-color);
+}
+
+.dropdown-menu-dark {
+ --bs-dropdown-color: #dee2e6;
+ --bs-dropdown-bg: #343a40;
+ --bs-dropdown-border-color: var(--bs-border-color-translucent);
+ --bs-dropdown-box-shadow: ;
+ --bs-dropdown-link-color: #dee2e6;
+ --bs-dropdown-link-hover-color: #fff;
+ --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
+ --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
+ --bs-dropdown-link-active-color: #fff;
+ --bs-dropdown-link-active-bg: #0079C0;
+ --bs-dropdown-link-disabled-color: #adb5bd;
+ --bs-dropdown-header-color: #adb5bd;
+}
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+ position: relative;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+}
+.btn-group > .btn-check:checked + .btn,
+.btn-group > .btn-check:focus + .btn,
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn-check:checked + .btn,
+.btn-group-vertical > .btn-check:focus + .btn,
+.btn-group-vertical > .btn:hover,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+ z-index: 1;
+}
+
+.btn-toolbar {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+}
+.btn-toolbar .input-group {
+ width: auto;
+}
+
+.btn-group {
+ border-radius: var(--bs-border-radius);
+}
+.btn-group > :not(.btn-check:first-child) + .btn,
+.btn-group > .btn-group:not(:first-child) {
+ margin-left: calc(var(--bs-border-width) * -1);
+}
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group > .btn.dropdown-toggle-split:first-child,
+.btn-group > .btn-group:not(:last-child) > .btn {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn:nth-child(n+3),
+.btn-group > :not(.btn-check) + .btn,
+.btn-group > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.dropdown-toggle-split {
+ padding-right: 0.5625rem;
+ padding-left: 0.5625rem;
+}
+.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle-split::before {
+ margin-right: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+ padding-right: 0.375rem;
+ padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+
+.btn-group-vertical {
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+ width: 100%;
+}
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) {
+ margin-top: calc(var(--bs-border-width) * -1);
+}
+.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group-vertical > .btn-group:not(:last-child) > .btn {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn ~ .btn,
+.btn-group-vertical > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav {
+ --bs-nav-link-padding-x: 1rem;
+ --bs-nav-link-padding-y: 0.5rem;
+ --bs-nav-link-font-weight: ;
+ --bs-nav-link-color: var(--bs-link-color);
+ --bs-nav-link-hover-color: var(--bs-link-hover-color);
+ --bs-nav-link-disabled-color: var(--bs-secondary-color);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.nav-link {
+ display: block;
+ padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
+ font-size: var(--bs-nav-link-font-size);
+ font-weight: var(--bs-nav-link-font-weight);
+ color: var(--bs-nav-link-color);
+ background: none;
+ border: 0;
+ -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
+ -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .nav-link {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.nav-link:hover, .nav-link:focus {
+ color: var(--bs-nav-link-hover-color);
+}
+.nav-link:focus-visible {
+ outline: 0;
+ -webkit-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+ box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+}
+.nav-link.disabled, .nav-link:disabled {
+ color: var(--bs-nav-link-disabled-color);
+ pointer-events: none;
+ cursor: default;
+}
+
+.nav-tabs {
+ --bs-nav-tabs-border-width: var(--bs-border-width);
+ --bs-nav-tabs-border-color: var(--bs-border-color);
+ --bs-nav-tabs-border-radius: var(--bs-border-radius);
+ --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
+ --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
+ --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
+ --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
+ border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
+}
+.nav-tabs .nav-link {
+ margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
+ border: var(--bs-nav-tabs-border-width) solid transparent;
+ border-top-left-radius: var(--bs-nav-tabs-border-radius);
+ border-top-right-radius: var(--bs-nav-tabs-border-radius);
+}
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+ isolation: isolate;
+ border-color: var(--bs-nav-tabs-link-hover-border-color);
+}
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+ color: var(--bs-nav-tabs-link-active-color);
+ background-color: var(--bs-nav-tabs-link-active-bg);
+ border-color: var(--bs-nav-tabs-link-active-border-color);
+}
+.nav-tabs .dropdown-menu {
+ margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav-pills {
+ --bs-nav-pills-border-radius: var(--bs-border-radius);
+ --bs-nav-pills-link-active-color: #fff;
+ --bs-nav-pills-link-active-bg: #0079C0;
+}
+.nav-pills .nav-link {
+ border-radius: var(--bs-nav-pills-border-radius);
+}
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+ color: var(--bs-nav-pills-link-active-color);
+ background-color: var(--bs-nav-pills-link-active-bg);
+}
+
+.nav-underline {
+ --bs-nav-underline-gap: 1rem;
+ --bs-nav-underline-border-width: 0.125rem;
+ --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
+ gap: var(--bs-nav-underline-gap);
+}
+.nav-underline .nav-link {
+ padding-right: 0;
+ padding-left: 0;
+ border-bottom: var(--bs-nav-underline-border-width) solid transparent;
+}
+.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
+ border-bottom-color: currentcolor;
+}
+.nav-underline .nav-link.active,
+.nav-underline .show > .nav-link {
+ font-weight: 700;
+ color: var(--bs-nav-underline-link-active-color);
+ border-bottom-color: currentcolor;
+}
+
+.nav-fill > .nav-link,
+.nav-fill .nav-item {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ text-align: center;
+}
+
+.nav-justified > .nav-link,
+.nav-justified .nav-item {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ text-align: center;
+}
+
+.nav-fill .nav-item .nav-link,
+.nav-justified .nav-item .nav-link {
+ width: 100%;
+}
+
+.tab-content > .tab-pane {
+ display: none;
+}
+.tab-content > .active {
+ display: block;
+}
+
+.navbar {
+ --bs-navbar-padding-x: 0;
+ --bs-navbar-padding-y: 0.5rem;
+ --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
+ --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
+ --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
+ --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
+ --bs-navbar-brand-padding-y: 0.3125rem;
+ --bs-navbar-brand-margin-end: 1rem;
+ --bs-navbar-brand-font-size: 1.25rem;
+ --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
+ --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
+ --bs-navbar-nav-link-padding-x: 0.5rem;
+ --bs-navbar-toggler-padding-y: 0.25rem;
+ --bs-navbar-toggler-padding-x: 0.75rem;
+ --bs-navbar-toggler-font-size: 1.25rem;
+ --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2852, 58, 64, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+ --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
+ --bs-navbar-toggler-border-radius: var(--bs-border-radius);
+ --bs-navbar-toggler-focus-width: 0.25rem;
+ --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
+}
+.navbar > .container-xxl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,
+.navbar > .container-fluid {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: inherit;
+ -ms-flex-wrap: inherit;
+ flex-wrap: inherit;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+.navbar-brand {
+ padding-top: var(--bs-navbar-brand-padding-y);
+ padding-bottom: var(--bs-navbar-brand-padding-y);
+ margin-right: var(--bs-navbar-brand-margin-end);
+ font-size: var(--bs-navbar-brand-font-size);
+ color: var(--bs-navbar-brand-color);
+ white-space: nowrap;
+}
+.navbar-brand:hover, .navbar-brand:focus {
+ color: var(--bs-navbar-brand-hover-color);
+}
+
+.navbar-nav {
+ --bs-nav-link-padding-x: 0;
+ --bs-nav-link-padding-y: 0.5rem;
+ --bs-nav-link-font-weight: ;
+ --bs-nav-link-color: var(--bs-navbar-color);
+ --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
+ --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
+ color: var(--bs-navbar-active-color);
+}
+.navbar-nav .dropdown-menu {
+ position: static;
+}
+
+.navbar-text {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ color: var(--bs-navbar-color);
+}
+.navbar-text a,
+.navbar-text a:hover,
+.navbar-text a:focus {
+ color: var(--bs-navbar-active-color);
+}
+
+.navbar-collapse {
+ -webkit-flex-basis: 100%;
+ -ms-flex-preferred-size: 100%;
+ flex-basis: 100%;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+
+.navbar-toggler {
+ padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
+ font-size: var(--bs-navbar-toggler-font-size);
+ line-height: 1;
+ color: var(--bs-navbar-color);
+ background-color: transparent;
+ border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
+ border-radius: var(--bs-navbar-toggler-border-radius);
+ -webkit-transition: var(--bs-navbar-toggler-transition);
+ -o-transition: var(--bs-navbar-toggler-transition);
+ transition: var(--bs-navbar-toggler-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .navbar-toggler {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.navbar-toggler:hover {
+ text-decoration: none;
+}
+.navbar-toggler:focus {
+ text-decoration: none;
+ outline: 0;
+ -webkit-box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
+ box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
+}
+
+.navbar-toggler-icon {
+ display: inline-block;
+ width: 1.5em;
+ height: 1.5em;
+ vertical-align: middle;
+ background-image: var(--bs-navbar-toggler-icon-bg);
+ background-repeat: no-repeat;
+ background-position: center;
+ -webkit-background-size: 100% 100%;
+ background-size: 100%;
+}
+
+.navbar-nav-scroll {
+ max-height: var(--bs-scroll-height, 75vh);
+ overflow-y: auto;
+}
+
+@media (min-width: 36rem) {
+ .navbar-expand-sm {
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ }
+ .navbar-expand-sm .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-sm .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-sm .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-sm .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ -webkit-flex-basis: auto;
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+ }
+ .navbar-expand-sm .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-sm .offcanvas {
+ position: static;
+ z-index: auto;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ -webkit-transform: none !important;
+ -o-transform: none !important;
+ transform: none !important;
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+ .navbar-expand-sm .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-sm .offcanvas .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 48rem) {
+ .navbar-expand-md {
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ }
+ .navbar-expand-md .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-md .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-md .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-md .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-md .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ -webkit-flex-basis: auto;
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+ }
+ .navbar-expand-md .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-md .offcanvas {
+ position: static;
+ z-index: auto;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ -webkit-transform: none !important;
+ -o-transform: none !important;
+ transform: none !important;
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+ .navbar-expand-md .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-md .offcanvas .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 62rem) {
+ .navbar-expand-lg {
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ }
+ .navbar-expand-lg .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-lg .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-lg .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-lg .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-lg .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ -webkit-flex-basis: auto;
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+ }
+ .navbar-expand-lg .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-lg .offcanvas {
+ position: static;
+ z-index: auto;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ -webkit-transform: none !important;
+ -o-transform: none !important;
+ transform: none !important;
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+ .navbar-expand-lg .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-lg .offcanvas .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 75rem) {
+ .navbar-expand-xl {
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xl .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-xl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xl .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-xl .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-xl .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ -webkit-flex-basis: auto;
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+ }
+ .navbar-expand-xl .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-xl .offcanvas {
+ position: static;
+ z-index: auto;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ -webkit-transform: none !important;
+ -o-transform: none !important;
+ transform: none !important;
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+ .navbar-expand-xl .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-xl .offcanvas .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 87.5rem) {
+ .navbar-expand-xxl {
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xxl .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-xxl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xxl .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-xxl .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-xxl .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ -webkit-flex-basis: auto;
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+ }
+ .navbar-expand-xxl .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-xxl .offcanvas {
+ position: static;
+ z-index: auto;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ -webkit-transform: none !important;
+ -o-transform: none !important;
+ transform: none !important;
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+ .navbar-expand-xxl .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-xxl .offcanvas .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+.navbar-expand {
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+}
+.navbar-expand .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+}
+.navbar-expand .navbar-nav .dropdown-menu {
+ position: absolute;
+}
+.navbar-expand .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+}
+.navbar-expand .navbar-nav-scroll {
+ overflow: visible;
+}
+.navbar-expand .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ -webkit-flex-basis: auto;
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+}
+.navbar-expand .navbar-toggler {
+ display: none;
+}
+.navbar-expand .offcanvas {
+ position: static;
+ z-index: auto;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ -webkit-transform: none !important;
+ -o-transform: none !important;
+ transform: none !important;
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+}
+.navbar-expand .offcanvas .offcanvas-header {
+ display: none;
+}
+.navbar-expand .offcanvas .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+}
+
+.navbar-dark,
+.navbar[data-bs-theme=dark] {
+ --bs-navbar-color: rgba(255, 255, 255, 0.55);
+ --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
+ --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
+ --bs-navbar-active-color: #fff;
+ --bs-navbar-brand-color: #fff;
+ --bs-navbar-brand-hover-color: #fff;
+ --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
+ --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+
+[data-bs-theme=dark] .navbar-toggler-icon {
+ --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+
+.card {
+ --bs-card-spacer-y: 1rem;
+ --bs-card-spacer-x: 1rem;
+ --bs-card-title-spacer-y: 0.5rem;
+ --bs-card-title-color: ;
+ --bs-card-subtitle-color: ;
+ --bs-card-border-width: var(--bs-border-width);
+ --bs-card-border-color: var(--bs-border-color-translucent);
+ --bs-card-border-radius: var(--bs-border-radius);
+ --bs-card-box-shadow: ;
+ --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
+ --bs-card-cap-padding-y: 0.5rem;
+ --bs-card-cap-padding-x: 1rem;
+ --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
+ --bs-card-cap-color: ;
+ --bs-card-height: ;
+ --bs-card-color: ;
+ --bs-card-bg: var(--bs-body-bg);
+ --bs-card-img-overlay-padding: 1rem;
+ --bs-card-group-margin: 0.75rem;
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ min-width: 0;
+ height: var(--bs-card-height);
+ color: var(--bs-body-color);
+ word-wrap: break-word;
+ background-color: var(--bs-card-bg);
+ -webkit-background-clip: border-box;
+ background-clip: border-box;
+ border: var(--bs-card-border-width) solid var(--bs-card-border-color);
+ border-radius: var(--bs-card-border-radius);
+}
+.card > hr {
+ margin-right: 0;
+ margin-left: 0;
+}
+.card > .list-group {
+ border-top: inherit;
+ border-bottom: inherit;
+}
+.card > .list-group:first-child {
+ border-top-width: 0;
+ border-top-left-radius: var(--bs-card-inner-border-radius);
+ border-top-right-radius: var(--bs-card-inner-border-radius);
+}
+.card > .list-group:last-child {
+ border-bottom-width: 0;
+ border-bottom-right-radius: var(--bs-card-inner-border-radius);
+ border-bottom-left-radius: var(--bs-card-inner-border-radius);
+}
+.card > .card-header + .list-group,
+.card > .list-group + .card-footer {
+ border-top: 0;
+}
+
+.card-body {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
+ color: var(--bs-card-color);
+}
+
+.card-title {
+ margin-bottom: var(--bs-card-title-spacer-y);
+ color: var(--bs-card-title-color);
+}
+
+.card-subtitle {
+ margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
+ margin-bottom: 0;
+ color: var(--bs-card-subtitle-color);
+}
+
+.card-text:last-child {
+ margin-bottom: 0;
+}
+
+.card-link + .card-link {
+ margin-left: var(--bs-card-spacer-x);
+}
+
+.card-header {
+ padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
+ margin-bottom: 0;
+ color: var(--bs-card-cap-color);
+ background-color: var(--bs-card-cap-bg);
+ border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
+}
+.card-header:first-child {
+ border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
+}
+
+.card-footer {
+ padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
+ color: var(--bs-card-cap-color);
+ background-color: var(--bs-card-cap-bg);
+ border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
+}
+.card-footer:last-child {
+ border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
+}
+
+.card-header-tabs {
+ margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+ margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
+ margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+ border-bottom: 0;
+}
+.card-header-tabs .nav-link.active {
+ background-color: var(--bs-card-bg);
+ border-bottom-color: var(--bs-card-bg);
+}
+
+.card-header-pills {
+ margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+ margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+}
+
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: var(--bs-card-img-overlay-padding);
+ border-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-img,
+.card-img-top,
+.card-img-bottom {
+ width: 100%;
+}
+
+.card-img,
+.card-img-top {
+ border-top-left-radius: var(--bs-card-inner-border-radius);
+ border-top-right-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-img,
+.card-img-bottom {
+ border-bottom-right-radius: var(--bs-card-inner-border-radius);
+ border-bottom-left-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-group > .card {
+ margin-bottom: var(--bs-card-group-margin);
+}
+@media (min-width: 36rem) {
+ .card-group {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ }
+ .card-group > .card {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 0 0%;
+ -ms-flex: 1 0 0%;
+ flex: 1 0 0%;
+ margin-bottom: 0;
+ }
+ .card-group > .card + .card {
+ margin-left: 0;
+ border-left: 0;
+ }
+ .card-group > .card:not(:last-child) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-top,
+ .card-group > .card:not(:last-child) .card-header {
+ border-top-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-bottom,
+ .card-group > .card:not(:last-child) .card-footer {
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-top,
+ .card-group > .card:not(:first-child) .card-header {
+ border-top-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-bottom,
+ .card-group > .card:not(:first-child) .card-footer {
+ border-bottom-left-radius: 0;
+ }
+}
+
+.accordion {
+ --bs-accordion-color: var(--bs-body-color);
+ --bs-accordion-bg: var(--bs-body-bg);
+ --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
+ --bs-accordion-border-color: var(--bs-border-color);
+ --bs-accordion-border-width: var(--bs-border-width);
+ --bs-accordion-border-radius: var(--bs-border-radius);
+ --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
+ --bs-accordion-btn-padding-x: 1.25rem;
+ --bs-accordion-btn-padding-y: 1rem;
+ --bs-accordion-btn-color: var(--bs-body-color);
+ --bs-accordion-btn-bg: var(--bs-accordion-bg);
+ --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23343a40'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ --bs-accordion-btn-icon-width: 1.25rem;
+ --bs-accordion-btn-icon-transform: rotate(-180deg);
+ --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
+ --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300304d'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ --bs-accordion-btn-focus-border-color: #80bce0;
+ --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+ --bs-accordion-body-padding-x: 1.25rem;
+ --bs-accordion-body-padding-y: 1rem;
+ --bs-accordion-active-color: var(--bs-primary-text-emphasis);
+ --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
+}
+
+.accordion-button {
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ width: 100%;
+ padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
+ font-size: 1rem;
+ color: var(--bs-accordion-btn-color);
+ text-align: left;
+ background-color: var(--bs-accordion-btn-bg);
+ border: 0;
+ border-radius: 0;
+ overflow-anchor: none;
+ -webkit-transition: var(--bs-accordion-transition);
+ -o-transition: var(--bs-accordion-transition);
+ transition: var(--bs-accordion-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.accordion-button:not(.collapsed) {
+ color: var(--bs-accordion-active-color);
+ background-color: var(--bs-accordion-active-bg);
+ -webkit-box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
+ box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
+}
+.accordion-button:not(.collapsed)::after {
+ background-image: var(--bs-accordion-btn-active-icon);
+ -webkit-transform: var(--bs-accordion-btn-icon-transform);
+ -o-transform: var(--bs-accordion-btn-icon-transform);
+ transform: var(--bs-accordion-btn-icon-transform);
+}
+.accordion-button::after {
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ width: var(--bs-accordion-btn-icon-width);
+ height: var(--bs-accordion-btn-icon-width);
+ margin-left: auto;
+ content: "";
+ background-image: var(--bs-accordion-btn-icon);
+ background-repeat: no-repeat;
+ -webkit-background-size: var(--bs-accordion-btn-icon-width) var(--bs-accordion-btn-icon-width);
+ background-size: var(--bs-accordion-btn-icon-width);
+ -webkit-transition: var(--bs-accordion-btn-icon-transition);
+ -o-transition: var(--bs-accordion-btn-icon-transition);
+ transition: var(--bs-accordion-btn-icon-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button::after {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.accordion-button:hover {
+ z-index: 2;
+}
+.accordion-button:focus {
+ z-index: 3;
+ border-color: var(--bs-accordion-btn-focus-border-color);
+ outline: 0;
+ -webkit-box-shadow: var(--bs-accordion-btn-focus-box-shadow);
+ box-shadow: var(--bs-accordion-btn-focus-box-shadow);
+}
+
+.accordion-header {
+ margin-bottom: 0;
+}
+
+.accordion-item {
+ color: var(--bs-accordion-color);
+ background-color: var(--bs-accordion-bg);
+ border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
+}
+.accordion-item:first-of-type {
+ border-top-left-radius: var(--bs-accordion-border-radius);
+ border-top-right-radius: var(--bs-accordion-border-radius);
+}
+.accordion-item:first-of-type .accordion-button {
+ border-top-left-radius: var(--bs-accordion-inner-border-radius);
+ border-top-right-radius: var(--bs-accordion-inner-border-radius);
+}
+.accordion-item:not(:first-of-type) {
+ border-top: 0;
+}
+.accordion-item:last-of-type {
+ border-bottom-right-radius: var(--bs-accordion-border-radius);
+ border-bottom-left-radius: var(--bs-accordion-border-radius);
+}
+.accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
+ border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
+}
+.accordion-item:last-of-type .accordion-collapse {
+ border-bottom-right-radius: var(--bs-accordion-border-radius);
+ border-bottom-left-radius: var(--bs-accordion-border-radius);
+}
+
+.accordion-body {
+ padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
+}
+
+.accordion-flush .accordion-collapse {
+ border-width: 0;
+}
+.accordion-flush .accordion-item {
+ border-right: 0;
+ border-left: 0;
+ border-radius: 0;
+}
+.accordion-flush .accordion-item:first-child {
+ border-top: 0;
+}
+.accordion-flush .accordion-item:last-child {
+ border-bottom: 0;
+}
+.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
+ border-radius: 0;
+}
+
+[data-bs-theme=dark] .accordion-button::after {
+ --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366afd9'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366afd9'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+}
+
+.breadcrumb {
+ --bs-breadcrumb-padding-x: 0;
+ --bs-breadcrumb-padding-y: 0;
+ --bs-breadcrumb-margin-bottom: 1rem;
+ --bs-breadcrumb-bg: ;
+ --bs-breadcrumb-border-radius: ;
+ --bs-breadcrumb-divider-color: var(--bs-secondary-color);
+ --bs-breadcrumb-item-padding-x: 0.5rem;
+ --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
+ margin-bottom: var(--bs-breadcrumb-margin-bottom);
+ font-size: var(--bs-breadcrumb-font-size);
+ list-style: none;
+ background-color: var(--bs-breadcrumb-bg);
+ border-radius: var(--bs-breadcrumb-border-radius);
+}
+
+.breadcrumb-item + .breadcrumb-item {
+ padding-left: var(--bs-breadcrumb-item-padding-x);
+}
+.breadcrumb-item + .breadcrumb-item::before {
+ float: left;
+ padding-right: var(--bs-breadcrumb-item-padding-x);
+ color: var(--bs-breadcrumb-divider-color);
+ content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
+}
+.breadcrumb-item.active {
+ color: var(--bs-breadcrumb-item-active-color);
+}
+
+.pagination {
+ --bs-pagination-padding-x: 0.75rem;
+ --bs-pagination-padding-y: 0.375rem;
+ --bs-pagination-font-size: 1rem;
+ --bs-pagination-color: var(--bs-link-color);
+ --bs-pagination-bg: var(--bs-body-bg);
+ --bs-pagination-border-width: var(--bs-border-width);
+ --bs-pagination-border-color: var(--bs-border-color);
+ --bs-pagination-border-radius: var(--bs-border-radius);
+ --bs-pagination-hover-color: var(--bs-link-hover-color);
+ --bs-pagination-hover-bg: var(--bs-tertiary-bg);
+ --bs-pagination-hover-border-color: var(--bs-border-color);
+ --bs-pagination-focus-color: var(--bs-link-hover-color);
+ --bs-pagination-focus-bg: var(--bs-secondary-bg);
+ --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+ --bs-pagination-active-color: #fff;
+ --bs-pagination-active-bg: #0079C0;
+ --bs-pagination-active-border-color: #0079C0;
+ --bs-pagination-disabled-color: var(--bs-secondary-color);
+ --bs-pagination-disabled-bg: var(--bs-secondary-bg);
+ --bs-pagination-disabled-border-color: var(--bs-border-color);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ padding-left: 0;
+ list-style: none;
+}
+
+.page-link {
+ position: relative;
+ display: block;
+ padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
+ font-size: var(--bs-pagination-font-size);
+ color: var(--bs-pagination-color);
+ background-color: var(--bs-pagination-bg);
+ border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
+ -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+ -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .page-link {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.page-link:hover {
+ z-index: 2;
+ color: var(--bs-pagination-hover-color);
+ background-color: var(--bs-pagination-hover-bg);
+ border-color: var(--bs-pagination-hover-border-color);
+}
+.page-link:focus {
+ z-index: 3;
+ color: var(--bs-pagination-focus-color);
+ background-color: var(--bs-pagination-focus-bg);
+ outline: 0;
+ -webkit-box-shadow: var(--bs-pagination-focus-box-shadow);
+ box-shadow: var(--bs-pagination-focus-box-shadow);
+}
+.page-link.active, .active > .page-link {
+ z-index: 3;
+ color: var(--bs-pagination-active-color);
+ background-color: var(--bs-pagination-active-bg);
+ border-color: var(--bs-pagination-active-border-color);
+}
+.page-link.disabled, .disabled > .page-link {
+ color: var(--bs-pagination-disabled-color);
+ pointer-events: none;
+ background-color: var(--bs-pagination-disabled-bg);
+ border-color: var(--bs-pagination-disabled-border-color);
+}
+
+.page-item:not(:first-child) .page-link {
+ margin-left: calc(var(--bs-border-width) * -1);
+}
+.page-item:first-child .page-link {
+ border-top-left-radius: var(--bs-pagination-border-radius);
+ border-bottom-left-radius: var(--bs-pagination-border-radius);
+}
+.page-item:last-child .page-link {
+ border-top-right-radius: var(--bs-pagination-border-radius);
+ border-bottom-right-radius: var(--bs-pagination-border-radius);
+}
+
+.pagination-lg {
+ --bs-pagination-padding-x: 1.5rem;
+ --bs-pagination-padding-y: 0.75rem;
+ --bs-pagination-font-size: 1.25rem;
+ --bs-pagination-border-radius: var(--bs-border-radius-lg);
+}
+
+.pagination-sm {
+ --bs-pagination-padding-x: 0.5rem;
+ --bs-pagination-padding-y: 0.25rem;
+ --bs-pagination-font-size: 0.875rem;
+ --bs-pagination-border-radius: var(--bs-border-radius-sm);
+}
+
+.badge {
+ --bs-badge-padding-x: 0.65em;
+ --bs-badge-padding-y: 0.35em;
+ --bs-badge-font-size: 0.75em;
+ --bs-badge-font-weight: 700;
+ --bs-badge-color: #fff;
+ --bs-badge-border-radius: var(--bs-border-radius);
+ display: inline-block;
+ padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
+ font-size: var(--bs-badge-font-size);
+ font-weight: var(--bs-badge-font-weight);
+ line-height: 1;
+ color: var(--bs-badge-color);
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: var(--bs-badge-border-radius);
+}
+.badge:empty {
+ display: none;
+}
+
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+
+.alert {
+ --bs-alert-bg: transparent;
+ --bs-alert-padding-x: 1rem;
+ --bs-alert-padding-y: 1rem;
+ --bs-alert-margin-bottom: 1rem;
+ --bs-alert-color: inherit;
+ --bs-alert-border-color: transparent;
+ --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
+ --bs-alert-border-radius: var(--bs-border-radius);
+ --bs-alert-link-color: inherit;
+ position: relative;
+ padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
+ margin-bottom: var(--bs-alert-margin-bottom);
+ color: var(--bs-alert-color);
+ background-color: var(--bs-alert-bg);
+ border: var(--bs-alert-border);
+ border-radius: var(--bs-alert-border-radius);
+}
+
+.alert-heading {
+ color: inherit;
+}
+
+.alert-link {
+ font-weight: 700;
+ color: var(--bs-alert-link-color);
+}
+
+.alert-dismissible {
+ padding-right: 3rem;
+}
+.alert-dismissible .btn-close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ padding: 1.25rem 1rem;
+}
+
+.alert-primary {
+ --bs-alert-color: var(--bs-primary-text-emphasis);
+ --bs-alert-bg: var(--bs-primary-bg-subtle);
+ --bs-alert-border-color: var(--bs-primary-border-subtle);
+ --bs-alert-link-color: var(--bs-primary-text-emphasis);
+}
+
+.alert-secondary {
+ --bs-alert-color: var(--bs-secondary-text-emphasis);
+ --bs-alert-bg: var(--bs-secondary-bg-subtle);
+ --bs-alert-border-color: var(--bs-secondary-border-subtle);
+ --bs-alert-link-color: var(--bs-secondary-text-emphasis);
+}
+
+.alert-success {
+ --bs-alert-color: var(--bs-success-text-emphasis);
+ --bs-alert-bg: var(--bs-success-bg-subtle);
+ --bs-alert-border-color: var(--bs-success-border-subtle);
+ --bs-alert-link-color: var(--bs-success-text-emphasis);
+}
+
+.alert-info {
+ --bs-alert-color: var(--bs-info-text-emphasis);
+ --bs-alert-bg: var(--bs-info-bg-subtle);
+ --bs-alert-border-color: var(--bs-info-border-subtle);
+ --bs-alert-link-color: var(--bs-info-text-emphasis);
+}
+
+.alert-warning {
+ --bs-alert-color: var(--bs-warning-text-emphasis);
+ --bs-alert-bg: var(--bs-warning-bg-subtle);
+ --bs-alert-border-color: var(--bs-warning-border-subtle);
+ --bs-alert-link-color: var(--bs-warning-text-emphasis);
+}
+
+.alert-danger {
+ --bs-alert-color: var(--bs-danger-text-emphasis);
+ --bs-alert-bg: var(--bs-danger-bg-subtle);
+ --bs-alert-border-color: var(--bs-danger-border-subtle);
+ --bs-alert-link-color: var(--bs-danger-text-emphasis);
+}
+
+.alert-light {
+ --bs-alert-color: var(--bs-light-text-emphasis);
+ --bs-alert-bg: var(--bs-light-bg-subtle);
+ --bs-alert-border-color: var(--bs-light-border-subtle);
+ --bs-alert-link-color: var(--bs-light-text-emphasis);
+}
+
+.alert-dark {
+ --bs-alert-color: var(--bs-dark-text-emphasis);
+ --bs-alert-bg: var(--bs-dark-bg-subtle);
+ --bs-alert-border-color: var(--bs-dark-border-subtle);
+ --bs-alert-link-color: var(--bs-dark-text-emphasis);
+}
+
+@-webkit-keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
+}
+
+@-o-keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
+}
+
+@keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
+}
+.progress,
+.progress-stacked {
+ --bs-progress-height: 1rem;
+ --bs-progress-font-size: 0.75rem;
+ --bs-progress-bg: var(--bs-secondary-bg);
+ --bs-progress-border-radius: var(--bs-border-radius);
+ --bs-progress-box-shadow: var(--bs-box-shadow-inset);
+ --bs-progress-bar-color: #fff;
+ --bs-progress-bar-bg: #0079C0;
+ --bs-progress-bar-transition: width 0.6s ease;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ height: var(--bs-progress-height);
+ overflow: hidden;
+ font-size: var(--bs-progress-font-size);
+ background-color: var(--bs-progress-bg);
+ border-radius: var(--bs-progress-border-radius);
+}
+
+.progress-bar {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ overflow: hidden;
+ color: var(--bs-progress-bar-color);
+ text-align: center;
+ white-space: nowrap;
+ background-color: var(--bs-progress-bar-bg);
+ -webkit-transition: var(--bs-progress-bar-transition);
+ -o-transition: var(--bs-progress-bar-transition);
+ transition: var(--bs-progress-bar-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+
+.progress-bar-striped {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ -webkit-background-size: var(--bs-progress-height) var(--bs-progress-height);
+ background-size: var(--bs-progress-height) var(--bs-progress-height);
+}
+
+.progress-stacked > .progress {
+ overflow: visible;
+}
+
+.progress-stacked > .progress > .progress-bar {
+ width: 100%;
+}
+
+.progress-bar-animated {
+ -webkit-animation: 1s linear infinite progress-bar-stripes;
+ -o-animation: 1s linear infinite progress-bar-stripes;
+ animation: 1s linear infinite progress-bar-stripes;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar-animated {
+ -webkit-animation: none;
+ -o-animation: none;
+ animation: none;
+ }
+}
+
+.list-group {
+ --bs-list-group-color: var(--bs-body-color);
+ --bs-list-group-bg: var(--bs-body-bg);
+ --bs-list-group-border-color: var(--bs-border-color);
+ --bs-list-group-border-width: var(--bs-border-width);
+ --bs-list-group-border-radius: var(--bs-border-radius);
+ --bs-list-group-item-padding-x: 1rem;
+ --bs-list-group-item-padding-y: 0.5rem;
+ --bs-list-group-action-color: var(--bs-secondary-color);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
+ --bs-list-group-action-active-color: var(--bs-body-color);
+ --bs-list-group-action-active-bg: var(--bs-secondary-bg);
+ --bs-list-group-disabled-color: var(--bs-secondary-color);
+ --bs-list-group-disabled-bg: var(--bs-body-bg);
+ --bs-list-group-active-color: #fff;
+ --bs-list-group-active-bg: #0079C0;
+ --bs-list-group-active-border-color: #0079C0;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ border-radius: var(--bs-list-group-border-radius);
+}
+
+.list-group-numbered {
+ list-style-type: none;
+ counter-reset: section;
+}
+.list-group-numbered > .list-group-item::before {
+ content: counters(section, ".") ". ";
+ counter-increment: section;
+}
+
+.list-group-item-action {
+ width: 100%;
+ color: var(--bs-list-group-action-color);
+ text-align: inherit;
+}
+.list-group-item-action:hover, .list-group-item-action:focus {
+ z-index: 1;
+ color: var(--bs-list-group-action-hover-color);
+ text-decoration: none;
+ background-color: var(--bs-list-group-action-hover-bg);
+}
+.list-group-item-action:active {
+ color: var(--bs-list-group-action-active-color);
+ background-color: var(--bs-list-group-action-active-bg);
+}
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
+ color: var(--bs-list-group-color);
+ background-color: var(--bs-list-group-bg);
+ border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
+}
+.list-group-item:first-child {
+ border-top-left-radius: inherit;
+ border-top-right-radius: inherit;
+}
+.list-group-item:last-child {
+ border-bottom-right-radius: inherit;
+ border-bottom-left-radius: inherit;
+}
+.list-group-item.disabled, .list-group-item:disabled {
+ color: var(--bs-list-group-disabled-color);
+ pointer-events: none;
+ background-color: var(--bs-list-group-disabled-bg);
+}
+.list-group-item.active {
+ z-index: 2;
+ color: var(--bs-list-group-active-color);
+ background-color: var(--bs-list-group-active-bg);
+ border-color: var(--bs-list-group-active-border-color);
+}
+.list-group-item + .list-group-item {
+ border-top-width: 0;
+}
+.list-group-item + .list-group-item.active {
+ margin-top: calc(-1 * var(--bs-list-group-border-width));
+ border-top-width: var(--bs-list-group-border-width);
+}
+
+.list-group-horizontal {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+}
+.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+}
+.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+}
+.list-group-horizontal > .list-group-item.active {
+ margin-top: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+}
+
+@media (min-width: 36rem) {
+ .list-group-horizontal-sm {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 48rem) {
+ .list-group-horizontal-md {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 62rem) {
+ .list-group-horizontal-lg {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 75rem) {
+ .list-group-horizontal-xl {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 87.5rem) {
+ .list-group-horizontal-xxl {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+.list-group-flush {
+ border-radius: 0;
+}
+.list-group-flush > .list-group-item {
+ border-width: 0 0 var(--bs-list-group-border-width);
+}
+.list-group-flush > .list-group-item:last-child {
+ border-bottom-width: 0;
+}
+
+.list-group-item-primary {
+ --bs-list-group-color: var(--bs-primary-text-emphasis);
+ --bs-list-group-bg: var(--bs-primary-bg-subtle);
+ --bs-list-group-border-color: var(--bs-primary-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
+ --bs-list-group-active-color: var(--bs-primary-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
+ --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
+}
+
+.list-group-item-secondary {
+ --bs-list-group-color: var(--bs-secondary-text-emphasis);
+ --bs-list-group-bg: var(--bs-secondary-bg-subtle);
+ --bs-list-group-border-color: var(--bs-secondary-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
+ --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
+ --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
+}
+
+.list-group-item-success {
+ --bs-list-group-color: var(--bs-success-text-emphasis);
+ --bs-list-group-bg: var(--bs-success-bg-subtle);
+ --bs-list-group-border-color: var(--bs-success-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
+ --bs-list-group-active-color: var(--bs-success-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-success-text-emphasis);
+ --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
+}
+
+.list-group-item-info {
+ --bs-list-group-color: var(--bs-info-text-emphasis);
+ --bs-list-group-bg: var(--bs-info-bg-subtle);
+ --bs-list-group-border-color: var(--bs-info-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
+ --bs-list-group-active-color: var(--bs-info-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-info-text-emphasis);
+ --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
+}
+
+.list-group-item-warning {
+ --bs-list-group-color: var(--bs-warning-text-emphasis);
+ --bs-list-group-bg: var(--bs-warning-bg-subtle);
+ --bs-list-group-border-color: var(--bs-warning-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
+ --bs-list-group-active-color: var(--bs-warning-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
+ --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
+}
+
+.list-group-item-danger {
+ --bs-list-group-color: var(--bs-danger-text-emphasis);
+ --bs-list-group-bg: var(--bs-danger-bg-subtle);
+ --bs-list-group-border-color: var(--bs-danger-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
+ --bs-list-group-active-color: var(--bs-danger-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
+ --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
+}
+
+.list-group-item-light {
+ --bs-list-group-color: var(--bs-light-text-emphasis);
+ --bs-list-group-bg: var(--bs-light-bg-subtle);
+ --bs-list-group-border-color: var(--bs-light-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
+ --bs-list-group-active-color: var(--bs-light-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-light-text-emphasis);
+ --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
+}
+
+.list-group-item-dark {
+ --bs-list-group-color: var(--bs-dark-text-emphasis);
+ --bs-list-group-bg: var(--bs-dark-bg-subtle);
+ --bs-list-group-border-color: var(--bs-dark-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
+ --bs-list-group-active-color: var(--bs-dark-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
+ --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
+}
+
+.btn-close {
+ --bs-btn-close-color: #000;
+ --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
+ --bs-btn-close-opacity: 0.5;
+ --bs-btn-close-hover-opacity: 0.75;
+ --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
+ --bs-btn-close-focus-opacity: 1;
+ --bs-btn-close-disabled-opacity: 0.25;
+ --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ width: 1em;
+ height: 1em;
+ padding: 0.25em 0.25em;
+ color: var(--bs-btn-close-color);
+ background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
+ border: 0;
+ border-radius: 0.375rem;
+ opacity: var(--bs-btn-close-opacity);
+}
+.btn-close:hover {
+ color: var(--bs-btn-close-color);
+ text-decoration: none;
+ opacity: var(--bs-btn-close-hover-opacity);
+}
+.btn-close:focus {
+ outline: 0;
+ -webkit-box-shadow: var(--bs-btn-close-focus-shadow);
+ box-shadow: var(--bs-btn-close-focus-shadow);
+ opacity: var(--bs-btn-close-focus-opacity);
+}
+.btn-close:disabled, .btn-close.disabled {
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ opacity: var(--bs-btn-close-disabled-opacity);
+}
+
+.btn-close-white {
+ -webkit-filter: var(--bs-btn-close-white-filter);
+ filter: var(--bs-btn-close-white-filter);
+}
+
+[data-bs-theme=dark] .btn-close {
+ -webkit-filter: var(--bs-btn-close-white-filter);
+ filter: var(--bs-btn-close-white-filter);
+}
+
+.toast {
+ --bs-toast-zindex: 1090;
+ --bs-toast-padding-x: 0.75rem;
+ --bs-toast-padding-y: 0.5rem;
+ --bs-toast-spacing: 1.5rem;
+ --bs-toast-max-width: 350px;
+ --bs-toast-font-size: 0.875rem;
+ --bs-toast-color: ;
+ --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
+ --bs-toast-border-width: var(--bs-border-width);
+ --bs-toast-border-color: var(--bs-border-color-translucent);
+ --bs-toast-border-radius: var(--bs-border-radius);
+ --bs-toast-box-shadow: var(--bs-box-shadow);
+ --bs-toast-header-color: var(--bs-secondary-color);
+ --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
+ --bs-toast-header-border-color: var(--bs-border-color-translucent);
+ width: var(--bs-toast-max-width);
+ max-width: 100%;
+ font-size: var(--bs-toast-font-size);
+ color: var(--bs-toast-color);
+ pointer-events: auto;
+ background-color: var(--bs-toast-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
+ -webkit-box-shadow: var(--bs-toast-box-shadow);
+ box-shadow: var(--bs-toast-box-shadow);
+ border-radius: var(--bs-toast-border-radius);
+}
+.toast.showing {
+ opacity: 0;
+}
+.toast:not(.show) {
+ display: none;
+}
+
+.toast-container {
+ --bs-toast-zindex: 1090;
+ position: absolute;
+ z-index: var(--bs-toast-zindex);
+ width: -webkit-max-content;
+ width: -moz-max-content;
+ width: max-content;
+ max-width: 100%;
+ pointer-events: none;
+}
+.toast-container > :not(:last-child) {
+ margin-bottom: var(--bs-toast-spacing);
+}
+
+.toast-header {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
+ color: var(--bs-toast-header-color);
+ background-color: var(--bs-toast-header-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
+ border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
+ border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
+}
+.toast-header .btn-close {
+ margin-right: calc(-0.5 * var(--bs-toast-padding-x));
+ margin-left: var(--bs-toast-padding-x);
+}
+
+.toast-body {
+ padding: var(--bs-toast-padding-x);
+ word-wrap: break-word;
+}
+
+.modal {
+ --bs-modal-zindex: 1055;
+ --bs-modal-width: 500px;
+ --bs-modal-padding: 1rem;
+ --bs-modal-margin: 0.5rem;
+ --bs-modal-color: ;
+ --bs-modal-bg: var(--bs-body-bg);
+ --bs-modal-border-color: var(--bs-border-color-translucent);
+ --bs-modal-border-width: var(--bs-border-width);
+ --bs-modal-border-radius: var(--bs-border-radius-lg);
+ --bs-modal-box-shadow: var(--bs-box-shadow-sm);
+ --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
+ --bs-modal-header-padding-x: 1rem;
+ --bs-modal-header-padding-y: 1rem;
+ --bs-modal-header-padding: 1rem 1rem;
+ --bs-modal-header-border-color: var(--bs-border-color);
+ --bs-modal-header-border-width: var(--bs-border-width);
+ --bs-modal-title-line-height: 1.5;
+ --bs-modal-footer-gap: 0.5rem;
+ --bs-modal-footer-bg: ;
+ --bs-modal-footer-border-color: var(--bs-border-color);
+ --bs-modal-footer-border-width: var(--bs-border-width);
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: var(--bs-modal-zindex);
+ display: none;
+ width: 100%;
+ height: 100%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ outline: 0;
+}
+
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: var(--bs-modal-margin);
+ pointer-events: none;
+}
+.modal.fade .modal-dialog {
+ -webkit-transition: -webkit-transform 0.3s ease-out;
+ transition: -webkit-transform 0.3s ease-out;
+ -o-transition: -o-transform 0.3s ease-out;
+ transition: transform 0.3s ease-out;
+ transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;
+ -webkit-transform: translate(0, -50px);
+ -o-transform: translate(0, -50px);
+ transform: translate(0, -50px);
+}
+@media (prefers-reduced-motion: reduce) {
+ .modal.fade .modal-dialog {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.modal.show .modal-dialog {
+ -webkit-transform: none;
+ -o-transform: none;
+ transform: none;
+}
+.modal.modal-static .modal-dialog {
+ -webkit-transform: scale(1.02);
+ -o-transform: scale(1.02);
+ transform: scale(1.02);
+}
+
+.modal-dialog-scrollable {
+ height: calc(100% - var(--bs-modal-margin) * 2);
+}
+.modal-dialog-scrollable .modal-content {
+ max-height: 100%;
+ overflow: hidden;
+}
+.modal-dialog-scrollable .modal-body {
+ overflow-y: auto;
+}
+
+.modal-dialog-centered {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ min-height: calc(100% - var(--bs-modal-margin) * 2);
+}
+
+.modal-content {
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ width: 100%;
+ color: var(--bs-modal-color);
+ pointer-events: auto;
+ background-color: var(--bs-modal-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
+ border-radius: var(--bs-modal-border-radius);
+ outline: 0;
+}
+
+.modal-backdrop {
+ --bs-backdrop-zindex: 1050;
+ --bs-backdrop-bg: #000;
+ --bs-backdrop-opacity: 0.5;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: var(--bs-backdrop-zindex);
+ width: 100vw;
+ height: 100vh;
+ background-color: var(--bs-backdrop-bg);
+}
+.modal-backdrop.fade {
+ opacity: 0;
+}
+.modal-backdrop.show {
+ opacity: var(--bs-backdrop-opacity);
+}
+
+.modal-header {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: var(--bs-modal-header-padding);
+ border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
+ border-top-left-radius: var(--bs-modal-inner-border-radius);
+ border-top-right-radius: var(--bs-modal-inner-border-radius);
+}
+.modal-header .btn-close {
+ padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
+ margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
+}
+
+.modal-title {
+ margin-bottom: 0;
+ line-height: var(--bs-modal-title-line-height);
+}
+
+.modal-body {
+ position: relative;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ padding: var(--bs-modal-padding);
+}
+
+.modal-footer {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
+ background-color: var(--bs-modal-footer-bg);
+ border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
+ border-bottom-right-radius: var(--bs-modal-inner-border-radius);
+ border-bottom-left-radius: var(--bs-modal-inner-border-radius);
+}
+.modal-footer > * {
+ margin: calc(var(--bs-modal-footer-gap) * 0.5);
+}
+
+@media (min-width: 36rem) {
+ .modal {
+ --bs-modal-margin: 1.75rem;
+ --bs-modal-box-shadow: var(--bs-box-shadow);
+ }
+ .modal-dialog {
+ max-width: var(--bs-modal-width);
+ margin-right: auto;
+ margin-left: auto;
+ }
+ .modal-sm {
+ --bs-modal-width: 300px;
+ }
+}
+@media (min-width: 62rem) {
+ .modal-lg,
+ .modal-xl {
+ --bs-modal-width: 800px;
+ }
+}
+@media (min-width: 75rem) {
+ .modal-xl {
+ --bs-modal-width: 1140px;
+ }
+}
+.modal-fullscreen {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+}
+.modal-fullscreen .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+}
+.modal-fullscreen .modal-header,
+.modal-fullscreen .modal-footer {
+ border-radius: 0;
+}
+.modal-fullscreen .modal-body {
+ overflow-y: auto;
+}
+
+@media (max-width: 35.99875rem) {
+ .modal-fullscreen-sm-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-sm-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-sm-down .modal-header,
+ .modal-fullscreen-sm-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-sm-down .modal-body {
+ overflow-y: auto;
+ }
+}
+@media (max-width: 47.99875rem) {
+ .modal-fullscreen-md-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-md-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-header,
+ .modal-fullscreen-md-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-body {
+ overflow-y: auto;
+ }
+}
+@media (max-width: 61.99875rem) {
+ .modal-fullscreen-lg-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-lg-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-header,
+ .modal-fullscreen-lg-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-body {
+ overflow-y: auto;
+ }
+}
+@media (max-width: 74.99875rem) {
+ .modal-fullscreen-xl-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-xl-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-header,
+ .modal-fullscreen-xl-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-body {
+ overflow-y: auto;
+ }
+}
+@media (max-width: 87.49875rem) {
+ .modal-fullscreen-xxl-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-header,
+ .modal-fullscreen-xxl-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-body {
+ overflow-y: auto;
+ }
+}
+.tooltip {
+ --bs-tooltip-zindex: 1080;
+ --bs-tooltip-max-width: 200px;
+ --bs-tooltip-padding-x: 0.5rem;
+ --bs-tooltip-padding-y: 0.25rem;
+ --bs-tooltip-margin: ;
+ --bs-tooltip-font-size: 0.875rem;
+ --bs-tooltip-color: var(--bs-body-bg);
+ --bs-tooltip-bg: var(--bs-emphasis-color);
+ --bs-tooltip-border-radius: var(--bs-border-radius);
+ --bs-tooltip-opacity: 0.9;
+ --bs-tooltip-arrow-width: 0.8rem;
+ --bs-tooltip-arrow-height: 0.4rem;
+ z-index: var(--bs-tooltip-zindex);
+ display: block;
+ margin: var(--bs-tooltip-margin);
+ font-family: var(--bs-font-sans-serif);
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ white-space: normal;
+ word-spacing: normal;
+ line-break: auto;
+ font-size: var(--bs-tooltip-font-size);
+ word-wrap: break-word;
+ opacity: 0;
+}
+.tooltip.show {
+ opacity: var(--bs-tooltip-opacity);
+}
+.tooltip .tooltip-arrow {
+ display: block;
+ width: var(--bs-tooltip-arrow-width);
+ height: var(--bs-tooltip-arrow-height);
+}
+.tooltip .tooltip-arrow::before {
+ position: absolute;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+}
+
+.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
+ bottom: calc(-1 * var(--bs-tooltip-arrow-height));
+}
+.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
+ top: -1px;
+ border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
+ border-top-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
+ left: calc(-1 * var(--bs-tooltip-arrow-height));
+ width: var(--bs-tooltip-arrow-height);
+ height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
+ right: -1px;
+ border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
+ border-right-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:end:ignore */
+.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
+ top: calc(-1 * var(--bs-tooltip-arrow-height));
+}
+.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
+ bottom: -1px;
+ border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+ border-bottom-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
+ right: calc(-1 * var(--bs-tooltip-arrow-height));
+ width: var(--bs-tooltip-arrow-height);
+ height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
+ left: -1px;
+ border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+ border-left-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:end:ignore */
+.tooltip-inner {
+ max-width: var(--bs-tooltip-max-width);
+ padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
+ color: var(--bs-tooltip-color);
+ text-align: center;
+ background-color: var(--bs-tooltip-bg);
+ border-radius: var(--bs-tooltip-border-radius);
+}
+
+.popover {
+ --bs-popover-zindex: 1070;
+ --bs-popover-max-width: 276px;
+ --bs-popover-font-size: 0.875rem;
+ --bs-popover-bg: var(--bs-body-bg);
+ --bs-popover-border-width: var(--bs-border-width);
+ --bs-popover-border-color: var(--bs-border-color-translucent);
+ --bs-popover-border-radius: var(--bs-border-radius-lg);
+ --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
+ --bs-popover-box-shadow: var(--bs-box-shadow);
+ --bs-popover-header-padding-x: 1rem;
+ --bs-popover-header-padding-y: 0.5rem;
+ --bs-popover-header-font-size: 1rem;
+ --bs-popover-header-color: inherit;
+ --bs-popover-header-bg: var(--bs-secondary-bg);
+ --bs-popover-body-padding-x: 1rem;
+ --bs-popover-body-padding-y: 1rem;
+ --bs-popover-body-color: var(--bs-body-color);
+ --bs-popover-arrow-width: 1rem;
+ --bs-popover-arrow-height: 0.5rem;
+ --bs-popover-arrow-border: var(--bs-popover-border-color);
+ z-index: var(--bs-popover-zindex);
+ display: block;
+ max-width: var(--bs-popover-max-width);
+ font-family: var(--bs-font-sans-serif);
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ white-space: normal;
+ word-spacing: normal;
+ line-break: auto;
+ font-size: var(--bs-popover-font-size);
+ word-wrap: break-word;
+ background-color: var(--bs-popover-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+ border-radius: var(--bs-popover-border-radius);
+}
+.popover .popover-arrow {
+ display: block;
+ width: var(--bs-popover-arrow-width);
+ height: var(--bs-popover-arrow-height);
+}
+.popover .popover-arrow::before, .popover .popover-arrow::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+ border-width: 0;
+}
+
+.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
+ bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
+ bottom: 0;
+ border-top-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ bottom: var(--bs-popover-border-width);
+ border-top-color: var(--bs-popover-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
+ left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+ width: var(--bs-popover-arrow-height);
+ height: var(--bs-popover-arrow-width);
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
+ left: 0;
+ border-right-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ left: var(--bs-popover-border-width);
+ border-right-color: var(--bs-popover-bg);
+}
+
+/* rtl:end:ignore */
+.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
+ top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
+ top: 0;
+ border-bottom-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ top: var(--bs-popover-border-width);
+ border-bottom-color: var(--bs-popover-bg);
+}
+.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: var(--bs-popover-arrow-width);
+ margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
+ content: "";
+ border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
+ right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+ width: var(--bs-popover-arrow-height);
+ height: var(--bs-popover-arrow-width);
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
+ right: 0;
+ border-left-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ right: var(--bs-popover-border-width);
+ border-left-color: var(--bs-popover-bg);
+}
+
+/* rtl:end:ignore */
+.popover-header {
+ padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
+ margin-bottom: 0;
+ font-size: var(--bs-popover-header-font-size);
+ color: var(--bs-popover-header-color);
+ background-color: var(--bs-popover-header-bg);
+ border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+ border-top-left-radius: var(--bs-popover-inner-border-radius);
+ border-top-right-radius: var(--bs-popover-inner-border-radius);
+}
+.popover-header:empty {
+ display: none;
+}
+
+.popover-body {
+ padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
+ color: var(--bs-popover-body-color);
+}
+
+.carousel {
+ position: relative;
+}
+
+.carousel.pointer-event {
+ -ms-touch-action: pan-y;
+ touch-action: pan-y;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.carousel-item {
+ position: relative;
+ display: none;
+ float: left;
+ width: 100%;
+ margin-right: -100%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-transition: -webkit-transform 0.6s ease-in-out;
+ transition: -webkit-transform 0.6s ease-in-out;
+ -o-transition: -o-transform 0.6s ease-in-out;
+ transition: transform 0.6s ease-in-out;
+ transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-item {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+ display: block;
+}
+
+.carousel-item-next:not(.carousel-item-start),
+.active.carousel-item-end {
+ -webkit-transform: translateX(100%);
+ -o-transform: translateX(100%);
+ transform: translateX(100%);
+}
+
+.carousel-item-prev:not(.carousel-item-end),
+.active.carousel-item-start {
+ -webkit-transform: translateX(-100%);
+ -o-transform: translateX(-100%);
+ transform: translateX(-100%);
+}
+
+.carousel-fade .carousel-item {
+ opacity: 0;
+ -webkit-transition-property: opacity;
+ -o-transition-property: opacity;
+ transition-property: opacity;
+ -webkit-transform: none;
+ -o-transform: none;
+ transform: none;
+}
+.carousel-fade .carousel-item.active,
+.carousel-fade .carousel-item-next.carousel-item-start,
+.carousel-fade .carousel-item-prev.carousel-item-end {
+ z-index: 1;
+ opacity: 1;
+}
+.carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+ z-index: 0;
+ opacity: 0;
+ -webkit-transition: opacity 0s 0.6s;
+ -o-transition: opacity 0s 0.6s;
+ transition: opacity 0s 0.6s;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-fade .active.carousel-item-start,
+ .carousel-fade .active.carousel-item-end {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ z-index: 1;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ width: 15%;
+ padding: 0;
+ color: #fff;
+ text-align: center;
+ background: none;
+ border: 0;
+ opacity: 0.5;
+ -webkit-transition: opacity 0.15s ease;
+ -o-transition: opacity 0.15s ease;
+ transition: opacity 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-control-prev,
+ .carousel-control-next {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.carousel-control-prev:hover, .carousel-control-prev:focus,
+.carousel-control-next:hover,
+.carousel-control-next:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: 0.9;
+}
+
+.carousel-control-prev {
+ left: 0;
+}
+
+.carousel-control-next {
+ right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ -webkit-background-size: 100% 100%;
+ background-size: 100% 100%;
+}
+
+/* rtl:options: {
+ "autoRename": true,
+ "stringMap":[ {
+ "name" : "prev-next",
+ "search" : "prev",
+ "replace" : "next"
+ } ]
+} */
+.carousel-control-prev-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
+}
+
+.carousel-control-next-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+}
+
+.carousel-indicators {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 2;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ padding: 0;
+ margin-right: 15%;
+ margin-bottom: 1rem;
+ margin-left: 15%;
+}
+.carousel-indicators [data-bs-target] {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 1 auto;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ width: 30px;
+ height: 3px;
+ padding: 0;
+ margin-right: 0.1875rem;
+ margin-left: 0.1875rem;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 0;
+ border-top: 10px solid transparent;
+ border-bottom: 10px solid transparent;
+ opacity: 0.5;
+ -webkit-transition: opacity 0.6s ease;
+ -o-transition: opacity 0.6s ease;
+ transition: opacity 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-indicators [data-bs-target] {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.carousel-indicators .active {
+ opacity: 1;
+}
+
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 1.25rem;
+ left: 15%;
+ padding-top: 1.25rem;
+ padding-bottom: 1.25rem;
+ color: #fff;
+ text-align: center;
+}
+
+.carousel-dark .carousel-control-prev-icon,
+.carousel-dark .carousel-control-next-icon {
+ -webkit-filter: invert(1) grayscale(100);
+ filter: invert(1) grayscale(100);
+}
+.carousel-dark .carousel-indicators [data-bs-target] {
+ background-color: #000;
+}
+.carousel-dark .carousel-caption {
+ color: #000;
+}
+
+[data-bs-theme=dark] .carousel .carousel-control-prev-icon,
+[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon,
+[data-bs-theme=dark].carousel .carousel-control-next-icon {
+ -webkit-filter: invert(1) grayscale(100);
+ filter: invert(1) grayscale(100);
+}
+[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
+ background-color: #000;
+}
+[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {
+ color: #000;
+}
+
+.spinner-grow,
+.spinner-border {
+ display: inline-block;
+ width: var(--bs-spinner-width);
+ height: var(--bs-spinner-height);
+ vertical-align: var(--bs-spinner-vertical-align);
+ border-radius: 50%;
+ -webkit-animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
+ -o-animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
+ animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
+}
+
+@-webkit-keyframes spinner-border {
+ to {
+ -webkit-transform: rotate(360deg) /* rtl:ignore */;
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+
+@-o-keyframes spinner-border {
+ to {
+ -o-transform: rotate(360deg) /* rtl:ignore */;
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+
+@keyframes spinner-border {
+ to {
+ -webkit-transform: rotate(360deg) /* rtl:ignore */;
+ -o-transform: rotate(360deg) /* rtl:ignore */;
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+.spinner-border {
+ --bs-spinner-width: 2rem;
+ --bs-spinner-height: 2rem;
+ --bs-spinner-vertical-align: -0.125em;
+ --bs-spinner-border-width: 0.25em;
+ --bs-spinner-animation-speed: 0.75s;
+ --bs-spinner-animation-name: spinner-border;
+ border: var(--bs-spinner-border-width) solid currentcolor;
+ border-right-color: transparent;
+}
+
+.spinner-border-sm {
+ --bs-spinner-width: 1rem;
+ --bs-spinner-height: 1rem;
+ --bs-spinner-border-width: 0.2em;
+}
+
+@-webkit-keyframes spinner-grow {
+ 0% {
+ -webkit-transform: scale(0);
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ -webkit-transform: none;
+ transform: none;
+ }
+}
+
+@-o-keyframes spinner-grow {
+ 0% {
+ -o-transform: scale(0);
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ -o-transform: none;
+ transform: none;
+ }
+}
+
+@keyframes spinner-grow {
+ 0% {
+ -webkit-transform: scale(0);
+ -o-transform: scale(0);
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ -webkit-transform: none;
+ -o-transform: none;
+ transform: none;
+ }
+}
+.spinner-grow {
+ --bs-spinner-width: 2rem;
+ --bs-spinner-height: 2rem;
+ --bs-spinner-vertical-align: -0.125em;
+ --bs-spinner-animation-speed: 0.75s;
+ --bs-spinner-animation-name: spinner-grow;
+ background-color: currentcolor;
+ opacity: 0;
+}
+
+.spinner-grow-sm {
+ --bs-spinner-width: 1rem;
+ --bs-spinner-height: 1rem;
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .spinner-border,
+ .spinner-grow {
+ --bs-spinner-animation-speed: 1.5s;
+ }
+}
+.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
+ --bs-offcanvas-zindex: 1045;
+ --bs-offcanvas-width: 400px;
+ --bs-offcanvas-height: 30vh;
+ --bs-offcanvas-padding-x: 1rem;
+ --bs-offcanvas-padding-y: 1rem;
+ --bs-offcanvas-color: var(--bs-body-color);
+ --bs-offcanvas-bg: var(--bs-body-bg);
+ --bs-offcanvas-border-width: var(--bs-border-width);
+ --bs-offcanvas-border-color: var(--bs-border-color-translucent);
+ --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
+ --bs-offcanvas-transition: transform 0.3s ease-in-out;
+ --bs-offcanvas-title-line-height: 1.5;
+}
+
+@media (max-width: 35.99875rem) {
+ .offcanvas-sm {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ outline: 0;
+ -webkit-transition: var(--bs-offcanvas-transition);
+ -o-transition: var(--bs-offcanvas-transition);
+ transition: var(--bs-offcanvas-transition);
+ }
+}
+@media (max-width: 35.99875rem) and (prefers-reduced-motion: reduce) {
+ .offcanvas-sm {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+@media (max-width: 35.99875rem) {
+ .offcanvas-sm.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(-100%);
+ -o-transform: translateX(-100%);
+ transform: translateX(-100%);
+ }
+ .offcanvas-sm.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(100%);
+ -o-transform: translateX(100%);
+ transform: translateX(100%);
+ }
+ .offcanvas-sm.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(-100%);
+ -o-transform: translateY(-100%);
+ transform: translateY(-100%);
+ }
+ .offcanvas-sm.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(100%);
+ -o-transform: translateY(100%);
+ transform: translateY(100%);
+ }
+ .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
+ -webkit-transform: none;
+ -o-transform: none;
+ transform: none;
+ }
+ .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 36rem) {
+ .offcanvas-sm {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-sm .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-sm .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+@media (max-width: 47.99875rem) {
+ .offcanvas-md {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ outline: 0;
+ -webkit-transition: var(--bs-offcanvas-transition);
+ -o-transition: var(--bs-offcanvas-transition);
+ transition: var(--bs-offcanvas-transition);
+ }
+}
+@media (max-width: 47.99875rem) and (prefers-reduced-motion: reduce) {
+ .offcanvas-md {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+@media (max-width: 47.99875rem) {
+ .offcanvas-md.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(-100%);
+ -o-transform: translateX(-100%);
+ transform: translateX(-100%);
+ }
+ .offcanvas-md.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(100%);
+ -o-transform: translateX(100%);
+ transform: translateX(100%);
+ }
+ .offcanvas-md.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(-100%);
+ -o-transform: translateY(-100%);
+ transform: translateY(-100%);
+ }
+ .offcanvas-md.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(100%);
+ -o-transform: translateY(100%);
+ transform: translateY(100%);
+ }
+ .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
+ -webkit-transform: none;
+ -o-transform: none;
+ transform: none;
+ }
+ .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 48rem) {
+ .offcanvas-md {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-md .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-md .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+@media (max-width: 61.99875rem) {
+ .offcanvas-lg {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ outline: 0;
+ -webkit-transition: var(--bs-offcanvas-transition);
+ -o-transition: var(--bs-offcanvas-transition);
+ transition: var(--bs-offcanvas-transition);
+ }
+}
+@media (max-width: 61.99875rem) and (prefers-reduced-motion: reduce) {
+ .offcanvas-lg {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+@media (max-width: 61.99875rem) {
+ .offcanvas-lg.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(-100%);
+ -o-transform: translateX(-100%);
+ transform: translateX(-100%);
+ }
+ .offcanvas-lg.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(100%);
+ -o-transform: translateX(100%);
+ transform: translateX(100%);
+ }
+ .offcanvas-lg.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(-100%);
+ -o-transform: translateY(-100%);
+ transform: translateY(-100%);
+ }
+ .offcanvas-lg.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(100%);
+ -o-transform: translateY(100%);
+ transform: translateY(100%);
+ }
+ .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
+ -webkit-transform: none;
+ -o-transform: none;
+ transform: none;
+ }
+ .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 62rem) {
+ .offcanvas-lg {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-lg .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-lg .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+@media (max-width: 74.99875rem) {
+ .offcanvas-xl {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ outline: 0;
+ -webkit-transition: var(--bs-offcanvas-transition);
+ -o-transition: var(--bs-offcanvas-transition);
+ transition: var(--bs-offcanvas-transition);
+ }
+}
+@media (max-width: 74.99875rem) and (prefers-reduced-motion: reduce) {
+ .offcanvas-xl {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+@media (max-width: 74.99875rem) {
+ .offcanvas-xl.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(-100%);
+ -o-transform: translateX(-100%);
+ transform: translateX(-100%);
+ }
+ .offcanvas-xl.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(100%);
+ -o-transform: translateX(100%);
+ transform: translateX(100%);
+ }
+ .offcanvas-xl.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(-100%);
+ -o-transform: translateY(-100%);
+ transform: translateY(-100%);
+ }
+ .offcanvas-xl.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(100%);
+ -o-transform: translateY(100%);
+ transform: translateY(100%);
+ }
+ .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
+ -webkit-transform: none;
+ -o-transform: none;
+ transform: none;
+ }
+ .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 75rem) {
+ .offcanvas-xl {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-xl .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-xl .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+@media (max-width: 87.49875rem) {
+ .offcanvas-xxl {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ outline: 0;
+ -webkit-transition: var(--bs-offcanvas-transition);
+ -o-transition: var(--bs-offcanvas-transition);
+ transition: var(--bs-offcanvas-transition);
+ }
+}
+@media (max-width: 87.49875rem) and (prefers-reduced-motion: reduce) {
+ .offcanvas-xxl {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+@media (max-width: 87.49875rem) {
+ .offcanvas-xxl.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(-100%);
+ -o-transform: translateX(-100%);
+ transform: translateX(-100%);
+ }
+ .offcanvas-xxl.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(100%);
+ -o-transform: translateX(100%);
+ transform: translateX(100%);
+ }
+ .offcanvas-xxl.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(-100%);
+ -o-transform: translateY(-100%);
+ transform: translateY(-100%);
+ }
+ .offcanvas-xxl.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(100%);
+ -o-transform: translateY(100%);
+ transform: translateY(100%);
+ }
+ .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
+ -webkit-transform: none;
+ -o-transform: none;
+ transform: none;
+ }
+ .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 87.5rem) {
+ .offcanvas-xxl {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-xxl .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-xxl .offcanvas-body {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+.offcanvas {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ outline: 0;
+ -webkit-transition: var(--bs-offcanvas-transition);
+ -o-transition: var(--bs-offcanvas-transition);
+ transition: var(--bs-offcanvas-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .offcanvas {
+ -webkit-transition: none;
+ -o-transition: none;
+ transition: none;
+ }
+}
+.offcanvas.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(-100%);
+ -o-transform: translateX(-100%);
+ transform: translateX(-100%);
+}
+.offcanvas.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateX(100%);
+ -o-transform: translateX(100%);
+ transform: translateX(100%);
+}
+.offcanvas.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(-100%);
+ -o-transform: translateY(-100%);
+ transform: translateY(-100%);
+}
+.offcanvas.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ -webkit-transform: translateY(100%);
+ -o-transform: translateY(100%);
+ transform: translateY(100%);
+}
+.offcanvas.showing, .offcanvas.show:not(.hiding) {
+ -webkit-transform: none;
+ -o-transform: none;
+ transform: none;
+}
+.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
+ visibility: visible;
+}
+
+.offcanvas-backdrop {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1040;
+ width: 100vw;
+ height: 100vh;
+ background-color: #000;
+}
+.offcanvas-backdrop.fade {
+ opacity: 0;
+}
+.offcanvas-backdrop.show {
+ opacity: 0.5;
+}
+
+.offcanvas-header {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+}
+.offcanvas-header .btn-close {
+ padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
+ margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
+ margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
+ margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
+}
+
+.offcanvas-title {
+ margin-bottom: 0;
+ line-height: var(--bs-offcanvas-title-line-height);
+}
+
+.offcanvas-body {
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+ overflow-y: auto;
+}
+
+.placeholder {
+ display: inline-block;
+ min-height: 1em;
+ vertical-align: middle;
+ cursor: wait;
+ background-color: currentcolor;
+ opacity: 0.5;
+}
+.placeholder.btn::before {
+ display: inline-block;
+ content: "";
+}
+
+.placeholder-xs {
+ min-height: 0.6em;
+}
+
+.placeholder-sm {
+ min-height: 0.8em;
+}
+
+.placeholder-lg {
+ min-height: 1.2em;
+}
+
+.placeholder-glow .placeholder {
+ -webkit-animation: placeholder-glow 2s ease-in-out infinite;
+ -o-animation: placeholder-glow 2s ease-in-out infinite;
+ animation: placeholder-glow 2s ease-in-out infinite;
+}
+
+@-webkit-keyframes placeholder-glow {
+ 50% {
+ opacity: 0.2;
+ }
+}
+
+@-o-keyframes placeholder-glow {
+ 50% {
+ opacity: 0.2;
+ }
+}
+
+@keyframes placeholder-glow {
+ 50% {
+ opacity: 0.2;
+ }
+}
+.placeholder-wave {
+ -webkit-mask-image: -webkit-linear-gradient(320deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+ mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+ -webkit-mask-size: 200% 100%;
+ mask-size: 200% 100%;
+ -webkit-animation: placeholder-wave 2s linear infinite;
+ -o-animation: placeholder-wave 2s linear infinite;
+ animation: placeholder-wave 2s linear infinite;
+}
+
+@-webkit-keyframes placeholder-wave {
+ 100% {
+ -webkit-mask-position: -200% 0%;
+ mask-position: -200% 0%;
+ }
+}
+
+@-o-keyframes placeholder-wave {
+ 100% {
+ mask-position: -200% 0%;
+ }
+}
+
+@keyframes placeholder-wave {
+ 100% {
+ -webkit-mask-position: -200% 0%;
+ mask-position: -200% 0%;
+ }
+}
+.align-baseline {
+ vertical-align: baseline !important;
+}
+
+.align-top {
+ vertical-align: top !important;
+}
+
+.align-middle {
+ vertical-align: middle !important;
+}
+
+.align-bottom {
+ vertical-align: bottom !important;
+}
+
+.align-text-bottom {
+ vertical-align: text-bottom !important;
+}
+
+.align-text-top {
+ vertical-align: text-top !important;
+}
+
+.float-start {
+ float: left !important;
+}
+
+.float-end {
+ float: right !important;
+}
+
+.float-none {
+ float: none !important;
+}
+
+.object-fit-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+}
+
+.object-fit-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+}
+
+.object-fit-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+}
+
+.object-fit-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+}
+
+.object-fit-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+}
+
+.opacity-0 {
+ opacity: 0 !important;
+}
+
+.opacity-25 {
+ opacity: 0.25 !important;
+}
+
+.opacity-50 {
+ opacity: 0.5 !important;
+}
+
+.opacity-75 {
+ opacity: 0.75 !important;
+}
+
+.opacity-100 {
+ opacity: 1 !important;
+}
+
+.overflow-auto {
+ overflow: auto !important;
+}
+
+.overflow-hidden {
+ overflow: hidden !important;
+}
+
+.overflow-visible {
+ overflow: visible !important;
+}
+
+.overflow-scroll {
+ overflow: scroll !important;
+}
+
+.overflow-x-auto {
+ overflow-x: auto !important;
+}
+
+.overflow-x-hidden {
+ overflow-x: hidden !important;
+}
+
+.overflow-x-visible {
+ overflow-x: visible !important;
+}
+
+.overflow-x-scroll {
+ overflow-x: scroll !important;
+}
+
+.overflow-y-auto {
+ overflow-y: auto !important;
+}
+
+.overflow-y-hidden {
+ overflow-y: hidden !important;
+}
+
+.overflow-y-visible {
+ overflow-y: visible !important;
+}
+
+.overflow-y-scroll {
+ overflow-y: scroll !important;
+}
+
+.d-inline {
+ display: inline !important;
+}
+
+.d-inline-block {
+ display: inline-block !important;
+}
+
+.d-block {
+ display: block !important;
+}
+
+.d-grid {
+ display: grid !important;
+}
+
+.d-inline-grid {
+ display: inline-grid !important;
+}
+
+.d-table {
+ display: table !important;
+}
+
+.d-table-row {
+ display: table-row !important;
+}
+
+.d-table-cell {
+ display: table-cell !important;
+}
+
+.d-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+}
+
+.d-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !important;
+}
+
+.d-none {
+ display: none !important;
+}
+
+.shadow {
+ -webkit-box-shadow: var(--bs-box-shadow) !important;
+ box-shadow: var(--bs-box-shadow) !important;
+}
+
+.shadow-sm {
+ -webkit-box-shadow: var(--bs-box-shadow-sm) !important;
+ box-shadow: var(--bs-box-shadow-sm) !important;
+}
+
+.shadow-lg {
+ -webkit-box-shadow: var(--bs-box-shadow-lg) !important;
+ box-shadow: var(--bs-box-shadow-lg) !important;
+}
+
+.shadow-none {
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+
+.focus-ring-primary {
+ --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-secondary {
+ --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-success {
+ --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-info {
+ --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-warning {
+ --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-danger {
+ --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-light {
+ --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-dark {
+ --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
+}
+
+.position-static {
+ position: static !important;
+}
+
+.position-relative {
+ position: relative !important;
+}
+
+.position-absolute {
+ position: absolute !important;
+}
+
+.position-fixed {
+ position: fixed !important;
+}
+
+.position-sticky {
+ position: -webkit-sticky !important;
+ position: sticky !important;
+}
+
+.top-0 {
+ top: 0 !important;
+}
+
+.top-50 {
+ top: 50% !important;
+}
+
+.top-100 {
+ top: 100% !important;
+}
+
+.bottom-0 {
+ bottom: 0 !important;
+}
+
+.bottom-50 {
+ bottom: 50% !important;
+}
+
+.bottom-100 {
+ bottom: 100% !important;
+}
+
+.start-0 {
+ left: 0 !important;
+}
+
+.start-50 {
+ left: 50% !important;
+}
+
+.start-100 {
+ left: 100% !important;
+}
+
+.end-0 {
+ right: 0 !important;
+}
+
+.end-50 {
+ right: 50% !important;
+}
+
+.end-100 {
+ right: 100% !important;
+}
+
+.translate-middle {
+ -webkit-transform: translate(-50%, -50%) !important;
+ -o-transform: translate(-50%, -50%) !important;
+ transform: translate(-50%, -50%) !important;
+}
+
+.translate-middle-x {
+ -webkit-transform: translateX(-50%) !important;
+ -o-transform: translateX(-50%) !important;
+ transform: translateX(-50%) !important;
+}
+
+.translate-middle-y {
+ -webkit-transform: translateY(-50%) !important;
+ -o-transform: translateY(-50%) !important;
+ transform: translateY(-50%) !important;
+}
+
+.border {
+ border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-0 {
+ border: 0 !important;
+}
+
+.border-top {
+ border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-top-0 {
+ border-top: 0 !important;
+}
+
+.border-end {
+ border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-end-0 {
+ border-right: 0 !important;
+}
+
+.border-bottom {
+ border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-bottom-0 {
+ border-bottom: 0 !important;
+}
+
+.border-start {
+ border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-start-0 {
+ border-left: 0 !important;
+}
+
+.border-primary {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-secondary {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-success {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-info {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-warning {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-danger {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-light {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-dark {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-black {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-white {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-primary-subtle {
+ border-color: var(--bs-primary-border-subtle) !important;
+}
+
+.border-secondary-subtle {
+ border-color: var(--bs-secondary-border-subtle) !important;
+}
+
+.border-success-subtle {
+ border-color: var(--bs-success-border-subtle) !important;
+}
+
+.border-info-subtle {
+ border-color: var(--bs-info-border-subtle) !important;
+}
+
+.border-warning-subtle {
+ border-color: var(--bs-warning-border-subtle) !important;
+}
+
+.border-danger-subtle {
+ border-color: var(--bs-danger-border-subtle) !important;
+}
+
+.border-light-subtle {
+ border-color: var(--bs-light-border-subtle) !important;
+}
+
+.border-dark-subtle {
+ border-color: var(--bs-dark-border-subtle) !important;
+}
+
+.border-1 {
+ border-width: 1px !important;
+}
+
+.border-2 {
+ border-width: 2px !important;
+}
+
+.border-3 {
+ border-width: 3px !important;
+}
+
+.border-4 {
+ border-width: 4px !important;
+}
+
+.border-5 {
+ border-width: 5px !important;
+}
+
+.border-opacity-10 {
+ --bs-border-opacity: 0.1;
+}
+
+.border-opacity-25 {
+ --bs-border-opacity: 0.25;
+}
+
+.border-opacity-50 {
+ --bs-border-opacity: 0.5;
+}
+
+.border-opacity-75 {
+ --bs-border-opacity: 0.75;
+}
+
+.border-opacity-100 {
+ --bs-border-opacity: 1;
+}
+
+.w-25 {
+ width: 25% !important;
+}
+
+.w-50 {
+ width: 50% !important;
+}
+
+.w-75 {
+ width: 75% !important;
+}
+
+.w-100 {
+ width: 100% !important;
+}
+
+.w-auto {
+ width: auto !important;
+}
+
+.mw-100 {
+ max-width: 100% !important;
+}
+
+.vw-100 {
+ width: 100vw !important;
+}
+
+.min-vw-100 {
+ min-width: 100vw !important;
+}
+
+.h-25 {
+ height: 25% !important;
+}
+
+.h-50 {
+ height: 50% !important;
+}
+
+.h-75 {
+ height: 75% !important;
+}
+
+.h-100 {
+ height: 100% !important;
+}
+
+.h-auto {
+ height: auto !important;
+}
+
+.mh-100 {
+ max-height: 100% !important;
+}
+
+.vh-100 {
+ height: 100vh !important;
+}
+
+.min-vh-100 {
+ min-height: 100vh !important;
+}
+
+.flex-fill {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex: 1 1 auto !important;
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+}
+
+.flex-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+}
+
+.flex-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+}
+
+.flex-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+}
+
+.flex-grow-0 {
+ -webkit-box-flex: 0 !important;
+ -webkit-flex-grow: 0 !important;
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex-grow: 1 !important;
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+ -webkit-flex-shrink: 0 !important;
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+ -webkit-flex-shrink: 1 !important;
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+}
+
+.flex-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+}
+
+.justify-content-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+}
+
+.justify-content-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+}
+
+.justify-content-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+}
+
+.justify-content-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+}
+
+.justify-content-evenly {
+ -webkit-box-pack: space-evenly !important;
+ -webkit-justify-content: space-evenly !important;
+ -ms-flex-pack: space-evenly !important;
+ justify-content: space-evenly !important;
+}
+
+.align-items-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+}
+
+.align-items-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+}
+
+.align-items-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+}
+
+.align-items-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+}
+
+.align-items-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+}
+
+.align-content-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+}
+
+.align-content-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+}
+
+.align-content-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+}
+
+.align-content-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+}
+
+.align-content-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+}
+
+.align-content-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+}
+
+.align-self-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ align-self: auto !important;
+}
+
+.align-self-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+}
+
+.align-self-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+}
+
+.align-self-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ align-self: center !important;
+}
+
+.align-self-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+}
+
+.align-self-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ align-self: stretch !important;
+}
+
+.order-first {
+ -webkit-box-ordinal-group: 0 !important;
+ -webkit-order: -1 !important;
+ -ms-flex-order: -1 !important;
+ order: -1 !important;
+}
+
+.order-0 {
+ -webkit-box-ordinal-group: 1 !important;
+ -webkit-order: 0 !important;
+ -ms-flex-order: 0 !important;
+ order: 0 !important;
+}
+
+.order-1 {
+ -webkit-box-ordinal-group: 2 !important;
+ -webkit-order: 1 !important;
+ -ms-flex-order: 1 !important;
+ order: 1 !important;
+}
+
+.order-2 {
+ -webkit-box-ordinal-group: 3 !important;
+ -webkit-order: 2 !important;
+ -ms-flex-order: 2 !important;
+ order: 2 !important;
+}
+
+.order-3 {
+ -webkit-box-ordinal-group: 4 !important;
+ -webkit-order: 3 !important;
+ -ms-flex-order: 3 !important;
+ order: 3 !important;
+}
+
+.order-4 {
+ -webkit-box-ordinal-group: 5 !important;
+ -webkit-order: 4 !important;
+ -ms-flex-order: 4 !important;
+ order: 4 !important;
+}
+
+.order-5 {
+ -webkit-box-ordinal-group: 6 !important;
+ -webkit-order: 5 !important;
+ -ms-flex-order: 5 !important;
+ order: 5 !important;
+}
+
+.order-last {
+ -webkit-box-ordinal-group: 7 !important;
+ -webkit-order: 6 !important;
+ -ms-flex-order: 6 !important;
+ order: 6 !important;
+}
+
+.m-0 {
+ margin: 0 !important;
+}
+
+.m-1 {
+ margin: 0.25rem !important;
+}
+
+.m-2 {
+ margin: 0.5rem !important;
+}
+
+.m-3 {
+ margin: 1rem !important;
+}
+
+.m-4 {
+ margin: 1.5rem !important;
+}
+
+.m-5 {
+ margin: 3rem !important;
+}
+
+.m-auto {
+ margin: auto !important;
+}
+
+.mx-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+}
+
+.mx-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+}
+
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+}
+
+.mx-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+}
+
+.mx-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+}
+
+.mx-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+}
+
+.mx-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+}
+
+.my-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.my-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+}
+
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+}
+
+.my-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+}
+
+.my-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+}
+
+.my-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+}
+
+.my-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+}
+
+.mt-0 {
+ margin-top: 0 !important;
+}
+
+.mt-1 {
+ margin-top: 0.25rem !important;
+}
+
+.mt-2 {
+ margin-top: 0.5rem !important;
+}
+
+.mt-3 {
+ margin-top: 1rem !important;
+}
+
+.mt-4 {
+ margin-top: 1.5rem !important;
+}
+
+.mt-5 {
+ margin-top: 3rem !important;
+}
+
+.mt-auto {
+ margin-top: auto !important;
+}
+
+.me-0 {
+ margin-right: 0 !important;
+}
+
+.me-1 {
+ margin-right: 0.25rem !important;
+}
+
+.me-2 {
+ margin-right: 0.5rem !important;
+}
+
+.me-3 {
+ margin-right: 1rem !important;
+}
+
+.me-4 {
+ margin-right: 1.5rem !important;
+}
+
+.me-5 {
+ margin-right: 3rem !important;
+}
+
+.me-auto {
+ margin-right: auto !important;
+}
+
+.mb-0 {
+ margin-bottom: 0 !important;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem !important;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem !important;
+}
+
+.mb-3 {
+ margin-bottom: 1rem !important;
+}
+
+.mb-4 {
+ margin-bottom: 1.5rem !important;
+}
+
+.mb-5 {
+ margin-bottom: 3rem !important;
+}
+
+.mb-auto {
+ margin-bottom: auto !important;
+}
+
+.ms-0 {
+ margin-left: 0 !important;
+}
+
+.ms-1 {
+ margin-left: 0.25rem !important;
+}
+
+.ms-2 {
+ margin-left: 0.5rem !important;
+}
+
+.ms-3 {
+ margin-left: 1rem !important;
+}
+
+.ms-4 {
+ margin-left: 1.5rem !important;
+}
+
+.ms-5 {
+ margin-left: 3rem !important;
+}
+
+.ms-auto {
+ margin-left: auto !important;
+}
+
+.p-0 {
+ padding: 0 !important;
+}
+
+.p-1 {
+ padding: 0.25rem !important;
+}
+
+.p-2 {
+ padding: 0.5rem !important;
+}
+
+.p-3 {
+ padding: 1rem !important;
+}
+
+.p-4 {
+ padding: 1.5rem !important;
+}
+
+.p-5 {
+ padding: 3rem !important;
+}
+
+.px-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
+
+.px-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+}
+
+.px-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+}
+
+.px-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+}
+
+.px-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+}
+
+.px-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+}
+
+.py-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+
+.py-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+}
+
+.py-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+}
+
+.py-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+}
+
+.py-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+}
+
+.py-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+}
+
+.pt-0 {
+ padding-top: 0 !important;
+}
+
+.pt-1 {
+ padding-top: 0.25rem !important;
+}
+
+.pt-2 {
+ padding-top: 0.5rem !important;
+}
+
+.pt-3 {
+ padding-top: 1rem !important;
+}
+
+.pt-4 {
+ padding-top: 1.5rem !important;
+}
+
+.pt-5 {
+ padding-top: 3rem !important;
+}
+
+.pe-0 {
+ padding-right: 0 !important;
+}
+
+.pe-1 {
+ padding-right: 0.25rem !important;
+}
+
+.pe-2 {
+ padding-right: 0.5rem !important;
+}
+
+.pe-3 {
+ padding-right: 1rem !important;
+}
+
+.pe-4 {
+ padding-right: 1.5rem !important;
+}
+
+.pe-5 {
+ padding-right: 3rem !important;
+}
+
+.pb-0 {
+ padding-bottom: 0 !important;
+}
+
+.pb-1 {
+ padding-bottom: 0.25rem !important;
+}
+
+.pb-2 {
+ padding-bottom: 0.5rem !important;
+}
+
+.pb-3 {
+ padding-bottom: 1rem !important;
+}
+
+.pb-4 {
+ padding-bottom: 1.5rem !important;
+}
+
+.pb-5 {
+ padding-bottom: 3rem !important;
+}
+
+.ps-0 {
+ padding-left: 0 !important;
+}
+
+.ps-1 {
+ padding-left: 0.25rem !important;
+}
+
+.ps-2 {
+ padding-left: 0.5rem !important;
+}
+
+.ps-3 {
+ padding-left: 1rem !important;
+}
+
+.ps-4 {
+ padding-left: 1.5rem !important;
+}
+
+.ps-5 {
+ padding-left: 3rem !important;
+}
+
+.gap-0 {
+ gap: 0 !important;
+}
+
+.gap-1 {
+ gap: 0.25rem !important;
+}
+
+.gap-2 {
+ gap: 0.5rem !important;
+}
+
+.gap-3 {
+ gap: 1rem !important;
+}
+
+.gap-4 {
+ gap: 1.5rem !important;
+}
+
+.gap-5 {
+ gap: 3rem !important;
+}
+
+.row-gap-0 {
+ row-gap: 0 !important;
+}
+
+.row-gap-1 {
+ row-gap: 0.25rem !important;
+}
+
+.row-gap-2 {
+ row-gap: 0.5rem !important;
+}
+
+.row-gap-3 {
+ row-gap: 1rem !important;
+}
+
+.row-gap-4 {
+ row-gap: 1.5rem !important;
+}
+
+.row-gap-5 {
+ row-gap: 3rem !important;
+}
+
+.column-gap-0 {
+ -webkit-column-gap: 0 !important;
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+}
+
+.column-gap-1 {
+ -webkit-column-gap: 0.25rem !important;
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+}
+
+.column-gap-2 {
+ -webkit-column-gap: 0.5rem !important;
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+}
+
+.column-gap-3 {
+ -webkit-column-gap: 1rem !important;
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+}
+
+.column-gap-4 {
+ -webkit-column-gap: 1.5rem !important;
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+}
+
+.column-gap-5 {
+ -webkit-column-gap: 3rem !important;
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+}
+
+.font-monospace {
+ font-family: var(--bs-font-monospace) !important;
+}
+
+.fs-1 {
+ font-size: calc(1.375rem + 1.5vw) !important;
+}
+
+.fs-2 {
+ font-size: calc(1.325rem + 0.9vw) !important;
+}
+
+.fs-3 {
+ font-size: calc(1.3rem + 0.6vw) !important;
+}
+
+.fs-4 {
+ font-size: calc(1.275rem + 0.3vw) !important;
+}
+
+.fs-5 {
+ font-size: 1.25rem !important;
+}
+
+.fs-6 {
+ font-size: 1rem !important;
+}
+
+.fst-italic {
+ font-style: italic !important;
+}
+
+.fst-normal {
+ font-style: normal !important;
+}
+
+.fw-lighter {
+ font-weight: lighter !important;
+}
+
+.fw-light {
+ font-weight: 300 !important;
+}
+
+.fw-normal {
+ font-weight: 400 !important;
+}
+
+.fw-medium {
+ font-weight: 500 !important;
+}
+
+.fw-semibold {
+ font-weight: 600 !important;
+}
+
+.fw-bold {
+ font-weight: 700 !important;
+}
+
+.fw-bolder {
+ font-weight: bolder !important;
+}
+
+.lh-1 {
+ line-height: 1 !important;
+}
+
+.lh-sm {
+ line-height: 1.25 !important;
+}
+
+.lh-base {
+ line-height: 1.5 !important;
+}
+
+.lh-lg {
+ line-height: 2 !important;
+}
+
+.text-start {
+ text-align: left !important;
+}
+
+.text-end {
+ text-align: right !important;
+}
+
+.text-center {
+ text-align: center !important;
+}
+
+.text-decoration-none {
+ text-decoration: none !important;
+}
+
+.text-decoration-underline {
+ text-decoration: underline !important;
+}
+
+.text-decoration-line-through {
+ text-decoration: line-through !important;
+}
+
+.text-lowercase {
+ text-transform: lowercase !important;
+}
+
+.text-uppercase {
+ text-transform: uppercase !important;
+}
+
+.text-capitalize {
+ text-transform: capitalize !important;
+}
+
+.text-wrap {
+ white-space: normal !important;
+}
+
+.text-nowrap {
+ white-space: nowrap !important;
+}
+
+/* rtl:begin:remove */
+.text-break {
+ word-wrap: break-word !important;
+ word-break: break-word !important;
+}
+
+/* rtl:end:remove */
+.text-primary {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-secondary {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-success {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-info {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-warning {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-danger {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-light {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-dark {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-black {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-white {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-body {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-muted {
+ --bs-text-opacity: 1;
+ color: var(--bs-secondary-color) !important;
+}
+
+.text-black-50 {
+ --bs-text-opacity: 1;
+ color: rgba(0, 0, 0, 0.5) !important;
+}
+
+.text-white-50 {
+ --bs-text-opacity: 1;
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.text-body-secondary {
+ --bs-text-opacity: 1;
+ color: var(--bs-secondary-color) !important;
+}
+
+.text-body-tertiary {
+ --bs-text-opacity: 1;
+ color: var(--bs-tertiary-color) !important;
+}
+
+.text-body-emphasis {
+ --bs-text-opacity: 1;
+ color: var(--bs-emphasis-color) !important;
+}
+
+.text-reset {
+ --bs-text-opacity: 1;
+ color: inherit !important;
+}
+
+.text-opacity-25 {
+ --bs-text-opacity: 0.25;
+}
+
+.text-opacity-50 {
+ --bs-text-opacity: 0.5;
+}
+
+.text-opacity-75 {
+ --bs-text-opacity: 0.75;
+}
+
+.text-opacity-100 {
+ --bs-text-opacity: 1;
+}
+
+.text-primary-emphasis {
+ color: var(--bs-primary-text-emphasis) !important;
+}
+
+.text-secondary-emphasis {
+ color: var(--bs-secondary-text-emphasis) !important;
+}
+
+.text-success-emphasis {
+ color: var(--bs-success-text-emphasis) !important;
+}
+
+.text-info-emphasis {
+ color: var(--bs-info-text-emphasis) !important;
+}
+
+.text-warning-emphasis {
+ color: var(--bs-warning-text-emphasis) !important;
+}
+
+.text-danger-emphasis {
+ color: var(--bs-danger-text-emphasis) !important;
+}
+
+.text-light-emphasis {
+ color: var(--bs-light-text-emphasis) !important;
+}
+
+.text-dark-emphasis {
+ color: var(--bs-dark-text-emphasis) !important;
+}
+
+.link-opacity-10 {
+ --bs-link-opacity: 0.1;
+}
+
+.link-opacity-10-hover:hover {
+ --bs-link-opacity: 0.1;
+}
+
+.link-opacity-25 {
+ --bs-link-opacity: 0.25;
+}
+
+.link-opacity-25-hover:hover {
+ --bs-link-opacity: 0.25;
+}
+
+.link-opacity-50 {
+ --bs-link-opacity: 0.5;
+}
+
+.link-opacity-50-hover:hover {
+ --bs-link-opacity: 0.5;
+}
+
+.link-opacity-75 {
+ --bs-link-opacity: 0.75;
+}
+
+.link-opacity-75-hover:hover {
+ --bs-link-opacity: 0.75;
+}
+
+.link-opacity-100 {
+ --bs-link-opacity: 1;
+}
+
+.link-opacity-100-hover:hover {
+ --bs-link-opacity: 1;
+}
+
+.link-offset-1 {
+ text-underline-offset: 0.125em !important;
+}
+
+.link-offset-1-hover:hover {
+ text-underline-offset: 0.125em !important;
+}
+
+.link-offset-2 {
+ text-underline-offset: 0.25em !important;
+}
+
+.link-offset-2-hover:hover {
+ text-underline-offset: 0.25em !important;
+}
+
+.link-offset-3 {
+ text-underline-offset: 0.375em !important;
+}
+
+.link-offset-3-hover:hover {
+ text-underline-offset: 0.375em !important;
+}
+
+.link-underline-primary {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
+ text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-secondary {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
+ text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-success {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
+ text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-info {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
+ text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-warning {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
+ text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-danger {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
+ text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-light {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
+ text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-dark {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
+ text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
+ text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-underline-opacity-0 {
+ --bs-link-underline-opacity: 0;
+}
+
+.link-underline-opacity-0-hover:hover {
+ --bs-link-underline-opacity: 0;
+}
+
+.link-underline-opacity-10 {
+ --bs-link-underline-opacity: 0.1;
+}
+
+.link-underline-opacity-10-hover:hover {
+ --bs-link-underline-opacity: 0.1;
+}
+
+.link-underline-opacity-25 {
+ --bs-link-underline-opacity: 0.25;
+}
+
+.link-underline-opacity-25-hover:hover {
+ --bs-link-underline-opacity: 0.25;
+}
+
+.link-underline-opacity-50 {
+ --bs-link-underline-opacity: 0.5;
+}
+
+.link-underline-opacity-50-hover:hover {
+ --bs-link-underline-opacity: 0.5;
+}
+
+.link-underline-opacity-75 {
+ --bs-link-underline-opacity: 0.75;
+}
+
+.link-underline-opacity-75-hover:hover {
+ --bs-link-underline-opacity: 0.75;
+}
+
+.link-underline-opacity-100 {
+ --bs-link-underline-opacity: 1;
+}
+
+.link-underline-opacity-100-hover:hover {
+ --bs-link-underline-opacity: 1;
+}
+
+.bg-primary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-secondary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-success {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-info {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-warning {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-danger {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-light {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-dark {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-black {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-white {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-body {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-transparent {
+ --bs-bg-opacity: 1;
+ background-color: transparent !important;
+}
+
+.bg-body-secondary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-body-tertiary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-opacity-10 {
+ --bs-bg-opacity: 0.1;
+}
+
+.bg-opacity-25 {
+ --bs-bg-opacity: 0.25;
+}
+
+.bg-opacity-50 {
+ --bs-bg-opacity: 0.5;
+}
+
+.bg-opacity-75 {
+ --bs-bg-opacity: 0.75;
+}
+
+.bg-opacity-100 {
+ --bs-bg-opacity: 1;
+}
+
+.bg-primary-subtle {
+ background-color: var(--bs-primary-bg-subtle) !important;
+}
+
+.bg-secondary-subtle {
+ background-color: var(--bs-secondary-bg-subtle) !important;
+}
+
+.bg-success-subtle {
+ background-color: var(--bs-success-bg-subtle) !important;
+}
+
+.bg-info-subtle {
+ background-color: var(--bs-info-bg-subtle) !important;
+}
+
+.bg-warning-subtle {
+ background-color: var(--bs-warning-bg-subtle) !important;
+}
+
+.bg-danger-subtle {
+ background-color: var(--bs-danger-bg-subtle) !important;
+}
+
+.bg-light-subtle {
+ background-color: var(--bs-light-bg-subtle) !important;
+}
+
+.bg-dark-subtle {
+ background-color: var(--bs-dark-bg-subtle) !important;
+}
+
+.bg-gradient {
+ background-image: var(--bs-gradient) !important;
+}
+
+.user-select-all {
+ -webkit-user-select: all !important;
+ -moz-user-select: all !important;
+ -ms-user-select: all !important;
+ user-select: all !important;
+}
+
+.user-select-auto {
+ -webkit-user-select: auto !important;
+ -moz-user-select: auto !important;
+ -ms-user-select: auto !important;
+ user-select: auto !important;
+}
+
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ -ms-user-select: none !important;
+ user-select: none !important;
+}
+
+.pe-none {
+ pointer-events: none !important;
+}
+
+.pe-auto {
+ pointer-events: auto !important;
+}
+
+.rounded {
+ border-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-0 {
+ border-radius: 0 !important;
+}
+
+.rounded-1 {
+ border-radius: var(--bs-border-radius-sm) !important;
+}
+
+.rounded-2 {
+ border-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-3 {
+ border-radius: var(--bs-border-radius-lg) !important;
+}
+
+.rounded-4 {
+ border-radius: var(--bs-border-radius-xl) !important;
+}
+
+.rounded-5 {
+ border-radius: var(--bs-border-radius-xxl) !important;
+}
+
+.rounded-circle {
+ border-radius: 50% !important;
+}
+
+.rounded-pill {
+ border-radius: var(--bs-border-radius-pill) !important;
+}
+
+.rounded-top {
+ border-top-left-radius: var(--bs-border-radius) !important;
+ border-top-right-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-top-0 {
+ border-top-left-radius: 0 !important;
+ border-top-right-radius: 0 !important;
+}
+
+.rounded-top-1 {
+ border-top-left-radius: var(--bs-border-radius-sm) !important;
+ border-top-right-radius: var(--bs-border-radius-sm) !important;
+}
+
+.rounded-top-2 {
+ border-top-left-radius: var(--bs-border-radius) !important;
+ border-top-right-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-top-3 {
+ border-top-left-radius: var(--bs-border-radius-lg) !important;
+ border-top-right-radius: var(--bs-border-radius-lg) !important;
+}
+
+.rounded-top-4 {
+ border-top-left-radius: var(--bs-border-radius-xl) !important;
+ border-top-right-radius: var(--bs-border-radius-xl) !important;
+}
+
+.rounded-top-5 {
+ border-top-left-radius: var(--bs-border-radius-xxl) !important;
+ border-top-right-radius: var(--bs-border-radius-xxl) !important;
+}
+
+.rounded-top-circle {
+ border-top-left-radius: 50% !important;
+ border-top-right-radius: 50% !important;
+}
+
+.rounded-top-pill {
+ border-top-left-radius: var(--bs-border-radius-pill) !important;
+ border-top-right-radius: var(--bs-border-radius-pill) !important;
+}
+
+.rounded-end {
+ border-top-right-radius: var(--bs-border-radius) !important;
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-end-0 {
+ border-top-right-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+}
+
+.rounded-end-1 {
+ border-top-right-radius: var(--bs-border-radius-sm) !important;
+ border-bottom-right-radius: var(--bs-border-radius-sm) !important;
+}
+
+.rounded-end-2 {
+ border-top-right-radius: var(--bs-border-radius) !important;
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-end-3 {
+ border-top-right-radius: var(--bs-border-radius-lg) !important;
+ border-bottom-right-radius: var(--bs-border-radius-lg) !important;
+}
+
+.rounded-end-4 {
+ border-top-right-radius: var(--bs-border-radius-xl) !important;
+ border-bottom-right-radius: var(--bs-border-radius-xl) !important;
+}
+
+.rounded-end-5 {
+ border-top-right-radius: var(--bs-border-radius-xxl) !important;
+ border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
+}
+
+.rounded-end-circle {
+ border-top-right-radius: 50% !important;
+ border-bottom-right-radius: 50% !important;
+}
+
+.rounded-end-pill {
+ border-top-right-radius: var(--bs-border-radius-pill) !important;
+ border-bottom-right-radius: var(--bs-border-radius-pill) !important;
+}
+
+.rounded-bottom {
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-bottom-0 {
+ border-bottom-right-radius: 0 !important;
+ border-bottom-left-radius: 0 !important;
+}
+
+.rounded-bottom-1 {
+ border-bottom-right-radius: var(--bs-border-radius-sm) !important;
+ border-bottom-left-radius: var(--bs-border-radius-sm) !important;
+}
+
+.rounded-bottom-2 {
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-bottom-3 {
+ border-bottom-right-radius: var(--bs-border-radius-lg) !important;
+ border-bottom-left-radius: var(--bs-border-radius-lg) !important;
+}
+
+.rounded-bottom-4 {
+ border-bottom-right-radius: var(--bs-border-radius-xl) !important;
+ border-bottom-left-radius: var(--bs-border-radius-xl) !important;
+}
+
+.rounded-bottom-5 {
+ border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
+ border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
+}
+
+.rounded-bottom-circle {
+ border-bottom-right-radius: 50% !important;
+ border-bottom-left-radius: 50% !important;
+}
+
+.rounded-bottom-pill {
+ border-bottom-right-radius: var(--bs-border-radius-pill) !important;
+ border-bottom-left-radius: var(--bs-border-radius-pill) !important;
+}
+
+.rounded-start {
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+ border-top-left-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-start-0 {
+ border-bottom-left-radius: 0 !important;
+ border-top-left-radius: 0 !important;
+}
+
+.rounded-start-1 {
+ border-bottom-left-radius: var(--bs-border-radius-sm) !important;
+ border-top-left-radius: var(--bs-border-radius-sm) !important;
+}
+
+.rounded-start-2 {
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+ border-top-left-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-start-3 {
+ border-bottom-left-radius: var(--bs-border-radius-lg) !important;
+ border-top-left-radius: var(--bs-border-radius-lg) !important;
+}
+
+.rounded-start-4 {
+ border-bottom-left-radius: var(--bs-border-radius-xl) !important;
+ border-top-left-radius: var(--bs-border-radius-xl) !important;
+}
+
+.rounded-start-5 {
+ border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
+ border-top-left-radius: var(--bs-border-radius-xxl) !important;
+}
+
+.rounded-start-circle {
+ border-bottom-left-radius: 50% !important;
+ border-top-left-radius: 50% !important;
+}
+
+.rounded-start-pill {
+ border-bottom-left-radius: var(--bs-border-radius-pill) !important;
+ border-top-left-radius: var(--bs-border-radius-pill) !important;
+}
+
+.visible {
+ visibility: visible !important;
+}
+
+.invisible {
+ visibility: hidden !important;
+}
+
+.z-n1 {
+ z-index: -1 !important;
+}
+
+.z-0 {
+ z-index: 0 !important;
+}
+
+.z-1 {
+ z-index: 1 !important;
+}
+
+.z-2 {
+ z-index: 2 !important;
+}
+
+.z-3 {
+ z-index: 3 !important;
+}
+
+@media (min-width: 36rem) {
+ .float-sm-start {
+ float: left !important;
+ }
+ .float-sm-end {
+ float: right !important;
+ }
+ .float-sm-none {
+ float: none !important;
+ }
+ .object-fit-sm-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-sm-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-sm-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-sm-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-sm-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-sm-inline {
+ display: inline !important;
+ }
+ .d-sm-inline-block {
+ display: inline-block !important;
+ }
+ .d-sm-block {
+ display: block !important;
+ }
+ .d-sm-grid {
+ display: grid !important;
+ }
+ .d-sm-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-sm-table {
+ display: table !important;
+ }
+ .d-sm-table-row {
+ display: table-row !important;
+ }
+ .d-sm-table-cell {
+ display: table-cell !important;
+ }
+ .d-sm-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-sm-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !important;
+ }
+ .d-sm-none {
+ display: none !important;
+ }
+ .flex-sm-fill {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex: 1 1 auto !important;
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-sm-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-sm-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-sm-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-sm-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-sm-grow-0 {
+ -webkit-box-flex: 0 !important;
+ -webkit-flex-grow: 0 !important;
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-sm-grow-1 {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex-grow: 1 !important;
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-sm-shrink-0 {
+ -webkit-flex-shrink: 0 !important;
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-sm-shrink-1 {
+ -webkit-flex-shrink: 1 !important;
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
+ .flex-sm-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-sm-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-sm-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-sm-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-sm-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-sm-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-sm-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-sm-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .justify-content-sm-evenly {
+ -webkit-box-pack: space-evenly !important;
+ -webkit-justify-content: space-evenly !important;
+ -ms-flex-pack: space-evenly !important;
+ justify-content: space-evenly !important;
+ }
+ .align-items-sm-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-sm-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-sm-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-sm-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-sm-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-sm-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-sm-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-sm-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-sm-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-sm-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-sm-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-sm-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-sm-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-sm-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-sm-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-sm-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-sm-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ align-self: stretch !important;
+ }
+ .order-sm-first {
+ -webkit-box-ordinal-group: 0 !important;
+ -webkit-order: -1 !important;
+ -ms-flex-order: -1 !important;
+ order: -1 !important;
+ }
+ .order-sm-0 {
+ -webkit-box-ordinal-group: 1 !important;
+ -webkit-order: 0 !important;
+ -ms-flex-order: 0 !important;
+ order: 0 !important;
+ }
+ .order-sm-1 {
+ -webkit-box-ordinal-group: 2 !important;
+ -webkit-order: 1 !important;
+ -ms-flex-order: 1 !important;
+ order: 1 !important;
+ }
+ .order-sm-2 {
+ -webkit-box-ordinal-group: 3 !important;
+ -webkit-order: 2 !important;
+ -ms-flex-order: 2 !important;
+ order: 2 !important;
+ }
+ .order-sm-3 {
+ -webkit-box-ordinal-group: 4 !important;
+ -webkit-order: 3 !important;
+ -ms-flex-order: 3 !important;
+ order: 3 !important;
+ }
+ .order-sm-4 {
+ -webkit-box-ordinal-group: 5 !important;
+ -webkit-order: 4 !important;
+ -ms-flex-order: 4 !important;
+ order: 4 !important;
+ }
+ .order-sm-5 {
+ -webkit-box-ordinal-group: 6 !important;
+ -webkit-order: 5 !important;
+ -ms-flex-order: 5 !important;
+ order: 5 !important;
+ }
+ .order-sm-last {
+ -webkit-box-ordinal-group: 7 !important;
+ -webkit-order: 6 !important;
+ -ms-flex-order: 6 !important;
+ order: 6 !important;
+ }
+ .m-sm-0 {
+ margin: 0 !important;
+ }
+ .m-sm-1 {
+ margin: 0.25rem !important;
+ }
+ .m-sm-2 {
+ margin: 0.5rem !important;
+ }
+ .m-sm-3 {
+ margin: 1rem !important;
+ }
+ .m-sm-4 {
+ margin: 1.5rem !important;
+ }
+ .m-sm-5 {
+ margin: 3rem !important;
+ }
+ .m-sm-auto {
+ margin: auto !important;
+ }
+ .mx-sm-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-sm-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-sm-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-sm-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-sm-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-sm-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-sm-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-sm-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-sm-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-sm-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-sm-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-sm-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-sm-0 {
+ margin-top: 0 !important;
+ }
+ .mt-sm-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-sm-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-sm-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-sm-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-sm-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-sm-auto {
+ margin-top: auto !important;
+ }
+ .me-sm-0 {
+ margin-right: 0 !important;
+ }
+ .me-sm-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-sm-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-sm-3 {
+ margin-right: 1rem !important;
+ }
+ .me-sm-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-sm-5 {
+ margin-right: 3rem !important;
+ }
+ .me-sm-auto {
+ margin-right: auto !important;
+ }
+ .mb-sm-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-sm-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-sm-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-sm-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-sm-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-sm-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-sm-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-sm-0 {
+ margin-left: 0 !important;
+ }
+ .ms-sm-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-sm-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-sm-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-sm-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-sm-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-sm-auto {
+ margin-left: auto !important;
+ }
+ .p-sm-0 {
+ padding: 0 !important;
+ }
+ .p-sm-1 {
+ padding: 0.25rem !important;
+ }
+ .p-sm-2 {
+ padding: 0.5rem !important;
+ }
+ .p-sm-3 {
+ padding: 1rem !important;
+ }
+ .p-sm-4 {
+ padding: 1.5rem !important;
+ }
+ .p-sm-5 {
+ padding: 3rem !important;
+ }
+ .px-sm-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-sm-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-sm-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-sm-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-sm-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-sm-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-sm-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-sm-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-sm-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-sm-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-sm-0 {
+ padding-top: 0 !important;
+ }
+ .pt-sm-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-sm-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-sm-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-sm-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-sm-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-sm-0 {
+ padding-right: 0 !important;
+ }
+ .pe-sm-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-sm-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-sm-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-sm-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-sm-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-sm-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-sm-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-sm-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-sm-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-sm-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-sm-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-sm-0 {
+ padding-left: 0 !important;
+ }
+ .ps-sm-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-sm-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-sm-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-sm-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-sm-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-sm-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-sm-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-sm-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-sm-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-sm-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-sm-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-sm-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-sm-0 {
+ -webkit-column-gap: 0 !important;
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-sm-1 {
+ -webkit-column-gap: 0.25rem !important;
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-sm-2 {
+ -webkit-column-gap: 0.5rem !important;
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-sm-3 {
+ -webkit-column-gap: 1rem !important;
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-sm-4 {
+ -webkit-column-gap: 1.5rem !important;
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-sm-5 {
+ -webkit-column-gap: 3rem !important;
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-sm-start {
+ text-align: left !important;
+ }
+ .text-sm-end {
+ text-align: right !important;
+ }
+ .text-sm-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 48rem) {
+ .float-md-start {
+ float: left !important;
+ }
+ .float-md-end {
+ float: right !important;
+ }
+ .float-md-none {
+ float: none !important;
+ }
+ .object-fit-md-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-md-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-md-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-md-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-md-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-md-inline {
+ display: inline !important;
+ }
+ .d-md-inline-block {
+ display: inline-block !important;
+ }
+ .d-md-block {
+ display: block !important;
+ }
+ .d-md-grid {
+ display: grid !important;
+ }
+ .d-md-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-md-table {
+ display: table !important;
+ }
+ .d-md-table-row {
+ display: table-row !important;
+ }
+ .d-md-table-cell {
+ display: table-cell !important;
+ }
+ .d-md-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-md-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !important;
+ }
+ .d-md-none {
+ display: none !important;
+ }
+ .flex-md-fill {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex: 1 1 auto !important;
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-md-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-md-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-md-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-md-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-md-grow-0 {
+ -webkit-box-flex: 0 !important;
+ -webkit-flex-grow: 0 !important;
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-md-grow-1 {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex-grow: 1 !important;
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-md-shrink-0 {
+ -webkit-flex-shrink: 0 !important;
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-md-shrink-1 {
+ -webkit-flex-shrink: 1 !important;
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
+ .flex-md-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-md-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-md-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-md-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-md-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-md-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-md-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-md-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .justify-content-md-evenly {
+ -webkit-box-pack: space-evenly !important;
+ -webkit-justify-content: space-evenly !important;
+ -ms-flex-pack: space-evenly !important;
+ justify-content: space-evenly !important;
+ }
+ .align-items-md-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-md-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-md-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-md-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-md-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-md-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-md-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-md-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-md-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-md-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-md-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-md-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-md-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-md-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-md-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-md-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-md-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ align-self: stretch !important;
+ }
+ .order-md-first {
+ -webkit-box-ordinal-group: 0 !important;
+ -webkit-order: -1 !important;
+ -ms-flex-order: -1 !important;
+ order: -1 !important;
+ }
+ .order-md-0 {
+ -webkit-box-ordinal-group: 1 !important;
+ -webkit-order: 0 !important;
+ -ms-flex-order: 0 !important;
+ order: 0 !important;
+ }
+ .order-md-1 {
+ -webkit-box-ordinal-group: 2 !important;
+ -webkit-order: 1 !important;
+ -ms-flex-order: 1 !important;
+ order: 1 !important;
+ }
+ .order-md-2 {
+ -webkit-box-ordinal-group: 3 !important;
+ -webkit-order: 2 !important;
+ -ms-flex-order: 2 !important;
+ order: 2 !important;
+ }
+ .order-md-3 {
+ -webkit-box-ordinal-group: 4 !important;
+ -webkit-order: 3 !important;
+ -ms-flex-order: 3 !important;
+ order: 3 !important;
+ }
+ .order-md-4 {
+ -webkit-box-ordinal-group: 5 !important;
+ -webkit-order: 4 !important;
+ -ms-flex-order: 4 !important;
+ order: 4 !important;
+ }
+ .order-md-5 {
+ -webkit-box-ordinal-group: 6 !important;
+ -webkit-order: 5 !important;
+ -ms-flex-order: 5 !important;
+ order: 5 !important;
+ }
+ .order-md-last {
+ -webkit-box-ordinal-group: 7 !important;
+ -webkit-order: 6 !important;
+ -ms-flex-order: 6 !important;
+ order: 6 !important;
+ }
+ .m-md-0 {
+ margin: 0 !important;
+ }
+ .m-md-1 {
+ margin: 0.25rem !important;
+ }
+ .m-md-2 {
+ margin: 0.5rem !important;
+ }
+ .m-md-3 {
+ margin: 1rem !important;
+ }
+ .m-md-4 {
+ margin: 1.5rem !important;
+ }
+ .m-md-5 {
+ margin: 3rem !important;
+ }
+ .m-md-auto {
+ margin: auto !important;
+ }
+ .mx-md-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-md-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-md-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-md-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-md-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-md-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-md-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-md-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-md-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-md-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-md-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-md-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-md-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-md-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-md-0 {
+ margin-top: 0 !important;
+ }
+ .mt-md-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-md-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-md-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-md-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-md-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-md-auto {
+ margin-top: auto !important;
+ }
+ .me-md-0 {
+ margin-right: 0 !important;
+ }
+ .me-md-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-md-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-md-3 {
+ margin-right: 1rem !important;
+ }
+ .me-md-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-md-5 {
+ margin-right: 3rem !important;
+ }
+ .me-md-auto {
+ margin-right: auto !important;
+ }
+ .mb-md-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-md-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-md-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-md-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-md-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-md-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-md-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-md-0 {
+ margin-left: 0 !important;
+ }
+ .ms-md-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-md-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-md-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-md-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-md-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-md-auto {
+ margin-left: auto !important;
+ }
+ .p-md-0 {
+ padding: 0 !important;
+ }
+ .p-md-1 {
+ padding: 0.25rem !important;
+ }
+ .p-md-2 {
+ padding: 0.5rem !important;
+ }
+ .p-md-3 {
+ padding: 1rem !important;
+ }
+ .p-md-4 {
+ padding: 1.5rem !important;
+ }
+ .p-md-5 {
+ padding: 3rem !important;
+ }
+ .px-md-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-md-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-md-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-md-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-md-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-md-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-md-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-md-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-md-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-md-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-md-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-md-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-md-0 {
+ padding-top: 0 !important;
+ }
+ .pt-md-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-md-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-md-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-md-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-md-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-md-0 {
+ padding-right: 0 !important;
+ }
+ .pe-md-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-md-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-md-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-md-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-md-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-md-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-md-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-md-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-md-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-md-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-md-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-md-0 {
+ padding-left: 0 !important;
+ }
+ .ps-md-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-md-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-md-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-md-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-md-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-md-0 {
+ gap: 0 !important;
+ }
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-md-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-md-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-md-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-md-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-md-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-md-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-md-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-md-0 {
+ -webkit-column-gap: 0 !important;
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-md-1 {
+ -webkit-column-gap: 0.25rem !important;
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-md-2 {
+ -webkit-column-gap: 0.5rem !important;
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-md-3 {
+ -webkit-column-gap: 1rem !important;
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-md-4 {
+ -webkit-column-gap: 1.5rem !important;
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-md-5 {
+ -webkit-column-gap: 3rem !important;
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-md-start {
+ text-align: left !important;
+ }
+ .text-md-end {
+ text-align: right !important;
+ }
+ .text-md-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 62rem) {
+ .float-lg-start {
+ float: left !important;
+ }
+ .float-lg-end {
+ float: right !important;
+ }
+ .float-lg-none {
+ float: none !important;
+ }
+ .object-fit-lg-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-lg-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-lg-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-lg-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-lg-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-lg-inline {
+ display: inline !important;
+ }
+ .d-lg-inline-block {
+ display: inline-block !important;
+ }
+ .d-lg-block {
+ display: block !important;
+ }
+ .d-lg-grid {
+ display: grid !important;
+ }
+ .d-lg-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-lg-table {
+ display: table !important;
+ }
+ .d-lg-table-row {
+ display: table-row !important;
+ }
+ .d-lg-table-cell {
+ display: table-cell !important;
+ }
+ .d-lg-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-lg-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !important;
+ }
+ .d-lg-none {
+ display: none !important;
+ }
+ .flex-lg-fill {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex: 1 1 auto !important;
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-lg-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-lg-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-lg-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-lg-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-lg-grow-0 {
+ -webkit-box-flex: 0 !important;
+ -webkit-flex-grow: 0 !important;
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-lg-grow-1 {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex-grow: 1 !important;
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-lg-shrink-0 {
+ -webkit-flex-shrink: 0 !important;
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-lg-shrink-1 {
+ -webkit-flex-shrink: 1 !important;
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
+ .flex-lg-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-lg-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-lg-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-lg-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-lg-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-lg-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-lg-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-lg-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .justify-content-lg-evenly {
+ -webkit-box-pack: space-evenly !important;
+ -webkit-justify-content: space-evenly !important;
+ -ms-flex-pack: space-evenly !important;
+ justify-content: space-evenly !important;
+ }
+ .align-items-lg-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-lg-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-lg-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-lg-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-lg-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-lg-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-lg-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-lg-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-lg-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-lg-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-lg-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-lg-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-lg-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-lg-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-lg-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-lg-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-lg-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ align-self: stretch !important;
+ }
+ .order-lg-first {
+ -webkit-box-ordinal-group: 0 !important;
+ -webkit-order: -1 !important;
+ -ms-flex-order: -1 !important;
+ order: -1 !important;
+ }
+ .order-lg-0 {
+ -webkit-box-ordinal-group: 1 !important;
+ -webkit-order: 0 !important;
+ -ms-flex-order: 0 !important;
+ order: 0 !important;
+ }
+ .order-lg-1 {
+ -webkit-box-ordinal-group: 2 !important;
+ -webkit-order: 1 !important;
+ -ms-flex-order: 1 !important;
+ order: 1 !important;
+ }
+ .order-lg-2 {
+ -webkit-box-ordinal-group: 3 !important;
+ -webkit-order: 2 !important;
+ -ms-flex-order: 2 !important;
+ order: 2 !important;
+ }
+ .order-lg-3 {
+ -webkit-box-ordinal-group: 4 !important;
+ -webkit-order: 3 !important;
+ -ms-flex-order: 3 !important;
+ order: 3 !important;
+ }
+ .order-lg-4 {
+ -webkit-box-ordinal-group: 5 !important;
+ -webkit-order: 4 !important;
+ -ms-flex-order: 4 !important;
+ order: 4 !important;
+ }
+ .order-lg-5 {
+ -webkit-box-ordinal-group: 6 !important;
+ -webkit-order: 5 !important;
+ -ms-flex-order: 5 !important;
+ order: 5 !important;
+ }
+ .order-lg-last {
+ -webkit-box-ordinal-group: 7 !important;
+ -webkit-order: 6 !important;
+ -ms-flex-order: 6 !important;
+ order: 6 !important;
+ }
+ .m-lg-0 {
+ margin: 0 !important;
+ }
+ .m-lg-1 {
+ margin: 0.25rem !important;
+ }
+ .m-lg-2 {
+ margin: 0.5rem !important;
+ }
+ .m-lg-3 {
+ margin: 1rem !important;
+ }
+ .m-lg-4 {
+ margin: 1.5rem !important;
+ }
+ .m-lg-5 {
+ margin: 3rem !important;
+ }
+ .m-lg-auto {
+ margin: auto !important;
+ }
+ .mx-lg-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-lg-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-lg-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-lg-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-lg-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-lg-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-lg-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-lg-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-lg-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-lg-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-lg-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-lg-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-lg-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-lg-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-lg-0 {
+ margin-top: 0 !important;
+ }
+ .mt-lg-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-lg-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-lg-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-lg-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-lg-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-lg-auto {
+ margin-top: auto !important;
+ }
+ .me-lg-0 {
+ margin-right: 0 !important;
+ }
+ .me-lg-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-lg-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-lg-3 {
+ margin-right: 1rem !important;
+ }
+ .me-lg-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-lg-5 {
+ margin-right: 3rem !important;
+ }
+ .me-lg-auto {
+ margin-right: auto !important;
+ }
+ .mb-lg-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-lg-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-lg-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-lg-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-lg-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-lg-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-lg-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-lg-0 {
+ margin-left: 0 !important;
+ }
+ .ms-lg-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-lg-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-lg-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-lg-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-lg-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-lg-auto {
+ margin-left: auto !important;
+ }
+ .p-lg-0 {
+ padding: 0 !important;
+ }
+ .p-lg-1 {
+ padding: 0.25rem !important;
+ }
+ .p-lg-2 {
+ padding: 0.5rem !important;
+ }
+ .p-lg-3 {
+ padding: 1rem !important;
+ }
+ .p-lg-4 {
+ padding: 1.5rem !important;
+ }
+ .p-lg-5 {
+ padding: 3rem !important;
+ }
+ .px-lg-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-lg-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-lg-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-lg-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-lg-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-lg-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-lg-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-lg-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-lg-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-lg-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-lg-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-lg-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-lg-0 {
+ padding-top: 0 !important;
+ }
+ .pt-lg-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-lg-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-lg-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-lg-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-lg-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-lg-0 {
+ padding-right: 0 !important;
+ }
+ .pe-lg-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-lg-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-lg-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-lg-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-lg-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-lg-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-lg-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-lg-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-lg-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-lg-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-lg-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-lg-0 {
+ padding-left: 0 !important;
+ }
+ .ps-lg-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-lg-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-lg-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-lg-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-lg-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-lg-0 {
+ gap: 0 !important;
+ }
+ .gap-lg-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-lg-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-lg-3 {
+ gap: 1rem !important;
+ }
+ .gap-lg-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-lg-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-lg-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-lg-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-lg-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-lg-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-lg-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-lg-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-lg-0 {
+ -webkit-column-gap: 0 !important;
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-lg-1 {
+ -webkit-column-gap: 0.25rem !important;
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-lg-2 {
+ -webkit-column-gap: 0.5rem !important;
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-lg-3 {
+ -webkit-column-gap: 1rem !important;
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-lg-4 {
+ -webkit-column-gap: 1.5rem !important;
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-lg-5 {
+ -webkit-column-gap: 3rem !important;
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-lg-start {
+ text-align: left !important;
+ }
+ .text-lg-end {
+ text-align: right !important;
+ }
+ .text-lg-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 75rem) {
+ .float-xl-start {
+ float: left !important;
+ }
+ .float-xl-end {
+ float: right !important;
+ }
+ .float-xl-none {
+ float: none !important;
+ }
+ .object-fit-xl-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-xl-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-xl-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-xl-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-xl-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-xl-inline {
+ display: inline !important;
+ }
+ .d-xl-inline-block {
+ display: inline-block !important;
+ }
+ .d-xl-block {
+ display: block !important;
+ }
+ .d-xl-grid {
+ display: grid !important;
+ }
+ .d-xl-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-xl-table {
+ display: table !important;
+ }
+ .d-xl-table-row {
+ display: table-row !important;
+ }
+ .d-xl-table-cell {
+ display: table-cell !important;
+ }
+ .d-xl-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-xl-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !important;
+ }
+ .d-xl-none {
+ display: none !important;
+ }
+ .flex-xl-fill {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex: 1 1 auto !important;
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-xl-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-xl-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-xl-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-xl-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-xl-grow-0 {
+ -webkit-box-flex: 0 !important;
+ -webkit-flex-grow: 0 !important;
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-xl-grow-1 {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex-grow: 1 !important;
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-xl-shrink-0 {
+ -webkit-flex-shrink: 0 !important;
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-xl-shrink-1 {
+ -webkit-flex-shrink: 1 !important;
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
+ .flex-xl-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-xl-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-xl-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xl-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-xl-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-xl-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-xl-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-xl-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .justify-content-xl-evenly {
+ -webkit-box-pack: space-evenly !important;
+ -webkit-justify-content: space-evenly !important;
+ -ms-flex-pack: space-evenly !important;
+ justify-content: space-evenly !important;
+ }
+ .align-items-xl-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-xl-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-xl-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-xl-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-xl-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-xl-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-xl-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-xl-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-xl-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-xl-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-xl-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-xl-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-xl-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-xl-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-xl-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-xl-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-xl-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ align-self: stretch !important;
+ }
+ .order-xl-first {
+ -webkit-box-ordinal-group: 0 !important;
+ -webkit-order: -1 !important;
+ -ms-flex-order: -1 !important;
+ order: -1 !important;
+ }
+ .order-xl-0 {
+ -webkit-box-ordinal-group: 1 !important;
+ -webkit-order: 0 !important;
+ -ms-flex-order: 0 !important;
+ order: 0 !important;
+ }
+ .order-xl-1 {
+ -webkit-box-ordinal-group: 2 !important;
+ -webkit-order: 1 !important;
+ -ms-flex-order: 1 !important;
+ order: 1 !important;
+ }
+ .order-xl-2 {
+ -webkit-box-ordinal-group: 3 !important;
+ -webkit-order: 2 !important;
+ -ms-flex-order: 2 !important;
+ order: 2 !important;
+ }
+ .order-xl-3 {
+ -webkit-box-ordinal-group: 4 !important;
+ -webkit-order: 3 !important;
+ -ms-flex-order: 3 !important;
+ order: 3 !important;
+ }
+ .order-xl-4 {
+ -webkit-box-ordinal-group: 5 !important;
+ -webkit-order: 4 !important;
+ -ms-flex-order: 4 !important;
+ order: 4 !important;
+ }
+ .order-xl-5 {
+ -webkit-box-ordinal-group: 6 !important;
+ -webkit-order: 5 !important;
+ -ms-flex-order: 5 !important;
+ order: 5 !important;
+ }
+ .order-xl-last {
+ -webkit-box-ordinal-group: 7 !important;
+ -webkit-order: 6 !important;
+ -ms-flex-order: 6 !important;
+ order: 6 !important;
+ }
+ .m-xl-0 {
+ margin: 0 !important;
+ }
+ .m-xl-1 {
+ margin: 0.25rem !important;
+ }
+ .m-xl-2 {
+ margin: 0.5rem !important;
+ }
+ .m-xl-3 {
+ margin: 1rem !important;
+ }
+ .m-xl-4 {
+ margin: 1.5rem !important;
+ }
+ .m-xl-5 {
+ margin: 3rem !important;
+ }
+ .m-xl-auto {
+ margin: auto !important;
+ }
+ .mx-xl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-xl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-xl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-xl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-xl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-xl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-xl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-xl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-xl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-xl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-xl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-xl-0 {
+ margin-top: 0 !important;
+ }
+ .mt-xl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-xl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-xl-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-xl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-xl-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-xl-auto {
+ margin-top: auto !important;
+ }
+ .me-xl-0 {
+ margin-right: 0 !important;
+ }
+ .me-xl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-xl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-xl-3 {
+ margin-right: 1rem !important;
+ }
+ .me-xl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-xl-5 {
+ margin-right: 3rem !important;
+ }
+ .me-xl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xl-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-xl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-xl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-xl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-xl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-xl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-xl-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-xl-0 {
+ margin-left: 0 !important;
+ }
+ .ms-xl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-xl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-xl-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-xl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-xl-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-xl-auto {
+ margin-left: auto !important;
+ }
+ .p-xl-0 {
+ padding: 0 !important;
+ }
+ .p-xl-1 {
+ padding: 0.25rem !important;
+ }
+ .p-xl-2 {
+ padding: 0.5rem !important;
+ }
+ .p-xl-3 {
+ padding: 1rem !important;
+ }
+ .p-xl-4 {
+ padding: 1.5rem !important;
+ }
+ .p-xl-5 {
+ padding: 3rem !important;
+ }
+ .px-xl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-xl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-xl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-xl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-xl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-xl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-xl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-xl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-xl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-xl-0 {
+ padding-top: 0 !important;
+ }
+ .pt-xl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-xl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-xl-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-xl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-xl-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-xl-0 {
+ padding-right: 0 !important;
+ }
+ .pe-xl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-xl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-xl-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-xl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-xl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-xl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-xl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-xl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-xl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-xl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-xl-0 {
+ padding-left: 0 !important;
+ }
+ .ps-xl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-xl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-xl-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-xl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-xl-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-xl-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-xl-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-xl-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-xl-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-xl-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-xl-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-xl-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-xl-0 {
+ -webkit-column-gap: 0 !important;
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-xl-1 {
+ -webkit-column-gap: 0.25rem !important;
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-xl-2 {
+ -webkit-column-gap: 0.5rem !important;
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-xl-3 {
+ -webkit-column-gap: 1rem !important;
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-xl-4 {
+ -webkit-column-gap: 1.5rem !important;
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-xl-5 {
+ -webkit-column-gap: 3rem !important;
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-xl-start {
+ text-align: left !important;
+ }
+ .text-xl-end {
+ text-align: right !important;
+ }
+ .text-xl-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 87.5rem) {
+ .float-xxl-start {
+ float: left !important;
+ }
+ .float-xxl-end {
+ float: right !important;
+ }
+ .float-xxl-none {
+ float: none !important;
+ }
+ .object-fit-xxl-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-xxl-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-xxl-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-xxl-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-xxl-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-xxl-inline {
+ display: inline !important;
+ }
+ .d-xxl-inline-block {
+ display: inline-block !important;
+ }
+ .d-xxl-block {
+ display: block !important;
+ }
+ .d-xxl-grid {
+ display: grid !important;
+ }
+ .d-xxl-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-xxl-table {
+ display: table !important;
+ }
+ .d-xxl-table-row {
+ display: table-row !important;
+ }
+ .d-xxl-table-cell {
+ display: table-cell !important;
+ }
+ .d-xxl-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-xxl-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !important;
+ }
+ .d-xxl-none {
+ display: none !important;
+ }
+ .flex-xxl-fill {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex: 1 1 auto !important;
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-xxl-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-xxl-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-xxl-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-xxl-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-xxl-grow-0 {
+ -webkit-box-flex: 0 !important;
+ -webkit-flex-grow: 0 !important;
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-xxl-grow-1 {
+ -webkit-box-flex: 1 !important;
+ -webkit-flex-grow: 1 !important;
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-xxl-shrink-0 {
+ -webkit-flex-shrink: 0 !important;
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-xxl-shrink-1 {
+ -webkit-flex-shrink: 1 !important;
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
+ .flex-xxl-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-xxl-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-xxl-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xxl-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-xxl-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-xxl-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-xxl-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-xxl-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .justify-content-xxl-evenly {
+ -webkit-box-pack: space-evenly !important;
+ -webkit-justify-content: space-evenly !important;
+ -ms-flex-pack: space-evenly !important;
+ justify-content: space-evenly !important;
+ }
+ .align-items-xxl-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-xxl-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-xxl-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-xxl-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-xxl-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-xxl-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-xxl-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-xxl-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-xxl-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-xxl-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-xxl-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-xxl-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-xxl-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-xxl-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-xxl-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-xxl-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-xxl-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ align-self: stretch !important;
+ }
+ .order-xxl-first {
+ -webkit-box-ordinal-group: 0 !important;
+ -webkit-order: -1 !important;
+ -ms-flex-order: -1 !important;
+ order: -1 !important;
+ }
+ .order-xxl-0 {
+ -webkit-box-ordinal-group: 1 !important;
+ -webkit-order: 0 !important;
+ -ms-flex-order: 0 !important;
+ order: 0 !important;
+ }
+ .order-xxl-1 {
+ -webkit-box-ordinal-group: 2 !important;
+ -webkit-order: 1 !important;
+ -ms-flex-order: 1 !important;
+ order: 1 !important;
+ }
+ .order-xxl-2 {
+ -webkit-box-ordinal-group: 3 !important;
+ -webkit-order: 2 !important;
+ -ms-flex-order: 2 !important;
+ order: 2 !important;
+ }
+ .order-xxl-3 {
+ -webkit-box-ordinal-group: 4 !important;
+ -webkit-order: 3 !important;
+ -ms-flex-order: 3 !important;
+ order: 3 !important;
+ }
+ .order-xxl-4 {
+ -webkit-box-ordinal-group: 5 !important;
+ -webkit-order: 4 !important;
+ -ms-flex-order: 4 !important;
+ order: 4 !important;
+ }
+ .order-xxl-5 {
+ -webkit-box-ordinal-group: 6 !important;
+ -webkit-order: 5 !important;
+ -ms-flex-order: 5 !important;
+ order: 5 !important;
+ }
+ .order-xxl-last {
+ -webkit-box-ordinal-group: 7 !important;
+ -webkit-order: 6 !important;
+ -ms-flex-order: 6 !important;
+ order: 6 !important;
+ }
+ .m-xxl-0 {
+ margin: 0 !important;
+ }
+ .m-xxl-1 {
+ margin: 0.25rem !important;
+ }
+ .m-xxl-2 {
+ margin: 0.5rem !important;
+ }
+ .m-xxl-3 {
+ margin: 1rem !important;
+ }
+ .m-xxl-4 {
+ margin: 1.5rem !important;
+ }
+ .m-xxl-5 {
+ margin: 3rem !important;
+ }
+ .m-xxl-auto {
+ margin: auto !important;
+ }
+ .mx-xxl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-xxl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-xxl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-xxl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-xxl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-xxl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-xxl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xxl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-xxl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-xxl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-xxl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-xxl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-xxl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-xxl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-xxl-0 {
+ margin-top: 0 !important;
+ }
+ .mt-xxl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-xxl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-xxl-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-xxl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-xxl-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-xxl-auto {
+ margin-top: auto !important;
+ }
+ .me-xxl-0 {
+ margin-right: 0 !important;
+ }
+ .me-xxl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-xxl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-xxl-3 {
+ margin-right: 1rem !important;
+ }
+ .me-xxl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-xxl-5 {
+ margin-right: 3rem !important;
+ }
+ .me-xxl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xxl-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-xxl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-xxl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-xxl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-xxl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-xxl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-xxl-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-xxl-0 {
+ margin-left: 0 !important;
+ }
+ .ms-xxl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-xxl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-xxl-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-xxl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-xxl-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-xxl-auto {
+ margin-left: auto !important;
+ }
+ .p-xxl-0 {
+ padding: 0 !important;
+ }
+ .p-xxl-1 {
+ padding: 0.25rem !important;
+ }
+ .p-xxl-2 {
+ padding: 0.5rem !important;
+ }
+ .p-xxl-3 {
+ padding: 1rem !important;
+ }
+ .p-xxl-4 {
+ padding: 1.5rem !important;
+ }
+ .p-xxl-5 {
+ padding: 3rem !important;
+ }
+ .px-xxl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-xxl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-xxl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-xxl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-xxl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-xxl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xxl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-xxl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-xxl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-xxl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-xxl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-xxl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-xxl-0 {
+ padding-top: 0 !important;
+ }
+ .pt-xxl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-xxl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-xxl-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-xxl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-xxl-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-xxl-0 {
+ padding-right: 0 !important;
+ }
+ .pe-xxl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-xxl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-xxl-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-xxl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-xxl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xxl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-xxl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-xxl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-xxl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-xxl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-xxl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-xxl-0 {
+ padding-left: 0 !important;
+ }
+ .ps-xxl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-xxl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-xxl-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-xxl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-xxl-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-xxl-0 {
+ gap: 0 !important;
+ }
+ .gap-xxl-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-xxl-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-xxl-3 {
+ gap: 1rem !important;
+ }
+ .gap-xxl-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-xxl-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-xxl-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-xxl-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-xxl-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-xxl-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-xxl-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-xxl-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-xxl-0 {
+ -webkit-column-gap: 0 !important;
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-xxl-1 {
+ -webkit-column-gap: 0.25rem !important;
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-xxl-2 {
+ -webkit-column-gap: 0.5rem !important;
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-xxl-3 {
+ -webkit-column-gap: 1rem !important;
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-xxl-4 {
+ -webkit-column-gap: 1.5rem !important;
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-xxl-5 {
+ -webkit-column-gap: 3rem !important;
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-xxl-start {
+ text-align: left !important;
+ }
+ .text-xxl-end {
+ text-align: right !important;
+ }
+ .text-xxl-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 75rem) {
+ .fs-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-2 {
+ font-size: 2rem !important;
+ }
+ .fs-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-4 {
+ font-size: 1.5rem !important;
+ }
+}
+@media print {
+ .d-print-inline {
+ display: inline !important;
+ }
+ .d-print-inline-block {
+ display: inline-block !important;
+ }
+ .d-print-block {
+ display: block !important;
+ }
+ .d-print-grid {
+ display: grid !important;
+ }
+ .d-print-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-print-table {
+ display: table !important;
+ }
+ .d-print-table-row {
+ display: table-row !important;
+ }
+ .d-print-table-cell {
+ display: table-cell !important;
+ }
+ .d-print-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-print-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !important;
+ }
+ .d-print-none {
+ display: none !important;
+ }
+}
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+GENERAL SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS style tokens in the documentation:
+https://designsystem.digital.gov/design-tokens
+----------------------------------------
+*/
+/*
+----------------------------------------
+Image path
+----------------------------------------
+Relative image file path
+----------------------------------------
+*/
+/*
+----------------------------------------
+Show compile warnings
+----------------------------------------
+Show Sass warnings when functions and
+mixins use non-standard tokens.
+AND
+Show updates and notifications.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Namespace
+----------------------------------------
+*/
+/*
+----------------------------------------
+Prefix separator
+----------------------------------------
+Set the character the separates
+responsive and state prefixes from the
+main class name.
+The default (":") needs to be preceded
+by two backslashes to be properly
+escaped.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Layout grid
+----------------------------------------
+Should the layout grid classes output
+with !important
+----------------------------------------
+*/
+/*
+----------------------------------------
+Border box sizing
+----------------------------------------
+When set to true, sets the box-sizing
+property of all site elements to
+`border-box`.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Focus styles
+----------------------------------------
+*/
+/*
+----------------------------------------
+Icons
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+TYPOGRAPHY SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS typography tokens in the documentation:
+https://designsystem.digital.gov/design-tokens/typesetting/overview/
+----------------------------------------
+*/
+/*
+----------------------------------------
+Root font size
+----------------------------------------
+Setting $theme-respect-user-font-size to
+true sets the root font size to 100% and
+uses ems for media queries
+----------------------------------------
+$theme-root-font-size only applies when
+$theme-respect-user-font-size is set to
+false.
+
+This will set the root font size
+as a specific px value and use px values
+for media queries.
+
+Accepts true or false
+----------------------------------------
+*/
+/*
+----------------------------------------
+Global styles
+----------------------------------------
+Adds basic styling for the following
+unclassed elements:
+
+- paragraph: paragraph text
+- link: links
+- content: paragraph text, links,
+ headings, lists, and tables
+----------------------------------------
+*/
+/*
+----------------------------------------
+Broswer compatibility mode
+----------------------------------------
+When true, outputs woff and ttf font
+formats in addition to woff2
+----------------------------------------
+*/
+/*
+----------------------------------------
+Font path
+----------------------------------------
+Relative font file path
+----------------------------------------
+*/
+/*
+----------------------------------------
+Custom typeface tokens
+----------------------------------------
+Add a new custom typeface token if
+your project uses a typeface not already
+defined by USWDS.
+----------------------------------------
+USWDS defines the following tokens
+by default:
+----------------------------------------
+'georgia'
+'helvetica'
+'merriweather'
+'open-sans'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+'system'
+'tahoma'
+'verdana'
+----------------------------------------
+Add as many new tokens as you have
+custom typefaces. Reference your new
+token(s) in the type-based font settings
+using the quoted name of the token.
+
+For example:
+
+$theme-font-type-cond: 'example-font-token';
+
+display-name:
+The display name of your font
+
+cap-height:
+The height of a 500px `N` in Sketch
+----------------------------------------
+You should change `example-[style]-token`
+names to something more descriptive.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Type-based font settings
+----------------------------------------
+Set the type-based tokens for your
+project from the following tokens,
+or from any new font tokens you added in
+$theme-typeface-tokens.
+----------------------------------------
+'georgia'
+'helvetica'
+'merriweather'
+'open-sans'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+'system'
+'tahoma'
+'verdana'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Custom font stacks
+----------------------------------------
+Add custom font stacks to any of the
+type-based fonts. Any USWDS typeface
+token already has a default stack.
+
+Custom stacks don't need to include the
+font's display name. It will
+automatically appear at the start of
+the stack.
+----------------------------------------
+Example:
+$theme-font-type-sans: 'source-sans-pro';
+$theme-font-sans-custom-stack: "Helvetica Neue", Helvetica, Arial, sans;
+
+Output:
+font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans;
+----------------------------------------
+*/
+/*
+----------------------------------------
+Add any custom font source files
+----------------------------------------
+If you want USWDS to generate additional
+@font-face declarations, add your font
+data below, following the example that
+follows.
+----------------------------------------
+USWDS automatically generates @font-face
+declarations for the following
+
+'merriweather'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+
+These typefaces not require custom
+source files.
+----------------------------------------
+EXAMPLE
+
+- dir:
+ Directory relative to $theme-font-path
+- This directory should include fonts saved as
+ .woff2
+ ExampleSerif-Normal.woff2
+
+$theme-font-serif-custom-src: (
+ dir: 'custom/example-serif',
+ roman: (
+ 100: false,
+ 200: false,
+ 300: 'ExampleSerif-Light',
+ 400: 'ExampleSerif-Normal',
+ 500: false,
+ 600: false,
+ 700: 'ExampleSerif-Bold',
+ 800: false,
+ 900: false,
+ ),
+ italic: (
+ 100: false,
+ 200: false,
+ 300: 'ExampleSerif-LightItalic',
+ 400: 'ExampleSerif-Italic',
+ 500: false,
+ 600: false,
+ 700: 'ExampleSerif-BoldItalic',
+ 800: false,
+ 900: false,
+ ),
+);
+----------------------------------------
+*/
+/*
+----------------------------------------
+Role-based font settings
+----------------------------------------
+Set the role-based tokens for your
+project from the following font-type
+tokens.
+----------------------------------------
+'cond'
+'icon'
+'lang'
+'mono'
+'sans'
+'serif'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Type scale
+----------------------------------------
+Define your project's type scale using
+values from the USWDS system type scale
+
+1-20
+----------------------------------------
+*/
+/*
+----------------------------------------
+Font weights
+----------------------------------------
+Assign weights 100-900
+Or use `false` for unneeded weights.
+----------------------------------------
+*/
+/*
+----------------------------------------
+General typography settings
+----------------------------------------
+Type scale tokens
+----------------------------------------
+micro: 10px
+1: 12px
+2: 13px
+3: 14px
+4: 15px
+5: 16px
+6: 17px
+7: 18px
+8: 20px
+9: 22px
+10: 24px
+11: 28px
+12: 32px
+13: 36px
+14: 40px
+15: 48px
+16: 56px
+17: 64px
+18: 80px
+19: 120px
+20: 140px
+----------------------------------------
+Line height tokens
+----------------------------------------
+1: 1
+2: 1.15
+3: 1.35
+4: 1.5
+5: 1.62
+6: 1.75
+----------------------------------------
+Font role tokens
+----------------------------------------
+'ui'
+'heading'
+'body'
+'code'
+'alt'
+----------------------------------------
+Measure (max-width) tokens
+----------------------------------------
+1: 44ex
+2: 60ex
+3: 64ex
+4: 68ex
+5: 74ex
+6: 88ex
+none: none
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+COLOR SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS color tokens in the documentation:
+https://designsystem.digital.gov/design-tokens/color
+----------------------------------------
+*/
+/*
+----------------------------------------
+Theme palette colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+State palette colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+General colors
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+COMPONENT SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS style tokens in the documentation:
+https://designsystem.digital.gov/design-tokens
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+SPACING SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS spacing units tokens in the
+documentation:
+https://designsystem.digital.gov/design-tokens/spacing-units
+----------------------------------------
+*/
+/*
+----------------------------------------
+Border radius
+----------------------------------------
+2px 2px
+0.5 4px
+1 8px
+1.5 12px
+2 16px
+2.5 20px
+3 24px
+4 32px
+5 40px
+6 48px
+7 56px
+8 64px
+9 72px
+----------------------------------------
+*/
+/*
+----------------------------------------
+Column gap
+----------------------------------------
+2px 2px
+0.5 4px
+1 8px
+2 16px
+3 24px
+4 32px
+5 40px
+6 48px
+----------------------------------------
+*/
+/*
+----------------------------------------
+Grid container max-width
+----------------------------------------
+mobile
+mobile-lg
+tablet
+tablet-lg
+desktop
+desktop-lg
+widescreen
+----------------------------------------
+*/
+/*
+----------------------------------------
+Site
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+UTILITIES SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS utilities in the documentation:
+https://designsystem.digital.gov/utilities
+----------------------------------------
+*/
+/*
+----------------------------------------
+Utility breakpoints
+----------------------------------------
+Which breakpoints does your project
+need? Select as `true` any breakpoint
+used by utilities or layout grid
+----------------------------------------
+*/
+/*
+----------------------------------------
+Global colors
+----------------------------------------
+The following palettes will be added to
+- background-color
+- border-color
+- color
+- text-decoration-color
+----------------------------------------
+*/
+/*
+----------------------------------------
+Settings
+----------------------------------------
+*/
+/*
+----------------------------------------
+Values
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+append-important()
+----------------------------------------
+Append `!important` to a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-last()
+----------------------------------------
+Return the last item of a list,
+Return null if the value is null
+----------------------------------------
+*/
+/*
+----------------------------------------
+de-list()
+----------------------------------------
+Transform a one-element list or arglist
+into that single element.
+----------------------------------------
+(1) => 1
+((1)) => (1)
+----------------------------------------
+*/
+/*
+----------------------------------------
+error-not-token()
+----------------------------------------
+Returns a common not-a-token error.
+----------------------------------------
+*/
+/*
+----------------------------------------
+uswds-error()
+----------------------------------------
+Allow the system to pass an error as text
+to test error states in unit testing
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-default()
+----------------------------------------
+Returns the default value from a map
+of project defaults
+get-default("bg-color")
+> $theme-body-background-color
+----------------------------------------
+*/
+/*
+----------------------------------------
+has-important()
+----------------------------------------
+Check to see if `!important` is
+being passed in a mixin's props
+----------------------------------------
+*/
+/*
+----------------------------------------
+map-collect()
+----------------------------------------
+Collect multiple maps into a single
+large map
+source: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe
+----------------------------------------
+*/
+/*
+----------------------------------------
+map-deep-get()
+----------------------------------------
+@author Hugo Giraudel
+@access public
+@param {Map} $map - Map
+@param {Arglist} $keys - Key chain
+@return {*} - Desired value
+----------------------------------------
+*/
+/*
+----------------------------------------
+multi-cat()
+----------------------------------------
+Concatenate two lists
+----------------------------------------
+*/
+/*
+----------------------------------------
+remove()
+----------------------------------------
+Remove a value from a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+smart-quote()
+----------------------------------------
+Quotes strings
+Inspects `px`, `xs`, and `xl` numbers
+Leaves bools as is
+----------------------------------------
+*/
+/*
+----------------------------------------
+str-replace()
+----------------------------------------
+Replace any substring with another
+string
+----------------------------------------
+*/
+/*
+----------------------------------------
+str-split()
+----------------------------------------
+Split a string at a given separator
+and convert into a list of substrings
+----------------------------------------
+*/
+/*
+----------------------------------------
+strip-unit()
+----------------------------------------
+Remove the unit of a length
+@author Hugo Giraudel
+@param {Number} $number - Number to remove unit from
+@return {Number} - Unitless number
+----------------------------------------
+*/
+/*
+----------------------------------------
+base-to-map()
+@TODO: Deprecate and delete
+----------------------------------------
+Convert a single base to a USWDS
+value map.
+
+Candidate for deprecation if we remove
+isReadable
+----------------------------------------
+*/
+/*
+----------------------------------------
+to-number()
+----------------------------------------
+Casts a string into a number
+----------------------------------------
+@param {String | Number} $value - Value to be parsed
+@return {Number}
+----------------------------------------
+*/
+/*
+----------------------------------------
+unpack()
+----------------------------------------
+Create lists of single items from lists
+of lists.
+----------------------------------------
+(1, (2.1, 2.2), 3) -->
+(1, 2.1, 2.2, 3)
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+set-theme-color()
+----------------------------------------
+Derive a color from a system color token
+or a hex value
+----------------------------------------
+*/
+/*
+----------------------------------------
+px-to-rem()
+----------------------------------------
+Converts a value in px to a value in rem
+----------------------------------------
+*/
+/*
+----------------------------------------
+rem-to-px()
+----------------------------------------
+Converts a value in rem to a value in px
+----------------------------------------
+*/
+/*
+----------------------------------------
+rem-to-user-em()
+----------------------------------------
+Converts a value in rem to a value in
+[user-settings] em for use in media
+queries
+----------------------------------------
+*/
+/*
+----------------------------------------
+spacing-multiple()
+----------------------------------------
+Converts a spacing unit multiple into
+the desired final units (currently rem)
+----------------------------------------
+*/
+/*
+----------------------------------------
+units()
+----------------------------------------
+Converts a spacing unit into
+the desired final units (currently rem)
+----------------------------------------
+*/
+/*
+----------------------------------------
+number-to-token()
+----------------------------------------
+Converts an integer or numeric value
+into a system value
+
+Ex: 0.5 --> '05'
+ -1px --> 'neg-1px'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Project fonts
+----------------------------------------
+Collects font settings in a map for
+looping.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Luminance ranges
+----------------------------------------
+*/
+/*
+----------------------------------------
+ns()
+----------------------------------------
+Add a namesspace of $type if that
+namespace is set to output
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-system-color()
+----------------------------------------
+Derive a system color from its
+family, value, and vivid or a passed
+variable that is, itself, a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+Line height
+----------------------------------------
+*/
+/*
+----------------------------------------
+Measure
+----------------------------------------
+*/
+/*
+----------------------------------------
+cap-height()
+----------------------------------------
+Get the cap height of a valid typeface
+----------------------------------------
+*/
+/*
+----------------------------------------
+validate-typeface-token()
+----------------------------------------
+Check to see if a typeface-token exists.
+Throw an error if a passed token does
+not exist in the typeface-token map.
+----------------------------------------
+*/
+/*
+----------------------------------------
+convert-to-font-type()
+----------------------------------------
+Converts a font-role token into a
+font-type token. Leaves font-type tokens
+unchanged.
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-sources()
+----------------------------------------
+Outputs a list of font sources used in
+a @font-face declaration.
+
+$theme-font-browser-compatibility: true - output woff2, woff, ttf
+$theme-font-browser-compatibility: false - output woff2
+
+@param stem: string - [font path]/[custom-src.dir]/[custom-src.[style].[weight]]
+@output: string
+
+filetypes must be one of the filetypes set in variables/$project-font-face-filetypes (woff, woff2, ttf)
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-font-stack()
+----------------------------------------
+Get a font stack from a style- or
+role-based font token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-typeface-token()
+----------------------------------------
+Get a typeface token from a font-type or
+font-role token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+normalize-type-scale()
+----------------------------------------
+Normalizes a specific face's optical size
+to a set target
+----------------------------------------
+*/
+/*
+----------------------------------------
+system-type-scale()
+----------------------------------------
+Get a value from the system type scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+Easing
+----------------------------------------
+*/
+/* deprecated.scss
+ ---
+ Occasionally the design system will deprecate
+ old variables or functionality. If we replace
+ the old functionality with something new, this is a
+ place to connect the old functionality to the
+ new functionality, in the service of better
+ continuity and backwards compatibility within a
+ major release cycle.
+
+ Note the USWDS version where we deprecated the
+ old functionality in a comment.
+
+ Be sure to update notifications.scss.
+
+ This file should started fresh at each
+ major version.
+*/
+/*
+----------------------------------------
+advanced-color()
+----------------------------------------
+Derive a color from a color triplet:
+[family], [grade], [variant]
+----------------------------------------
+*/
+/*
+----------------------------------------
+calculate-grade()
+----------------------------------------
+Derive the grade equivalent any color,
+even non-token colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-assignment()
+----------------------------------------
+Get the system token equivalent of any
+theme color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-system-color-token()
+----------------------------------------
+Return whether a token is a system
+color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-theme-color-token()
+----------------------------------------
+Return whether a token is a theme
+color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+decompose()
+----------------------------------------
+Convert a color token into into a list
+of form [family], [grade], [variant]
+Vivid variants return "vivid" as the
+variant.
+If neither grade nor variant exists,
+returns 'null'
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-grade()
+----------------------------------------
+Returns the grade of a USWDS color token.
+Returns: color-grade
+color-token-grade("accent-warm")
+> "root"
+color-token-grade("accent-warm-vivid")
+> "root"
+color-token-grade("accent-warm-darker")
+> "darker"
+color-token-grade("red-50v")
+> 50
+color-token-variant(("red", 50, "vivid"))
+> 50
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-color-token()
+----------------------------------------
+Returns whether a given string is a
+USWDS color token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+pow()
+----------------------------------------
+Raises a unitless number to the power
+of another unitless number
+Includes helper functions
+----------------------------------------
+*/
+/*
+----------------------------------------
+Helper functions
+----------------------------------------
+*/
+/* factorial()
+----------------------------------------
+*/
+/* summation()
+----------------------------------------
+*/
+/* exp-maclaurin()
+----------------------------------------
+*/
+/* ln()
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-type()
+----------------------------------------
+Returns the type of a color token.
+Returns: "system" | "theme"
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-variant()
+----------------------------------------
+Returns the variant of color token.
+Returns: "vivid" | false
+color-token-variant("accent-warm")
+> false
+color-token-variant("accent-warm-vivid")
+> "vivid"
+color-token-variant("red-50v")
+> "vivid"
+color-token-variant(("red", 50, "vivid"))
+> "vivid"
+----------------------------------------
+*/
+/*
+----------------------------------------
+magic-number()
+----------------------------------------
+Returns the magic number of two color
+grades. Takes numbers or color tokens.
+magic-number(50, 10)
+return: 40
+magic-number("red-50", "red-10")
+return: 40
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-accessible-magic-number()
+----------------------------------------
+Returns whether two grades achieve
+specified target color contrast
+Returns: true | false
+is-accessible-magic-number(10, 50, "AA")
+> false
+is-accessible-magic-number(10, 60, "AA")
+> true
+----------------------------------------
+*/
+/*
+----------------------------------------
+wcag-magic-number()
+----------------------------------------
+Returns the magic number of a specific
+wcag grade:
+"AA"
+"AA-Large"
+"AAA"
+wcag-magic-number("AA")
+> 50
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-link-tokens-from-bg()
+----------------------------------------
+Get accessible link colors for a given
+background color
+returns: link-token, hover-token
+get-link-tokens-from-bg(
+ "black",
+ "red-60",
+ "red-10",
+ "AA")
+> "red-10", "red-5"
+get-link-tokens-from-bg(
+ "black",
+ "red-60v",
+ "red-10v",
+ "AA-large")
+> "red-60v", "red-50v"
+get-link-tokens-from-bg(
+ "black",
+ "red-5v",
+ "red-60v",
+ "AA")
+> "red-5v", "white"
+get-link-tokens-from-bg(
+ "black",
+ "white",
+ "red-60v",
+ "AA")
+> "white", "white"
+----------------------------------------
+*/
+/*
+----------------------------------------
+next-token()
+----------------------------------------
+Returns next "darker" or "lighter" color
+token of the same token type and variant.
+Returns: color-token | false
+next-token("accent-warm", "lighter")
+> "accent-warm-light"
+next-token("gray-10", "lighter")
+> "gray-5"
+next-token("gray-5", "lighter")
+> "white"
+next-token("white", "lighter")
+> false
+next-token("red-50v", "darker")
+> "red-60v"
+next-token("red-50", "darker")
+> "red-60"
+next-token("red-80v", "darker")
+> "red-90"
+next-token("red-90", "darker")
+> "black"
+next-token("white", "darker")
+> "gray-5"
+next-token("black", "lighter")
+> "gray-90"
+----------------------------------------
+*/
+/*
+----------------------------------------
+test-colors()
+----------------------------------------
+Check to see if all system colors
+fall between the proper relative
+luminance range for their grade.
+Has a couple quirks, as the luminance()
+function returns slightly different
+results than expected.
+----------------------------------------
+*/
+/*
+----------------------------------------
+columns()
+----------------------------------------
+outputs a grid-col number based on
+the number of desired columns in the
+12-column grid
+
+Ex: columns(2) --> 6
+ grid-col(columns(2))
+----------------------------------------
+*/
+/*
+----------------------------------------
+USWDS Properties
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-uswds-value()
+----------------------------------------
+Finds and outputs a value from the
+USWDS standard values.
+
+Used to build other standard utility
+functions and mixins.
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-standard-values()
+----------------------------------------
+Gets a map of USWDS standard values
+for a property
+----------------------------------------
+*/
+/*
+----------------------------------------
+border-radius()
+----------------------------------------
+Get a border-radius from the system
+border-radii
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-weight()
+fw()
+----------------------------------------
+Get a font-weight value from the
+system font-weight
+----------------------------------------
+*/
+/*
+----------------------------------------
+feature()
+----------------------------------------
+Gets a valid USWDS font feature setting
+----------------------------------------
+*/
+/*
+----------------------------------------
+flex()
+----------------------------------------
+Gets a valid USWDS flex value
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-family()
+family()
+----------------------------------------
+Get a font-family stack from a
+role-based or type-based font family
+----------------------------------------
+*/
+/*
+----------------------------------------
+letter-spacing()
+ls()
+----------------------------------------
+Get a letter-spacing value from the
+system letter-spacing
+----------------------------------------
+*/
+/*
+----------------------------------------
+measure()
+----------------------------------------
+Gets a valid USWDS reading line length
+----------------------------------------
+*/
+/*
+----------------------------------------
+opacity()
+----------------------------------------
+Get an opacity from the system
+opacities
+----------------------------------------
+*/
+/*
+----------------------------------------
+order()
+----------------------------------------
+Get an order value from the
+system orders
+----------------------------------------
+*/
+/*
+----------------------------------------
+radius()
+----------------------------------------
+Get a border-radius value from the
+system letter-spacing
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-size()
+----------------------------------------
+Get type scale value from a [family] and
+[scale]
+----------------------------------------
+*/
+/*
+----------------------------------------
+z-index()
+z()
+----------------------------------------
+Get a z-index value from the
+system z-index
+----------------------------------------
+*/
+/*
+----------------------------------------
+utility-font()
+----------------------------------------
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+Not the public-facing function.
+Used for building the utilities and
+withholds certain errors.
+----------------------------------------
+*/
+/*
+----------------------------------------
+family()
+----------------------------------------
+Get a font-family stack
+----------------------------------------
+*/
+/*
+----------------------------------------
+size()
+----------------------------------------
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+font()
+----------------------------------------
+Get a font-family stack
+AND
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+typeset()
+----------------------------------------
+Sets:
+- family
+- size
+- line-height
+----------------------------------------
+*/
+/* stylelint-disable max-nesting-depth */
+/*
+----------------------------------------
+@render-pseudoclass
+----------------------------------------
+Build a pseucoclass utiliy from values
+calculated in the @render-utilities-in
+loop
+----------------------------------------
+*/
+/*
+----------------------------------------
+@render-utility
+----------------------------------------
+Build a utility from values calculated
+in the @render-utilities-in loop
+----------------------------------------
+TODO: Determine the proper use of
+unquote() in the following. Changed to
+account for a 'interpolation near
+operators will be simplified in a
+future version of Sass' warning.
+----------------------------------------
+*/
+/*
+----------------------------------------
+@render-utilities-in
+----------------------------------------
+The master loop that sets the building
+blocks of utilities from the values
+in individual rule settings and loops
+through all possible variants
+----------------------------------------
+*/
+/* stylelint-enable */
+/* notifications.scss
+ ---
+ Adds a notification at the top of each USWDS
+ compile. Use this file for important notifications
+ and updates to the design system.
+
+ This file should started fresh at each
+ major version.
+
+*/
+/* prettier-ignore */
+/* prettier-ignore */
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+GENERAL SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS style tokens in the documentation:
+https://designsystem.digital.gov/design-tokens
+----------------------------------------
+*/
+/*
+----------------------------------------
+Image path
+----------------------------------------
+Relative image file path
+----------------------------------------
+*/
+/*
+----------------------------------------
+Show compile warnings
+----------------------------------------
+Show Sass warnings when functions and
+mixins use non-standard tokens.
+AND
+Show updates and notifications.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Namespace
+----------------------------------------
+*/
+/*
+----------------------------------------
+Prefix separator
+----------------------------------------
+Set the character the separates
+responsive and state prefixes from the
+main class name.
+The default (":") needs to be preceded
+by two backslashes to be properly
+escaped.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Layout grid
+----------------------------------------
+Should the layout grid classes output
+with !important
+----------------------------------------
+*/
+/*
+----------------------------------------
+Border box sizing
+----------------------------------------
+When set to true, sets the box-sizing
+property of all site elements to
+`border-box`.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Focus styles
+----------------------------------------
+*/
+/*
+----------------------------------------
+Icons
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+TYPOGRAPHY SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS typography tokens in the documentation:
+https://designsystem.digital.gov/design-tokens/typesetting/overview/
+----------------------------------------
+*/
+/*
+----------------------------------------
+Root font size
+----------------------------------------
+Setting $theme-respect-user-font-size to
+true sets the root font size to 100% and
+uses ems for media queries
+----------------------------------------
+$theme-root-font-size only applies when
+$theme-respect-user-font-size is set to
+false.
+
+This will set the root font size
+as a specific px value and use px values
+for media queries.
+
+Accepts true or false
+----------------------------------------
+*/
+/*
+----------------------------------------
+Global styles
+----------------------------------------
+Adds basic styling for the following
+unclassed elements:
+
+- paragraph: paragraph text
+- link: links
+- content: paragraph text, links,
+ headings, lists, and tables
+----------------------------------------
+*/
+/*
+----------------------------------------
+Broswer compatibility mode
+----------------------------------------
+When true, outputs woff and ttf font
+formats in addition to woff2
+----------------------------------------
+*/
+/*
+----------------------------------------
+Font path
+----------------------------------------
+Relative font file path
+----------------------------------------
+*/
+/*
+----------------------------------------
+Custom typeface tokens
+----------------------------------------
+Add a new custom typeface token if
+your project uses a typeface not already
+defined by USWDS.
+----------------------------------------
+USWDS defines the following tokens
+by default:
+----------------------------------------
+'georgia'
+'helvetica'
+'merriweather'
+'open-sans'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+'system'
+'tahoma'
+'verdana'
+----------------------------------------
+Add as many new tokens as you have
+custom typefaces. Reference your new
+token(s) in the type-based font settings
+using the quoted name of the token.
+
+For example:
+
+$theme-font-type-cond: 'example-font-token';
+
+display-name:
+The display name of your font
+
+cap-height:
+The height of a 500px `N` in Sketch
+----------------------------------------
+You should change `example-[style]-token`
+names to something more descriptive.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Type-based font settings
+----------------------------------------
+Set the type-based tokens for your
+project from the following tokens,
+or from any new font tokens you added in
+$theme-typeface-tokens.
+----------------------------------------
+'georgia'
+'helvetica'
+'merriweather'
+'open-sans'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+'system'
+'tahoma'
+'verdana'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Custom font stacks
+----------------------------------------
+Add custom font stacks to any of the
+type-based fonts. Any USWDS typeface
+token already has a default stack.
+
+Custom stacks don't need to include the
+font's display name. It will
+automatically appear at the start of
+the stack.
+----------------------------------------
+Example:
+$theme-font-type-sans: 'source-sans-pro';
+$theme-font-sans-custom-stack: "Helvetica Neue", Helvetica, Arial, sans;
+
+Output:
+font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans;
+----------------------------------------
+*/
+/*
+----------------------------------------
+Add any custom font source files
+----------------------------------------
+If you want USWDS to generate additional
+@font-face declarations, add your font
+data below, following the example that
+follows.
+----------------------------------------
+USWDS automatically generates @font-face
+declarations for the following
+
+'merriweather'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+
+These typefaces not require custom
+source files.
+----------------------------------------
+EXAMPLE
+
+- dir:
+ Directory relative to $theme-font-path
+- This directory should include fonts saved as
+ .woff2
+ ExampleSerif-Normal.woff2
+
+$theme-font-serif-custom-src: (
+ dir: 'custom/example-serif',
+ roman: (
+ 100: false,
+ 200: false,
+ 300: 'ExampleSerif-Light',
+ 400: 'ExampleSerif-Normal',
+ 500: false,
+ 600: false,
+ 700: 'ExampleSerif-Bold',
+ 800: false,
+ 900: false,
+ ),
+ italic: (
+ 100: false,
+ 200: false,
+ 300: 'ExampleSerif-LightItalic',
+ 400: 'ExampleSerif-Italic',
+ 500: false,
+ 600: false,
+ 700: 'ExampleSerif-BoldItalic',
+ 800: false,
+ 900: false,
+ ),
+);
+----------------------------------------
+*/
+/*
+----------------------------------------
+Role-based font settings
+----------------------------------------
+Set the role-based tokens for your
+project from the following font-type
+tokens.
+----------------------------------------
+'cond'
+'icon'
+'lang'
+'mono'
+'sans'
+'serif'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Type scale
+----------------------------------------
+Define your project's type scale using
+values from the USWDS system type scale
+
+1-20
+----------------------------------------
+*/
+/*
+----------------------------------------
+Font weights
+----------------------------------------
+Assign weights 100-900
+Or use `false` for unneeded weights.
+----------------------------------------
+*/
+/*
+----------------------------------------
+General typography settings
+----------------------------------------
+Type scale tokens
+----------------------------------------
+micro: 10px
+1: 12px
+2: 13px
+3: 14px
+4: 15px
+5: 16px
+6: 17px
+7: 18px
+8: 20px
+9: 22px
+10: 24px
+11: 28px
+12: 32px
+13: 36px
+14: 40px
+15: 48px
+16: 56px
+17: 64px
+18: 80px
+19: 120px
+20: 140px
+----------------------------------------
+Line height tokens
+----------------------------------------
+1: 1
+2: 1.15
+3: 1.35
+4: 1.5
+5: 1.62
+6: 1.75
+----------------------------------------
+Font role tokens
+----------------------------------------
+'ui'
+'heading'
+'body'
+'code'
+'alt'
+----------------------------------------
+Measure (max-width) tokens
+----------------------------------------
+1: 44ex
+2: 60ex
+3: 64ex
+4: 68ex
+5: 74ex
+6: 88ex
+none: none
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+COLOR SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS color tokens in the documentation:
+https://designsystem.digital.gov/design-tokens/color
+----------------------------------------
+*/
+/*
+----------------------------------------
+Theme palette colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+State palette colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+General colors
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+COMPONENT SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS style tokens in the documentation:
+https://designsystem.digital.gov/design-tokens
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+SPACING SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS spacing units tokens in the
+documentation:
+https://designsystem.digital.gov/design-tokens/spacing-units
+----------------------------------------
+*/
+/*
+----------------------------------------
+Border radius
+----------------------------------------
+2px 2px
+0.5 4px
+1 8px
+1.5 12px
+2 16px
+2.5 20px
+3 24px
+4 32px
+5 40px
+6 48px
+7 56px
+8 64px
+9 72px
+----------------------------------------
+*/
+/*
+----------------------------------------
+Column gap
+----------------------------------------
+2px 2px
+0.5 4px
+1 8px
+2 16px
+3 24px
+4 32px
+5 40px
+6 48px
+----------------------------------------
+*/
+/*
+----------------------------------------
+Grid container max-width
+----------------------------------------
+mobile
+mobile-lg
+tablet
+tablet-lg
+desktop
+desktop-lg
+widescreen
+----------------------------------------
+*/
+/*
+----------------------------------------
+Site
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+UTILITIES SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS utilities in the documentation:
+https://designsystem.digital.gov/utilities
+----------------------------------------
+*/
+/*
+----------------------------------------
+Utility breakpoints
+----------------------------------------
+Which breakpoints does your project
+need? Select as `true` any breakpoint
+used by utilities or layout grid
+----------------------------------------
+*/
+/*
+----------------------------------------
+Global colors
+----------------------------------------
+The following palettes will be added to
+- background-color
+- border-color
+- color
+- text-decoration-color
+----------------------------------------
+*/
+/*
+----------------------------------------
+Settings
+----------------------------------------
+*/
+/*
+----------------------------------------
+Values
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+append-important()
+----------------------------------------
+Append `!important` to a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-last()
+----------------------------------------
+Return the last item of a list,
+Return null if the value is null
+----------------------------------------
+*/
+/*
+----------------------------------------
+de-list()
+----------------------------------------
+Transform a one-element list or arglist
+into that single element.
+----------------------------------------
+(1) => 1
+((1)) => (1)
+----------------------------------------
+*/
+/*
+----------------------------------------
+error-not-token()
+----------------------------------------
+Returns a common not-a-token error.
+----------------------------------------
+*/
+/*
+----------------------------------------
+uswds-error()
+----------------------------------------
+Allow the system to pass an error as text
+to test error states in unit testing
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-default()
+----------------------------------------
+Returns the default value from a map
+of project defaults
+get-default("bg-color")
+> $theme-body-background-color
+----------------------------------------
+*/
+/*
+----------------------------------------
+has-important()
+----------------------------------------
+Check to see if `!important` is
+being passed in a mixin's props
+----------------------------------------
+*/
+/*
+----------------------------------------
+map-collect()
+----------------------------------------
+Collect multiple maps into a single
+large map
+source: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe
+----------------------------------------
+*/
+/*
+----------------------------------------
+map-deep-get()
+----------------------------------------
+@author Hugo Giraudel
+@access public
+@param {Map} $map - Map
+@param {Arglist} $keys - Key chain
+@return {*} - Desired value
+----------------------------------------
+*/
+/*
+----------------------------------------
+multi-cat()
+----------------------------------------
+Concatenate two lists
+----------------------------------------
+*/
+/*
+----------------------------------------
+remove()
+----------------------------------------
+Remove a value from a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+smart-quote()
+----------------------------------------
+Quotes strings
+Inspects `px`, `xs`, and `xl` numbers
+Leaves bools as is
+----------------------------------------
+*/
+/*
+----------------------------------------
+str-replace()
+----------------------------------------
+Replace any substring with another
+string
+----------------------------------------
+*/
+/*
+----------------------------------------
+str-split()
+----------------------------------------
+Split a string at a given separator
+and convert into a list of substrings
+----------------------------------------
+*/
+/*
+----------------------------------------
+strip-unit()
+----------------------------------------
+Remove the unit of a length
+@author Hugo Giraudel
+@param {Number} $number - Number to remove unit from
+@return {Number} - Unitless number
+----------------------------------------
+*/
+/*
+----------------------------------------
+base-to-map()
+@TODO: Deprecate and delete
+----------------------------------------
+Convert a single base to a USWDS
+value map.
+
+Candidate for deprecation if we remove
+isReadable
+----------------------------------------
+*/
+/*
+----------------------------------------
+to-number()
+----------------------------------------
+Casts a string into a number
+----------------------------------------
+@param {String | Number} $value - Value to be parsed
+@return {Number}
+----------------------------------------
+*/
+/*
+----------------------------------------
+unpack()
+----------------------------------------
+Create lists of single items from lists
+of lists.
+----------------------------------------
+(1, (2.1, 2.2), 3) -->
+(1, 2.1, 2.2, 3)
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+set-theme-color()
+----------------------------------------
+Derive a color from a system color token
+or a hex value
+----------------------------------------
+*/
+/*
+----------------------------------------
+px-to-rem()
+----------------------------------------
+Converts a value in px to a value in rem
+----------------------------------------
+*/
+/*
+----------------------------------------
+rem-to-px()
+----------------------------------------
+Converts a value in rem to a value in px
+----------------------------------------
+*/
+/*
+----------------------------------------
+rem-to-user-em()
+----------------------------------------
+Converts a value in rem to a value in
+[user-settings] em for use in media
+queries
+----------------------------------------
+*/
+/*
+----------------------------------------
+spacing-multiple()
+----------------------------------------
+Converts a spacing unit multiple into
+the desired final units (currently rem)
+----------------------------------------
+*/
+/*
+----------------------------------------
+units()
+----------------------------------------
+Converts a spacing unit into
+the desired final units (currently rem)
+----------------------------------------
+*/
+/*
+----------------------------------------
+number-to-token()
+----------------------------------------
+Converts an integer or numeric value
+into a system value
+
+Ex: 0.5 --> '05'
+ -1px --> 'neg-1px'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Project fonts
+----------------------------------------
+Collects font settings in a map for
+looping.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Luminance ranges
+----------------------------------------
+*/
+/*
+----------------------------------------
+ns()
+----------------------------------------
+Add a namesspace of $type if that
+namespace is set to output
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-system-color()
+----------------------------------------
+Derive a system color from its
+family, value, and vivid or a passed
+variable that is, itself, a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+Line height
+----------------------------------------
+*/
+/*
+----------------------------------------
+Measure
+----------------------------------------
+*/
+/*
+----------------------------------------
+cap-height()
+----------------------------------------
+Get the cap height of a valid typeface
+----------------------------------------
+*/
+/*
+----------------------------------------
+validate-typeface-token()
+----------------------------------------
+Check to see if a typeface-token exists.
+Throw an error if a passed token does
+not exist in the typeface-token map.
+----------------------------------------
+*/
+/*
+----------------------------------------
+convert-to-font-type()
+----------------------------------------
+Converts a font-role token into a
+font-type token. Leaves font-type tokens
+unchanged.
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-sources()
+----------------------------------------
+Outputs a list of font sources used in
+a @font-face declaration.
+
+$theme-font-browser-compatibility: true - output woff2, woff, ttf
+$theme-font-browser-compatibility: false - output woff2
+
+@param stem: string - [font path]/[custom-src.dir]/[custom-src.[style].[weight]]
+@output: string
+
+filetypes must be one of the filetypes set in variables/$project-font-face-filetypes (woff, woff2, ttf)
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-font-stack()
+----------------------------------------
+Get a font stack from a style- or
+role-based font token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-typeface-token()
+----------------------------------------
+Get a typeface token from a font-type or
+font-role token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+normalize-type-scale()
+----------------------------------------
+Normalizes a specific face's optical size
+to a set target
+----------------------------------------
+*/
+/*
+----------------------------------------
+system-type-scale()
+----------------------------------------
+Get a value from the system type scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+Easing
+----------------------------------------
+*/
+/* deprecated.scss
+ ---
+ Occasionally the design system will deprecate
+ old variables or functionality. If we replace
+ the old functionality with something new, this is a
+ place to connect the old functionality to the
+ new functionality, in the service of better
+ continuity and backwards compatibility within a
+ major release cycle.
+
+ Note the USWDS version where we deprecated the
+ old functionality in a comment.
+
+ Be sure to update notifications.scss.
+
+ This file should started fresh at each
+ major version.
+*/
+/*
+----------------------------------------
+advanced-color()
+----------------------------------------
+Derive a color from a color triplet:
+[family], [grade], [variant]
+----------------------------------------
+*/
+/*
+----------------------------------------
+calculate-grade()
+----------------------------------------
+Derive the grade equivalent any color,
+even non-token colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-assignment()
+----------------------------------------
+Get the system token equivalent of any
+theme color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-system-color-token()
+----------------------------------------
+Return whether a token is a system
+color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-theme-color-token()
+----------------------------------------
+Return whether a token is a theme
+color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+decompose()
+----------------------------------------
+Convert a color token into into a list
+of form [family], [grade], [variant]
+Vivid variants return "vivid" as the
+variant.
+If neither grade nor variant exists,
+returns 'null'
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-grade()
+----------------------------------------
+Returns the grade of a USWDS color token.
+Returns: color-grade
+color-token-grade("accent-warm")
+> "root"
+color-token-grade("accent-warm-vivid")
+> "root"
+color-token-grade("accent-warm-darker")
+> "darker"
+color-token-grade("red-50v")
+> 50
+color-token-variant(("red", 50, "vivid"))
+> 50
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-color-token()
+----------------------------------------
+Returns whether a given string is a
+USWDS color token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+pow()
+----------------------------------------
+Raises a unitless number to the power
+of another unitless number
+Includes helper functions
+----------------------------------------
+*/
+/*
+----------------------------------------
+Helper functions
+----------------------------------------
+*/
+/* factorial()
+----------------------------------------
+*/
+/* summation()
+----------------------------------------
+*/
+/* exp-maclaurin()
+----------------------------------------
+*/
+/* ln()
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-type()
+----------------------------------------
+Returns the type of a color token.
+Returns: "system" | "theme"
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-variant()
+----------------------------------------
+Returns the variant of color token.
+Returns: "vivid" | false
+color-token-variant("accent-warm")
+> false
+color-token-variant("accent-warm-vivid")
+> "vivid"
+color-token-variant("red-50v")
+> "vivid"
+color-token-variant(("red", 50, "vivid"))
+> "vivid"
+----------------------------------------
+*/
+/*
+----------------------------------------
+magic-number()
+----------------------------------------
+Returns the magic number of two color
+grades. Takes numbers or color tokens.
+magic-number(50, 10)
+return: 40
+magic-number("red-50", "red-10")
+return: 40
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-accessible-magic-number()
+----------------------------------------
+Returns whether two grades achieve
+specified target color contrast
+Returns: true | false
+is-accessible-magic-number(10, 50, "AA")
+> false
+is-accessible-magic-number(10, 60, "AA")
+> true
+----------------------------------------
+*/
+/*
+----------------------------------------
+wcag-magic-number()
+----------------------------------------
+Returns the magic number of a specific
+wcag grade:
+"AA"
+"AA-Large"
+"AAA"
+wcag-magic-number("AA")
+> 50
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-link-tokens-from-bg()
+----------------------------------------
+Get accessible link colors for a given
+background color
+returns: link-token, hover-token
+get-link-tokens-from-bg(
+ "black",
+ "red-60",
+ "red-10",
+ "AA")
+> "red-10", "red-5"
+get-link-tokens-from-bg(
+ "black",
+ "red-60v",
+ "red-10v",
+ "AA-large")
+> "red-60v", "red-50v"
+get-link-tokens-from-bg(
+ "black",
+ "red-5v",
+ "red-60v",
+ "AA")
+> "red-5v", "white"
+get-link-tokens-from-bg(
+ "black",
+ "white",
+ "red-60v",
+ "AA")
+> "white", "white"
+----------------------------------------
+*/
+/*
+----------------------------------------
+next-token()
+----------------------------------------
+Returns next "darker" or "lighter" color
+token of the same token type and variant.
+Returns: color-token | false
+next-token("accent-warm", "lighter")
+> "accent-warm-light"
+next-token("gray-10", "lighter")
+> "gray-5"
+next-token("gray-5", "lighter")
+> "white"
+next-token("white", "lighter")
+> false
+next-token("red-50v", "darker")
+> "red-60v"
+next-token("red-50", "darker")
+> "red-60"
+next-token("red-80v", "darker")
+> "red-90"
+next-token("red-90", "darker")
+> "black"
+next-token("white", "darker")
+> "gray-5"
+next-token("black", "lighter")
+> "gray-90"
+----------------------------------------
+*/
+/*
+----------------------------------------
+test-colors()
+----------------------------------------
+Check to see if all system colors
+fall between the proper relative
+luminance range for their grade.
+Has a couple quirks, as the luminance()
+function returns slightly different
+results than expected.
+----------------------------------------
+*/
+/*
+----------------------------------------
+columns()
+----------------------------------------
+outputs a grid-col number based on
+the number of desired columns in the
+12-column grid
+
+Ex: columns(2) --> 6
+ grid-col(columns(2))
+----------------------------------------
+*/
+/*
+----------------------------------------
+USWDS Properties
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-uswds-value()
+----------------------------------------
+Finds and outputs a value from the
+USWDS standard values.
+
+Used to build other standard utility
+functions and mixins.
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-standard-values()
+----------------------------------------
+Gets a map of USWDS standard values
+for a property
+----------------------------------------
+*/
+/*
+----------------------------------------
+border-radius()
+----------------------------------------
+Get a border-radius from the system
+border-radii
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-weight()
+fw()
+----------------------------------------
+Get a font-weight value from the
+system font-weight
+----------------------------------------
+*/
+/*
+----------------------------------------
+feature()
+----------------------------------------
+Gets a valid USWDS font feature setting
+----------------------------------------
+*/
+/*
+----------------------------------------
+flex()
+----------------------------------------
+Gets a valid USWDS flex value
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-family()
+family()
+----------------------------------------
+Get a font-family stack from a
+role-based or type-based font family
+----------------------------------------
+*/
+/*
+----------------------------------------
+letter-spacing()
+ls()
+----------------------------------------
+Get a letter-spacing value from the
+system letter-spacing
+----------------------------------------
+*/
+/*
+----------------------------------------
+measure()
+----------------------------------------
+Gets a valid USWDS reading line length
+----------------------------------------
+*/
+/*
+----------------------------------------
+opacity()
+----------------------------------------
+Get an opacity from the system
+opacities
+----------------------------------------
+*/
+/*
+----------------------------------------
+order()
+----------------------------------------
+Get an order value from the
+system orders
+----------------------------------------
+*/
+/*
+----------------------------------------
+radius()
+----------------------------------------
+Get a border-radius value from the
+system letter-spacing
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-size()
+----------------------------------------
+Get type scale value from a [family] and
+[scale]
+----------------------------------------
+*/
+/*
+----------------------------------------
+z-index()
+z()
+----------------------------------------
+Get a z-index value from the
+system z-index
+----------------------------------------
+*/
+/*
+----------------------------------------
+utility-font()
+----------------------------------------
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+Not the public-facing function.
+Used for building the utilities and
+withholds certain errors.
+----------------------------------------
+*/
+/*
+----------------------------------------
+family()
+----------------------------------------
+Get a font-family stack
+----------------------------------------
+*/
+/*
+----------------------------------------
+size()
+----------------------------------------
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+font()
+----------------------------------------
+Get a font-family stack
+AND
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+typeset()
+----------------------------------------
+Sets:
+- family
+- size
+- line-height
+----------------------------------------
+*/
+/* stylelint-disable max-nesting-depth */
+/*
+----------------------------------------
+@render-pseudoclass
+----------------------------------------
+Build a pseucoclass utiliy from values
+calculated in the @render-utilities-in
+loop
+----------------------------------------
+*/
+/*
+----------------------------------------
+@render-utility
+----------------------------------------
+Build a utility from values calculated
+in the @render-utilities-in loop
+----------------------------------------
+TODO: Determine the proper use of
+unquote() in the following. Changed to
+account for a 'interpolation near
+operators will be simplified in a
+future version of Sass' warning.
+----------------------------------------
+*/
+/*
+----------------------------------------
+@render-utilities-in
+----------------------------------------
+The master loop that sets the building
+blocks of utilities from the values
+in individual rule settings and loops
+through all possible variants
+----------------------------------------
+*/
+/* stylelint-enable */
+/* notifications.scss
+ ---
+ Adds a notification at the top of each USWDS
+ compile. Use this file for important notifications
+ and updates to the design system.
+
+ This file should started fresh at each
+ major version.
+
+*/
+/* prettier-ignore */
+/* prettier-ignore */
+/* stylelint-disable */
+/* stylelint-enable */
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+GENERAL SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS style tokens in the documentation:
+https://designsystem.digital.gov/design-tokens
+----------------------------------------
+*/
+/*
+----------------------------------------
+Image path
+----------------------------------------
+Relative image file path
+----------------------------------------
+*/
+/*
+----------------------------------------
+Show compile warnings
+----------------------------------------
+Show Sass warnings when functions and
+mixins use non-standard tokens.
+AND
+Show updates and notifications.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Namespace
+----------------------------------------
+*/
+/*
+----------------------------------------
+Prefix separator
+----------------------------------------
+Set the character the separates
+responsive and state prefixes from the
+main class name.
+The default (":") needs to be preceded
+by two backslashes to be properly
+escaped.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Layout grid
+----------------------------------------
+Should the layout grid classes output
+with !important
+----------------------------------------
+*/
+/*
+----------------------------------------
+Border box sizing
+----------------------------------------
+When set to true, sets the box-sizing
+property of all site elements to
+`border-box`.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Focus styles
+----------------------------------------
+*/
+/*
+----------------------------------------
+Icons
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+TYPOGRAPHY SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS typography tokens in the documentation:
+https://designsystem.digital.gov/design-tokens/typesetting/overview/
+----------------------------------------
+*/
+/*
+----------------------------------------
+Root font size
+----------------------------------------
+Setting $theme-respect-user-font-size to
+true sets the root font size to 100% and
+uses ems for media queries
+----------------------------------------
+$theme-root-font-size only applies when
+$theme-respect-user-font-size is set to
+false.
+
+This will set the root font size
+as a specific px value and use px values
+for media queries.
+
+Accepts true or false
+----------------------------------------
+*/
+/*
+----------------------------------------
+Global styles
+----------------------------------------
+Adds basic styling for the following
+unclassed elements:
+
+- paragraph: paragraph text
+- link: links
+- content: paragraph text, links,
+ headings, lists, and tables
+----------------------------------------
+*/
+/*
+----------------------------------------
+Broswer compatibility mode
+----------------------------------------
+When true, outputs woff and ttf font
+formats in addition to woff2
+----------------------------------------
+*/
+/*
+----------------------------------------
+Font path
+----------------------------------------
+Relative font file path
+----------------------------------------
+*/
+/*
+----------------------------------------
+Custom typeface tokens
+----------------------------------------
+Add a new custom typeface token if
+your project uses a typeface not already
+defined by USWDS.
+----------------------------------------
+USWDS defines the following tokens
+by default:
+----------------------------------------
+'georgia'
+'helvetica'
+'merriweather'
+'open-sans'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+'system'
+'tahoma'
+'verdana'
+----------------------------------------
+Add as many new tokens as you have
+custom typefaces. Reference your new
+token(s) in the type-based font settings
+using the quoted name of the token.
+
+For example:
+
+$theme-font-type-cond: 'example-font-token';
+
+display-name:
+The display name of your font
+
+cap-height:
+The height of a 500px `N` in Sketch
+----------------------------------------
+You should change `example-[style]-token`
+names to something more descriptive.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Type-based font settings
+----------------------------------------
+Set the type-based tokens for your
+project from the following tokens,
+or from any new font tokens you added in
+$theme-typeface-tokens.
+----------------------------------------
+'georgia'
+'helvetica'
+'merriweather'
+'open-sans'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+'system'
+'tahoma'
+'verdana'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Custom font stacks
+----------------------------------------
+Add custom font stacks to any of the
+type-based fonts. Any USWDS typeface
+token already has a default stack.
+
+Custom stacks don't need to include the
+font's display name. It will
+automatically appear at the start of
+the stack.
+----------------------------------------
+Example:
+$theme-font-type-sans: 'source-sans-pro';
+$theme-font-sans-custom-stack: "Helvetica Neue", Helvetica, Arial, sans;
+
+Output:
+font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans;
+----------------------------------------
+*/
+/*
+----------------------------------------
+Add any custom font source files
+----------------------------------------
+If you want USWDS to generate additional
+@font-face declarations, add your font
+data below, following the example that
+follows.
+----------------------------------------
+USWDS automatically generates @font-face
+declarations for the following
+
+'merriweather'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+
+These typefaces not require custom
+source files.
+----------------------------------------
+EXAMPLE
+
+- dir:
+ Directory relative to $theme-font-path
+- This directory should include fonts saved as
+ .woff2
+ ExampleSerif-Normal.woff2
+
+$theme-font-serif-custom-src: (
+ dir: 'custom/example-serif',
+ roman: (
+ 100: false,
+ 200: false,
+ 300: 'ExampleSerif-Light',
+ 400: 'ExampleSerif-Normal',
+ 500: false,
+ 600: false,
+ 700: 'ExampleSerif-Bold',
+ 800: false,
+ 900: false,
+ ),
+ italic: (
+ 100: false,
+ 200: false,
+ 300: 'ExampleSerif-LightItalic',
+ 400: 'ExampleSerif-Italic',
+ 500: false,
+ 600: false,
+ 700: 'ExampleSerif-BoldItalic',
+ 800: false,
+ 900: false,
+ ),
+);
+----------------------------------------
+*/
+/*
+----------------------------------------
+Role-based font settings
+----------------------------------------
+Set the role-based tokens for your
+project from the following font-type
+tokens.
+----------------------------------------
+'cond'
+'icon'
+'lang'
+'mono'
+'sans'
+'serif'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Type scale
+----------------------------------------
+Define your project's type scale using
+values from the USWDS system type scale
+
+1-20
+----------------------------------------
+*/
+/*
+----------------------------------------
+Font weights
+----------------------------------------
+Assign weights 100-900
+Or use `false` for unneeded weights.
+----------------------------------------
+*/
+/*
+----------------------------------------
+General typography settings
+----------------------------------------
+Type scale tokens
+----------------------------------------
+micro: 10px
+1: 12px
+2: 13px
+3: 14px
+4: 15px
+5: 16px
+6: 17px
+7: 18px
+8: 20px
+9: 22px
+10: 24px
+11: 28px
+12: 32px
+13: 36px
+14: 40px
+15: 48px
+16: 56px
+17: 64px
+18: 80px
+19: 120px
+20: 140px
+----------------------------------------
+Line height tokens
+----------------------------------------
+1: 1
+2: 1.15
+3: 1.35
+4: 1.5
+5: 1.62
+6: 1.75
+----------------------------------------
+Font role tokens
+----------------------------------------
+'ui'
+'heading'
+'body'
+'code'
+'alt'
+----------------------------------------
+Measure (max-width) tokens
+----------------------------------------
+1: 44ex
+2: 60ex
+3: 64ex
+4: 68ex
+5: 74ex
+6: 88ex
+none: none
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+COLOR SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS color tokens in the documentation:
+https://designsystem.digital.gov/design-tokens/color
+----------------------------------------
+*/
+/*
+----------------------------------------
+Theme palette colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+State palette colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+General colors
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+COMPONENT SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS style tokens in the documentation:
+https://designsystem.digital.gov/design-tokens
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+SPACING SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS spacing units tokens in the
+documentation:
+https://designsystem.digital.gov/design-tokens/spacing-units
+----------------------------------------
+*/
+/*
+----------------------------------------
+Border radius
+----------------------------------------
+2px 2px
+0.5 4px
+1 8px
+1.5 12px
+2 16px
+2.5 20px
+3 24px
+4 32px
+5 40px
+6 48px
+7 56px
+8 64px
+9 72px
+----------------------------------------
+*/
+/*
+----------------------------------------
+Column gap
+----------------------------------------
+2px 2px
+0.5 4px
+1 8px
+2 16px
+3 24px
+4 32px
+5 40px
+6 48px
+----------------------------------------
+*/
+/*
+----------------------------------------
+Grid container max-width
+----------------------------------------
+mobile
+mobile-lg
+tablet
+tablet-lg
+desktop
+desktop-lg
+widescreen
+----------------------------------------
+*/
+/*
+----------------------------------------
+Site
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+UTILITIES SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS utilities in the documentation:
+https://designsystem.digital.gov/utilities
+----------------------------------------
+*/
+/*
+----------------------------------------
+Utility breakpoints
+----------------------------------------
+Which breakpoints does your project
+need? Select as `true` any breakpoint
+used by utilities or layout grid
+----------------------------------------
+*/
+/*
+----------------------------------------
+Global colors
+----------------------------------------
+The following palettes will be added to
+- background-color
+- border-color
+- color
+- text-decoration-color
+----------------------------------------
+*/
+/*
+----------------------------------------
+Settings
+----------------------------------------
+*/
+/*
+----------------------------------------
+Values
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+append-important()
+----------------------------------------
+Append `!important` to a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-last()
+----------------------------------------
+Return the last item of a list,
+Return null if the value is null
+----------------------------------------
+*/
+/*
+----------------------------------------
+de-list()
+----------------------------------------
+Transform a one-element list or arglist
+into that single element.
+----------------------------------------
+(1) => 1
+((1)) => (1)
+----------------------------------------
+*/
+/*
+----------------------------------------
+error-not-token()
+----------------------------------------
+Returns a common not-a-token error.
+----------------------------------------
+*/
+/*
+----------------------------------------
+uswds-error()
+----------------------------------------
+Allow the system to pass an error as text
+to test error states in unit testing
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-default()
+----------------------------------------
+Returns the default value from a map
+of project defaults
+get-default("bg-color")
+> $theme-body-background-color
+----------------------------------------
+*/
+/*
+----------------------------------------
+has-important()
+----------------------------------------
+Check to see if `!important` is
+being passed in a mixin's props
+----------------------------------------
+*/
+/*
+----------------------------------------
+map-collect()
+----------------------------------------
+Collect multiple maps into a single
+large map
+source: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe
+----------------------------------------
+*/
+/*
+----------------------------------------
+map-deep-get()
+----------------------------------------
+@author Hugo Giraudel
+@access public
+@param {Map} $map - Map
+@param {Arglist} $keys - Key chain
+@return {*} - Desired value
+----------------------------------------
+*/
+/*
+----------------------------------------
+multi-cat()
+----------------------------------------
+Concatenate two lists
+----------------------------------------
+*/
+/*
+----------------------------------------
+remove()
+----------------------------------------
+Remove a value from a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+smart-quote()
+----------------------------------------
+Quotes strings
+Inspects `px`, `xs`, and `xl` numbers
+Leaves bools as is
+----------------------------------------
+*/
+/*
+----------------------------------------
+str-replace()
+----------------------------------------
+Replace any substring with another
+string
+----------------------------------------
+*/
+/*
+----------------------------------------
+str-split()
+----------------------------------------
+Split a string at a given separator
+and convert into a list of substrings
+----------------------------------------
+*/
+/*
+----------------------------------------
+strip-unit()
+----------------------------------------
+Remove the unit of a length
+@author Hugo Giraudel
+@param {Number} $number - Number to remove unit from
+@return {Number} - Unitless number
+----------------------------------------
+*/
+/*
+----------------------------------------
+base-to-map()
+@TODO: Deprecate and delete
+----------------------------------------
+Convert a single base to a USWDS
+value map.
+
+Candidate for deprecation if we remove
+isReadable
+----------------------------------------
+*/
+/*
+----------------------------------------
+to-number()
+----------------------------------------
+Casts a string into a number
+----------------------------------------
+@param {String | Number} $value - Value to be parsed
+@return {Number}
+----------------------------------------
+*/
+/*
+----------------------------------------
+unpack()
+----------------------------------------
+Create lists of single items from lists
+of lists.
+----------------------------------------
+(1, (2.1, 2.2), 3) -->
+(1, 2.1, 2.2, 3)
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+set-theme-color()
+----------------------------------------
+Derive a color from a system color token
+or a hex value
+----------------------------------------
+*/
+/*
+----------------------------------------
+px-to-rem()
+----------------------------------------
+Converts a value in px to a value in rem
+----------------------------------------
+*/
+/*
+----------------------------------------
+rem-to-px()
+----------------------------------------
+Converts a value in rem to a value in px
+----------------------------------------
+*/
+/*
+----------------------------------------
+rem-to-user-em()
+----------------------------------------
+Converts a value in rem to a value in
+[user-settings] em for use in media
+queries
+----------------------------------------
+*/
+/*
+----------------------------------------
+spacing-multiple()
+----------------------------------------
+Converts a spacing unit multiple into
+the desired final units (currently rem)
+----------------------------------------
+*/
+/*
+----------------------------------------
+units()
+----------------------------------------
+Converts a spacing unit into
+the desired final units (currently rem)
+----------------------------------------
+*/
+/*
+----------------------------------------
+number-to-token()
+----------------------------------------
+Converts an integer or numeric value
+into a system value
+
+Ex: 0.5 --> '05'
+ -1px --> 'neg-1px'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Project fonts
+----------------------------------------
+Collects font settings in a map for
+looping.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Luminance ranges
+----------------------------------------
+*/
+/*
+----------------------------------------
+ns()
+----------------------------------------
+Add a namesspace of $type if that
+namespace is set to output
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-system-color()
+----------------------------------------
+Derive a system color from its
+family, value, and vivid or a passed
+variable that is, itself, a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+Line height
+----------------------------------------
+*/
+/*
+----------------------------------------
+Measure
+----------------------------------------
+*/
+/*
+----------------------------------------
+cap-height()
+----------------------------------------
+Get the cap height of a valid typeface
+----------------------------------------
+*/
+/*
+----------------------------------------
+validate-typeface-token()
+----------------------------------------
+Check to see if a typeface-token exists.
+Throw an error if a passed token does
+not exist in the typeface-token map.
+----------------------------------------
+*/
+/*
+----------------------------------------
+convert-to-font-type()
+----------------------------------------
+Converts a font-role token into a
+font-type token. Leaves font-type tokens
+unchanged.
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-sources()
+----------------------------------------
+Outputs a list of font sources used in
+a @font-face declaration.
+
+$theme-font-browser-compatibility: true - output woff2, woff, ttf
+$theme-font-browser-compatibility: false - output woff2
+
+@param stem: string - [font path]/[custom-src.dir]/[custom-src.[style].[weight]]
+@output: string
+
+filetypes must be one of the filetypes set in variables/$project-font-face-filetypes (woff, woff2, ttf)
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-font-stack()
+----------------------------------------
+Get a font stack from a style- or
+role-based font token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-typeface-token()
+----------------------------------------
+Get a typeface token from a font-type or
+font-role token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+normalize-type-scale()
+----------------------------------------
+Normalizes a specific face's optical size
+to a set target
+----------------------------------------
+*/
+/*
+----------------------------------------
+system-type-scale()
+----------------------------------------
+Get a value from the system type scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+Easing
+----------------------------------------
+*/
+/* deprecated.scss
+ ---
+ Occasionally the design system will deprecate
+ old variables or functionality. If we replace
+ the old functionality with something new, this is a
+ place to connect the old functionality to the
+ new functionality, in the service of better
+ continuity and backwards compatibility within a
+ major release cycle.
+
+ Note the USWDS version where we deprecated the
+ old functionality in a comment.
+
+ Be sure to update notifications.scss.
+
+ This file should started fresh at each
+ major version.
+*/
+/*
+----------------------------------------
+advanced-color()
+----------------------------------------
+Derive a color from a color triplet:
+[family], [grade], [variant]
+----------------------------------------
+*/
+/*
+----------------------------------------
+calculate-grade()
+----------------------------------------
+Derive the grade equivalent any color,
+even non-token colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-assignment()
+----------------------------------------
+Get the system token equivalent of any
+theme color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-system-color-token()
+----------------------------------------
+Return whether a token is a system
+color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-theme-color-token()
+----------------------------------------
+Return whether a token is a theme
+color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+decompose()
+----------------------------------------
+Convert a color token into into a list
+of form [family], [grade], [variant]
+Vivid variants return "vivid" as the
+variant.
+If neither grade nor variant exists,
+returns 'null'
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-grade()
+----------------------------------------
+Returns the grade of a USWDS color token.
+Returns: color-grade
+color-token-grade("accent-warm")
+> "root"
+color-token-grade("accent-warm-vivid")
+> "root"
+color-token-grade("accent-warm-darker")
+> "darker"
+color-token-grade("red-50v")
+> 50
+color-token-variant(("red", 50, "vivid"))
+> 50
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-color-token()
+----------------------------------------
+Returns whether a given string is a
+USWDS color token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+pow()
+----------------------------------------
+Raises a unitless number to the power
+of another unitless number
+Includes helper functions
+----------------------------------------
+*/
+/*
+----------------------------------------
+Helper functions
+----------------------------------------
+*/
+/* factorial()
+----------------------------------------
+*/
+/* summation()
+----------------------------------------
+*/
+/* exp-maclaurin()
+----------------------------------------
+*/
+/* ln()
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-type()
+----------------------------------------
+Returns the type of a color token.
+Returns: "system" | "theme"
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-variant()
+----------------------------------------
+Returns the variant of color token.
+Returns: "vivid" | false
+color-token-variant("accent-warm")
+> false
+color-token-variant("accent-warm-vivid")
+> "vivid"
+color-token-variant("red-50v")
+> "vivid"
+color-token-variant(("red", 50, "vivid"))
+> "vivid"
+----------------------------------------
+*/
+/*
+----------------------------------------
+magic-number()
+----------------------------------------
+Returns the magic number of two color
+grades. Takes numbers or color tokens.
+magic-number(50, 10)
+return: 40
+magic-number("red-50", "red-10")
+return: 40
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-accessible-magic-number()
+----------------------------------------
+Returns whether two grades achieve
+specified target color contrast
+Returns: true | false
+is-accessible-magic-number(10, 50, "AA")
+> false
+is-accessible-magic-number(10, 60, "AA")
+> true
+----------------------------------------
+*/
+/*
+----------------------------------------
+wcag-magic-number()
+----------------------------------------
+Returns the magic number of a specific
+wcag grade:
+"AA"
+"AA-Large"
+"AAA"
+wcag-magic-number("AA")
+> 50
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-link-tokens-from-bg()
+----------------------------------------
+Get accessible link colors for a given
+background color
+returns: link-token, hover-token
+get-link-tokens-from-bg(
+ "black",
+ "red-60",
+ "red-10",
+ "AA")
+> "red-10", "red-5"
+get-link-tokens-from-bg(
+ "black",
+ "red-60v",
+ "red-10v",
+ "AA-large")
+> "red-60v", "red-50v"
+get-link-tokens-from-bg(
+ "black",
+ "red-5v",
+ "red-60v",
+ "AA")
+> "red-5v", "white"
+get-link-tokens-from-bg(
+ "black",
+ "white",
+ "red-60v",
+ "AA")
+> "white", "white"
+----------------------------------------
+*/
+/*
+----------------------------------------
+next-token()
+----------------------------------------
+Returns next "darker" or "lighter" color
+token of the same token type and variant.
+Returns: color-token | false
+next-token("accent-warm", "lighter")
+> "accent-warm-light"
+next-token("gray-10", "lighter")
+> "gray-5"
+next-token("gray-5", "lighter")
+> "white"
+next-token("white", "lighter")
+> false
+next-token("red-50v", "darker")
+> "red-60v"
+next-token("red-50", "darker")
+> "red-60"
+next-token("red-80v", "darker")
+> "red-90"
+next-token("red-90", "darker")
+> "black"
+next-token("white", "darker")
+> "gray-5"
+next-token("black", "lighter")
+> "gray-90"
+----------------------------------------
+*/
+/*
+----------------------------------------
+test-colors()
+----------------------------------------
+Check to see if all system colors
+fall between the proper relative
+luminance range for their grade.
+Has a couple quirks, as the luminance()
+function returns slightly different
+results than expected.
+----------------------------------------
+*/
+/*
+----------------------------------------
+columns()
+----------------------------------------
+outputs a grid-col number based on
+the number of desired columns in the
+12-column grid
+
+Ex: columns(2) --> 6
+ grid-col(columns(2))
+----------------------------------------
+*/
+/*
+----------------------------------------
+USWDS Properties
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-uswds-value()
+----------------------------------------
+Finds and outputs a value from the
+USWDS standard values.
+
+Used to build other standard utility
+functions and mixins.
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-standard-values()
+----------------------------------------
+Gets a map of USWDS standard values
+for a property
+----------------------------------------
+*/
+/*
+----------------------------------------
+border-radius()
+----------------------------------------
+Get a border-radius from the system
+border-radii
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-weight()
+fw()
+----------------------------------------
+Get a font-weight value from the
+system font-weight
+----------------------------------------
+*/
+/*
+----------------------------------------
+feature()
+----------------------------------------
+Gets a valid USWDS font feature setting
+----------------------------------------
+*/
+/*
+----------------------------------------
+flex()
+----------------------------------------
+Gets a valid USWDS flex value
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-family()
+family()
+----------------------------------------
+Get a font-family stack from a
+role-based or type-based font family
+----------------------------------------
+*/
+/*
+----------------------------------------
+letter-spacing()
+ls()
+----------------------------------------
+Get a letter-spacing value from the
+system letter-spacing
+----------------------------------------
+*/
+/*
+----------------------------------------
+measure()
+----------------------------------------
+Gets a valid USWDS reading line length
+----------------------------------------
+*/
+/*
+----------------------------------------
+opacity()
+----------------------------------------
+Get an opacity from the system
+opacities
+----------------------------------------
+*/
+/*
+----------------------------------------
+order()
+----------------------------------------
+Get an order value from the
+system orders
+----------------------------------------
+*/
+/*
+----------------------------------------
+radius()
+----------------------------------------
+Get a border-radius value from the
+system letter-spacing
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-size()
+----------------------------------------
+Get type scale value from a [family] and
+[scale]
+----------------------------------------
+*/
+/*
+----------------------------------------
+z-index()
+z()
+----------------------------------------
+Get a z-index value from the
+system z-index
+----------------------------------------
+*/
+/*
+----------------------------------------
+utility-font()
+----------------------------------------
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+Not the public-facing function.
+Used for building the utilities and
+withholds certain errors.
+----------------------------------------
+*/
+/*
+----------------------------------------
+family()
+----------------------------------------
+Get a font-family stack
+----------------------------------------
+*/
+/*
+----------------------------------------
+size()
+----------------------------------------
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+font()
+----------------------------------------
+Get a font-family stack
+AND
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+typeset()
+----------------------------------------
+Sets:
+- family
+- size
+- line-height
+----------------------------------------
+*/
+/* stylelint-disable max-nesting-depth */
+/*
+----------------------------------------
+@render-pseudoclass
+----------------------------------------
+Build a pseucoclass utiliy from values
+calculated in the @render-utilities-in
+loop
+----------------------------------------
+*/
+/*
+----------------------------------------
+@render-utility
+----------------------------------------
+Build a utility from values calculated
+in the @render-utilities-in loop
+----------------------------------------
+TODO: Determine the proper use of
+unquote() in the following. Changed to
+account for a 'interpolation near
+operators will be simplified in a
+future version of Sass' warning.
+----------------------------------------
+*/
+/*
+----------------------------------------
+@render-utilities-in
+----------------------------------------
+The master loop that sets the building
+blocks of utilities from the values
+in individual rule settings and loops
+through all possible variants
+----------------------------------------
+*/
+/* stylelint-enable */
+/* notifications.scss
+ ---
+ Adds a notification at the top of each USWDS
+ compile. Use this file for important notifications
+ and updates to the design system.
+
+ This file should started fresh at each
+ major version.
+
+*/
+/* prettier-ignore */
+/* prettier-ignore */
+.usa-media-block {
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+}
+
+.usa-media-block__img {
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ margin-right: 0.5rem;
+}
+
+.usa-media-block__body {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 0%;
+ -ms-flex: 1 1 0%;
+ flex: 1 1 0%;
+}
+
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+GENERAL SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS style tokens in the documentation:
+https://designsystem.digital.gov/design-tokens
+----------------------------------------
+*/
+/*
+----------------------------------------
+Image path
+----------------------------------------
+Relative image file path
+----------------------------------------
+*/
+/*
+----------------------------------------
+Show compile warnings
+----------------------------------------
+Show Sass warnings when functions and
+mixins use non-standard tokens.
+AND
+Show updates and notifications.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Namespace
+----------------------------------------
+*/
+/*
+----------------------------------------
+Prefix separator
+----------------------------------------
+Set the character the separates
+responsive and state prefixes from the
+main class name.
+The default (":") needs to be preceded
+by two backslashes to be properly
+escaped.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Layout grid
+----------------------------------------
+Should the layout grid classes output
+with !important
+----------------------------------------
+*/
+/*
+----------------------------------------
+Border box sizing
+----------------------------------------
+When set to true, sets the box-sizing
+property of all site elements to
+`border-box`.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Focus styles
+----------------------------------------
+*/
+/*
+----------------------------------------
+Icons
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+TYPOGRAPHY SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS typography tokens in the documentation:
+https://designsystem.digital.gov/design-tokens/typesetting/overview/
+----------------------------------------
+*/
+/*
+----------------------------------------
+Root font size
+----------------------------------------
+Setting $theme-respect-user-font-size to
+true sets the root font size to 100% and
+uses ems for media queries
+----------------------------------------
+$theme-root-font-size only applies when
+$theme-respect-user-font-size is set to
+false.
+
+This will set the root font size
+as a specific px value and use px values
+for media queries.
+
+Accepts true or false
+----------------------------------------
+*/
+/*
+----------------------------------------
+Global styles
+----------------------------------------
+Adds basic styling for the following
+unclassed elements:
+
+- paragraph: paragraph text
+- link: links
+- content: paragraph text, links,
+ headings, lists, and tables
+----------------------------------------
+*/
+/*
+----------------------------------------
+Broswer compatibility mode
+----------------------------------------
+When true, outputs woff and ttf font
+formats in addition to woff2
+----------------------------------------
+*/
+/*
+----------------------------------------
+Font path
+----------------------------------------
+Relative font file path
+----------------------------------------
+*/
+/*
+----------------------------------------
+Custom typeface tokens
+----------------------------------------
+Add a new custom typeface token if
+your project uses a typeface not already
+defined by USWDS.
+----------------------------------------
+USWDS defines the following tokens
+by default:
+----------------------------------------
+'georgia'
+'helvetica'
+'merriweather'
+'open-sans'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+'system'
+'tahoma'
+'verdana'
+----------------------------------------
+Add as many new tokens as you have
+custom typefaces. Reference your new
+token(s) in the type-based font settings
+using the quoted name of the token.
+
+For example:
+
+$theme-font-type-cond: 'example-font-token';
+
+display-name:
+The display name of your font
+
+cap-height:
+The height of a 500px `N` in Sketch
+----------------------------------------
+You should change `example-[style]-token`
+names to something more descriptive.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Type-based font settings
+----------------------------------------
+Set the type-based tokens for your
+project from the following tokens,
+or from any new font tokens you added in
+$theme-typeface-tokens.
+----------------------------------------
+'georgia'
+'helvetica'
+'merriweather'
+'open-sans'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+'system'
+'tahoma'
+'verdana'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Custom font stacks
+----------------------------------------
+Add custom font stacks to any of the
+type-based fonts. Any USWDS typeface
+token already has a default stack.
+
+Custom stacks don't need to include the
+font's display name. It will
+automatically appear at the start of
+the stack.
+----------------------------------------
+Example:
+$theme-font-type-sans: 'source-sans-pro';
+$theme-font-sans-custom-stack: "Helvetica Neue", Helvetica, Arial, sans;
+
+Output:
+font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans;
+----------------------------------------
+*/
+/*
+----------------------------------------
+Add any custom font source files
+----------------------------------------
+If you want USWDS to generate additional
+@font-face declarations, add your font
+data below, following the example that
+follows.
+----------------------------------------
+USWDS automatically generates @font-face
+declarations for the following
+
+'merriweather'
+'public-sans'
+'roboto-mono'
+'source-sans-pro'
+
+These typefaces not require custom
+source files.
+----------------------------------------
+EXAMPLE
+
+- dir:
+ Directory relative to $theme-font-path
+- This directory should include fonts saved as
+ .woff2
+ ExampleSerif-Normal.woff2
+
+$theme-font-serif-custom-src: (
+ dir: 'custom/example-serif',
+ roman: (
+ 100: false,
+ 200: false,
+ 300: 'ExampleSerif-Light',
+ 400: 'ExampleSerif-Normal',
+ 500: false,
+ 600: false,
+ 700: 'ExampleSerif-Bold',
+ 800: false,
+ 900: false,
+ ),
+ italic: (
+ 100: false,
+ 200: false,
+ 300: 'ExampleSerif-LightItalic',
+ 400: 'ExampleSerif-Italic',
+ 500: false,
+ 600: false,
+ 700: 'ExampleSerif-BoldItalic',
+ 800: false,
+ 900: false,
+ ),
+);
+----------------------------------------
+*/
+/*
+----------------------------------------
+Role-based font settings
+----------------------------------------
+Set the role-based tokens for your
+project from the following font-type
+tokens.
+----------------------------------------
+'cond'
+'icon'
+'lang'
+'mono'
+'sans'
+'serif'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Type scale
+----------------------------------------
+Define your project's type scale using
+values from the USWDS system type scale
+
+1-20
+----------------------------------------
+*/
+/*
+----------------------------------------
+Font weights
+----------------------------------------
+Assign weights 100-900
+Or use `false` for unneeded weights.
+----------------------------------------
+*/
+/*
+----------------------------------------
+General typography settings
+----------------------------------------
+Type scale tokens
+----------------------------------------
+micro: 10px
+1: 12px
+2: 13px
+3: 14px
+4: 15px
+5: 16px
+6: 17px
+7: 18px
+8: 20px
+9: 22px
+10: 24px
+11: 28px
+12: 32px
+13: 36px
+14: 40px
+15: 48px
+16: 56px
+17: 64px
+18: 80px
+19: 120px
+20: 140px
+----------------------------------------
+Line height tokens
+----------------------------------------
+1: 1
+2: 1.15
+3: 1.35
+4: 1.5
+5: 1.62
+6: 1.75
+----------------------------------------
+Font role tokens
+----------------------------------------
+'ui'
+'heading'
+'body'
+'code'
+'alt'
+----------------------------------------
+Measure (max-width) tokens
+----------------------------------------
+1: 44ex
+2: 60ex
+3: 64ex
+4: 68ex
+5: 74ex
+6: 88ex
+none: none
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+COLOR SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS color tokens in the documentation:
+https://designsystem.digital.gov/design-tokens/color
+----------------------------------------
+*/
+/*
+----------------------------------------
+Theme palette colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+State palette colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+General colors
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+COMPONENT SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS style tokens in the documentation:
+https://designsystem.digital.gov/design-tokens
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+SPACING SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS spacing units tokens in the
+documentation:
+https://designsystem.digital.gov/design-tokens/spacing-units
+----------------------------------------
+*/
+/*
+----------------------------------------
+Border radius
+----------------------------------------
+2px 2px
+0.5 4px
+1 8px
+1.5 12px
+2 16px
+2.5 20px
+3 24px
+4 32px
+5 40px
+6 48px
+7 56px
+8 64px
+9 72px
+----------------------------------------
+*/
+/*
+----------------------------------------
+Column gap
+----------------------------------------
+2px 2px
+0.5 4px
+1 8px
+2 16px
+3 24px
+4 32px
+5 40px
+6 48px
+----------------------------------------
+*/
+/*
+----------------------------------------
+Grid container max-width
+----------------------------------------
+mobile
+mobile-lg
+tablet
+tablet-lg
+desktop
+desktop-lg
+widescreen
+----------------------------------------
+*/
+/*
+----------------------------------------
+Site
+----------------------------------------
+*/
+/*
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+* * * * * ==============================
+========================================
+========================================
+========================================
+----------------------------------------
+UTILITIES SETTINGS
+----------------------------------------
+Read more about settings and
+USWDS utilities in the documentation:
+https://designsystem.digital.gov/utilities
+----------------------------------------
+*/
+/*
+----------------------------------------
+Utility breakpoints
+----------------------------------------
+Which breakpoints does your project
+need? Select as `true` any breakpoint
+used by utilities or layout grid
+----------------------------------------
+*/
+/*
+----------------------------------------
+Global colors
+----------------------------------------
+The following palettes will be added to
+- background-color
+- border-color
+- color
+- text-decoration-color
+----------------------------------------
+*/
+/*
+----------------------------------------
+Settings
+----------------------------------------
+*/
+/*
+----------------------------------------
+Values
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+append-important()
+----------------------------------------
+Append `!important` to a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-last()
+----------------------------------------
+Return the last item of a list,
+Return null if the value is null
+----------------------------------------
+*/
+/*
+----------------------------------------
+de-list()
+----------------------------------------
+Transform a one-element list or arglist
+into that single element.
+----------------------------------------
+(1) => 1
+((1)) => (1)
+----------------------------------------
+*/
+/*
+----------------------------------------
+error-not-token()
+----------------------------------------
+Returns a common not-a-token error.
+----------------------------------------
+*/
+/*
+----------------------------------------
+uswds-error()
+----------------------------------------
+Allow the system to pass an error as text
+to test error states in unit testing
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-default()
+----------------------------------------
+Returns the default value from a map
+of project defaults
+get-default("bg-color")
+> $theme-body-background-color
+----------------------------------------
+*/
+/*
+----------------------------------------
+has-important()
+----------------------------------------
+Check to see if `!important` is
+being passed in a mixin's props
+----------------------------------------
+*/
+/*
+----------------------------------------
+map-collect()
+----------------------------------------
+Collect multiple maps into a single
+large map
+source: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe
+----------------------------------------
+*/
+/*
+----------------------------------------
+map-deep-get()
+----------------------------------------
+@author Hugo Giraudel
+@access public
+@param {Map} $map - Map
+@param {Arglist} $keys - Key chain
+@return {*} - Desired value
+----------------------------------------
+*/
+/*
+----------------------------------------
+multi-cat()
+----------------------------------------
+Concatenate two lists
+----------------------------------------
+*/
+/*
+----------------------------------------
+remove()
+----------------------------------------
+Remove a value from a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+smart-quote()
+----------------------------------------
+Quotes strings
+Inspects `px`, `xs`, and `xl` numbers
+Leaves bools as is
+----------------------------------------
+*/
+/*
+----------------------------------------
+str-replace()
+----------------------------------------
+Replace any substring with another
+string
+----------------------------------------
+*/
+/*
+----------------------------------------
+str-split()
+----------------------------------------
+Split a string at a given separator
+and convert into a list of substrings
+----------------------------------------
+*/
+/*
+----------------------------------------
+strip-unit()
+----------------------------------------
+Remove the unit of a length
+@author Hugo Giraudel
+@param {Number} $number - Number to remove unit from
+@return {Number} - Unitless number
+----------------------------------------
+*/
+/*
+----------------------------------------
+base-to-map()
+@TODO: Deprecate and delete
+----------------------------------------
+Convert a single base to a USWDS
+value map.
+
+Candidate for deprecation if we remove
+isReadable
+----------------------------------------
+*/
+/*
+----------------------------------------
+to-number()
+----------------------------------------
+Casts a string into a number
+----------------------------------------
+@param {String | Number} $value - Value to be parsed
+@return {Number}
+----------------------------------------
+*/
+/*
+----------------------------------------
+unpack()
+----------------------------------------
+Create lists of single items from lists
+of lists.
+----------------------------------------
+(1, (2.1, 2.2), 3) -->
+(1, 2.1, 2.2, 3)
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+color()
+----------------------------------------
+Derive a color from a color shortcode
+----------------------------------------
+*/
+/*
+----------------------------------------
+set-theme-color()
+----------------------------------------
+Derive a color from a system color token
+or a hex value
+----------------------------------------
+*/
+/*
+----------------------------------------
+px-to-rem()
+----------------------------------------
+Converts a value in px to a value in rem
+----------------------------------------
+*/
+/*
+----------------------------------------
+rem-to-px()
+----------------------------------------
+Converts a value in rem to a value in px
+----------------------------------------
+*/
+/*
+----------------------------------------
+rem-to-user-em()
+----------------------------------------
+Converts a value in rem to a value in
+[user-settings] em for use in media
+queries
+----------------------------------------
+*/
+/*
+----------------------------------------
+spacing-multiple()
+----------------------------------------
+Converts a spacing unit multiple into
+the desired final units (currently rem)
+----------------------------------------
+*/
+/*
+----------------------------------------
+units()
+----------------------------------------
+Converts a spacing unit into
+the desired final units (currently rem)
+----------------------------------------
+*/
+/*
+----------------------------------------
+number-to-token()
+----------------------------------------
+Converts an integer or numeric value
+into a system value
+
+Ex: 0.5 --> '05'
+ -1px --> 'neg-1px'
+----------------------------------------
+*/
+/*
+----------------------------------------
+Project fonts
+----------------------------------------
+Collects font settings in a map for
+looping.
+----------------------------------------
+*/
+/*
+----------------------------------------
+Luminance ranges
+----------------------------------------
+*/
+/*
+----------------------------------------
+ns()
+----------------------------------------
+Add a namesspace of $type if that
+namespace is set to output
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-system-color()
+----------------------------------------
+Derive a system color from its
+family, value, and vivid or a passed
+variable that is, itself, a list
+----------------------------------------
+*/
+/*
+----------------------------------------
+Line height
+----------------------------------------
+*/
+/*
+----------------------------------------
+Measure
+----------------------------------------
+*/
+/*
+----------------------------------------
+cap-height()
+----------------------------------------
+Get the cap height of a valid typeface
+----------------------------------------
+*/
+/*
+----------------------------------------
+validate-typeface-token()
+----------------------------------------
+Check to see if a typeface-token exists.
+Throw an error if a passed token does
+not exist in the typeface-token map.
+----------------------------------------
+*/
+/*
+----------------------------------------
+convert-to-font-type()
+----------------------------------------
+Converts a font-role token into a
+font-type token. Leaves font-type tokens
+unchanged.
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-sources()
+----------------------------------------
+Outputs a list of font sources used in
+a @font-face declaration.
+
+$theme-font-browser-compatibility: true - output woff2, woff, ttf
+$theme-font-browser-compatibility: false - output woff2
+
+@param stem: string - [font path]/[custom-src.dir]/[custom-src.[style].[weight]]
+@output: string
+
+filetypes must be one of the filetypes set in variables/$project-font-face-filetypes (woff, woff2, ttf)
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-font-stack()
+----------------------------------------
+Get a font stack from a style- or
+role-based font token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-typeface-token()
+----------------------------------------
+Get a typeface token from a font-type or
+font-role token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+normalize-type-scale()
+----------------------------------------
+Normalizes a specific face's optical size
+to a set target
+----------------------------------------
+*/
+/*
+----------------------------------------
+system-type-scale()
+----------------------------------------
+Get a value from the system type scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+Easing
+----------------------------------------
+*/
+/* deprecated.scss
+ ---
+ Occasionally the design system will deprecate
+ old variables or functionality. If we replace
+ the old functionality with something new, this is a
+ place to connect the old functionality to the
+ new functionality, in the service of better
+ continuity and backwards compatibility within a
+ major release cycle.
+
+ Note the USWDS version where we deprecated the
+ old functionality in a comment.
+
+ Be sure to update notifications.scss.
+
+ This file should started fresh at each
+ major version.
+*/
+/*
+----------------------------------------
+advanced-color()
+----------------------------------------
+Derive a color from a color triplet:
+[family], [grade], [variant]
+----------------------------------------
+*/
+/*
+----------------------------------------
+calculate-grade()
+----------------------------------------
+Derive the grade equivalent any color,
+even non-token colors
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-assignment()
+----------------------------------------
+Get the system token equivalent of any
+theme color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-system-color-token()
+----------------------------------------
+Return whether a token is a system
+color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-theme-color-token()
+----------------------------------------
+Return whether a token is a theme
+color token
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+decompose()
+----------------------------------------
+Convert a color token into into a list
+of form [family], [grade], [variant]
+Vivid variants return "vivid" as the
+variant.
+If neither grade nor variant exists,
+returns 'null'
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-grade()
+----------------------------------------
+Returns the grade of a USWDS color token.
+Returns: color-grade
+color-token-grade("accent-warm")
+> "root"
+color-token-grade("accent-warm-vivid")
+> "root"
+color-token-grade("accent-warm-darker")
+> "darker"
+color-token-grade("red-50v")
+> 50
+color-token-variant(("red", 50, "vivid"))
+> 50
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-family()
+----------------------------------------
+Returns the family of a color token.
+Returns: color-family
+color-token-family("accent-warm-vivid")
+> "accent-warm"
+color-token-family("red-50v")
+> "red"
+color-token-variant(("red", 50, "vivid"))
+> "red"
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-color-token()
+----------------------------------------
+Returns whether a given string is a
+USWDS color token.
+----------------------------------------
+*/
+/*
+----------------------------------------
+pow()
+----------------------------------------
+Raises a unitless number to the power
+of another unitless number
+Includes helper functions
+----------------------------------------
+*/
+/*
+----------------------------------------
+Helper functions
+----------------------------------------
+*/
+/* factorial()
+----------------------------------------
+*/
+/* summation()
+----------------------------------------
+*/
+/* exp-maclaurin()
+----------------------------------------
+*/
+/* ln()
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-type()
+----------------------------------------
+Returns the type of a color token.
+Returns: "system" | "theme"
+----------------------------------------
+*/
+/*
+----------------------------------------
+color-token-variant()
+----------------------------------------
+Returns the variant of color token.
+Returns: "vivid" | false
+color-token-variant("accent-warm")
+> false
+color-token-variant("accent-warm-vivid")
+> "vivid"
+color-token-variant("red-50v")
+> "vivid"
+color-token-variant(("red", 50, "vivid"))
+> "vivid"
+----------------------------------------
+*/
+/*
+----------------------------------------
+magic-number()
+----------------------------------------
+Returns the magic number of two color
+grades. Takes numbers or color tokens.
+magic-number(50, 10)
+return: 40
+magic-number("red-50", "red-10")
+return: 40
+----------------------------------------
+*/
+/*
+----------------------------------------
+is-accessible-magic-number()
+----------------------------------------
+Returns whether two grades achieve
+specified target color contrast
+Returns: true | false
+is-accessible-magic-number(10, 50, "AA")
+> false
+is-accessible-magic-number(10, 60, "AA")
+> true
+----------------------------------------
+*/
+/*
+----------------------------------------
+wcag-magic-number()
+----------------------------------------
+Returns the magic number of a specific
+wcag grade:
+"AA"
+"AA-Large"
+"AAA"
+wcag-magic-number("AA")
+> 50
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-link-tokens-from-bg()
+----------------------------------------
+Get accessible link colors for a given
+background color
+returns: link-token, hover-token
+get-link-tokens-from-bg(
+ "black",
+ "red-60",
+ "red-10",
+ "AA")
+> "red-10", "red-5"
+get-link-tokens-from-bg(
+ "black",
+ "red-60v",
+ "red-10v",
+ "AA-large")
+> "red-60v", "red-50v"
+get-link-tokens-from-bg(
+ "black",
+ "red-5v",
+ "red-60v",
+ "AA")
+> "red-5v", "white"
+get-link-tokens-from-bg(
+ "black",
+ "white",
+ "red-60v",
+ "AA")
+> "white", "white"
+----------------------------------------
+*/
+/*
+----------------------------------------
+next-token()
+----------------------------------------
+Returns next "darker" or "lighter" color
+token of the same token type and variant.
+Returns: color-token | false
+next-token("accent-warm", "lighter")
+> "accent-warm-light"
+next-token("gray-10", "lighter")
+> "gray-5"
+next-token("gray-5", "lighter")
+> "white"
+next-token("white", "lighter")
+> false
+next-token("red-50v", "darker")
+> "red-60v"
+next-token("red-50", "darker")
+> "red-60"
+next-token("red-80v", "darker")
+> "red-90"
+next-token("red-90", "darker")
+> "black"
+next-token("white", "darker")
+> "gray-5"
+next-token("black", "lighter")
+> "gray-90"
+----------------------------------------
+*/
+/*
+----------------------------------------
+test-colors()
+----------------------------------------
+Check to see if all system colors
+fall between the proper relative
+luminance range for their grade.
+Has a couple quirks, as the luminance()
+function returns slightly different
+results than expected.
+----------------------------------------
+*/
+/*
+----------------------------------------
+columns()
+----------------------------------------
+outputs a grid-col number based on
+the number of desired columns in the
+12-column grid
+
+Ex: columns(2) --> 6
+ grid-col(columns(2))
+----------------------------------------
+*/
+/*
+----------------------------------------
+USWDS Properties
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-uswds-value()
+----------------------------------------
+Finds and outputs a value from the
+USWDS standard values.
+
+Used to build other standard utility
+functions and mixins.
+----------------------------------------
+*/
+/*
+----------------------------------------
+get-standard-values()
+----------------------------------------
+Gets a map of USWDS standard values
+for a property
+----------------------------------------
+*/
+/*
+----------------------------------------
+border-radius()
+----------------------------------------
+Get a border-radius from the system
+border-radii
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-weight()
+fw()
+----------------------------------------
+Get a font-weight value from the
+system font-weight
+----------------------------------------
+*/
+/*
+----------------------------------------
+feature()
+----------------------------------------
+Gets a valid USWDS font feature setting
+----------------------------------------
+*/
+/*
+----------------------------------------
+flex()
+----------------------------------------
+Gets a valid USWDS flex value
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-family()
+family()
+----------------------------------------
+Get a font-family stack from a
+role-based or type-based font family
+----------------------------------------
+*/
+/*
+----------------------------------------
+letter-spacing()
+ls()
+----------------------------------------
+Get a letter-spacing value from the
+system letter-spacing
+----------------------------------------
+*/
+/*
+----------------------------------------
+measure()
+----------------------------------------
+Gets a valid USWDS reading line length
+----------------------------------------
+*/
+/*
+----------------------------------------
+opacity()
+----------------------------------------
+Get an opacity from the system
+opacities
+----------------------------------------
+*/
+/*
+----------------------------------------
+order()
+----------------------------------------
+Get an order value from the
+system orders
+----------------------------------------
+*/
+/*
+----------------------------------------
+radius()
+----------------------------------------
+Get a border-radius value from the
+system letter-spacing
+----------------------------------------
+*/
+/*
+----------------------------------------
+font-size()
+----------------------------------------
+Get type scale value from a [family] and
+[scale]
+----------------------------------------
+*/
+/*
+----------------------------------------
+z-index()
+z()
+----------------------------------------
+Get a z-index value from the
+system z-index
+----------------------------------------
+*/
+/*
+----------------------------------------
+utility-font()
+----------------------------------------
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+Not the public-facing function.
+Used for building the utilities and
+withholds certain errors.
+----------------------------------------
+*/
+/*
+----------------------------------------
+family()
+----------------------------------------
+Get a font-family stack
+----------------------------------------
+*/
+/*
+----------------------------------------
+size()
+----------------------------------------
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+font()
+----------------------------------------
+Get a font-family stack
+AND
+Get a normalized font-size in rem from
+a family and a type size in either
+system scale or project scale
+----------------------------------------
+*/
+/*
+----------------------------------------
+typeset()
+----------------------------------------
+Sets:
+- family
+- size
+- line-height
+----------------------------------------
+*/
+/* stylelint-disable max-nesting-depth */
+/*
+----------------------------------------
+@render-pseudoclass
+----------------------------------------
+Build a pseucoclass utiliy from values
+calculated in the @render-utilities-in
+loop
+----------------------------------------
+*/
+/*
+----------------------------------------
+@render-utility
+----------------------------------------
+Build a utility from values calculated
+in the @render-utilities-in loop
+----------------------------------------
+TODO: Determine the proper use of
+unquote() in the following. Changed to
+account for a 'interpolation near
+operators will be simplified in a
+future version of Sass' warning.
+----------------------------------------
+*/
+/*
+----------------------------------------
+@render-utilities-in
+----------------------------------------
+The master loop that sets the building
+blocks of utilities from the values
+in individual rule settings and loops
+through all possible variants
+----------------------------------------
+*/
+/* stylelint-enable */
+/* notifications.scss
+ ---
+ Adds a notification at the top of each USWDS
+ compile. Use this file for important notifications
+ and updates to the design system.
+
+ This file should started fresh at each
+ major version.
+
+*/
+/* prettier-ignore */
+/* prettier-ignore */
+/* stylelint-disable */
+/* stylelint-enable */
+.usa-media-block {
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+}
+
+.usa-media-block__img {
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ margin-right: 0.5rem;
+}
+
+.usa-media-block__body {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 0%;
+ -ms-flex: 1 1 0%;
+ flex: 1 1 0%;
+}
+
+.usa-banner {
+ font-family: Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
+ font-size: 1.06rem;
+ line-height: 1.5;
+ background-color: #f0f0f0;
+}
+
+@media all and (min-width: 40em) {
+ .usa-banner {
+ font-size: 0.87rem;
+ padding-bottom: 0rem;
+ }
+}
+.usa-banner .usa-accordion {
+ font-family: Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
+ font-size: 1.06rem;
+ line-height: 1.5;
+}
+
+.usa-banner .grid-row {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+}
+
+.usa-banner .grid-row.grid-gap-lg {
+ margin-left: -0.75rem;
+ margin-right: -0.75rem;
+}
+
+.usa-banner .grid-row.grid-gap-lg > * {
+ padding-left: 0.75rem;
+ padding-right: 0.75rem;
+}
+
+@media all and (min-width: 40em) {
+ .usa-banner .grid-row .tablet\:grid-col-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 1 auto;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ width: 50%;
+ }
+}
+.usa-banner__header,
+.usa-banner__content {
+ color: get-system-color("gray", 90);
+}
+
+.usa-banner__content {
+ margin-left: auto;
+ margin-right: auto;
+ max-width: 64rem;
+ padding-left: 1rem;
+ padding-right: 1rem;
+ padding-left: 1rem;
+ padding-right: 1rem;
+ background-color: transparent;
+ font-size: 1rem;
+ overflow: hidden;
+ padding-bottom: 1rem;
+ padding-left: 0.5rem;
+ padding-top: 0.25rem;
+ width: 100%;
+}
+
+@media all and (min-width: 64em) {
+ .usa-banner__content {
+ padding-left: 2rem;
+ padding-right: 2rem;
+ }
+}
+@media all and (min-width: 64em) {
+ .usa-banner__content {
+ padding-left: 2rem;
+ padding-right: 2rem;
+ }
+}
+@media all and (min-width: 40em) {
+ .usa-banner__content {
+ padding-bottom: 1.5rem;
+ padding-top: 1.5rem;
+ }
+}
+.usa-banner__content p:first-child {
+ margin: 0;
+}
+
+.usa-banner__guidance {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ max-width: 64ex;
+ padding-top: 1rem;
+}
+
+@media all and (min-width: 40em) {
+ .usa-banner__guidance {
+ padding-top: 0rem;
+ }
+}
+.usa-banner__lock-image {
+ height: 1.5ex;
+ width: 1.21875ex;
+}
+
+.usa-banner__lock-image path {
+ fill: currentColor;
+}
+
+@media (forced-colors: active) {
+ .usa-banner__lock-image path {
+ fill: CanvasText;
+ }
+}
+.usa-banner__inner {
+ padding-left: 1rem;
+ padding-right: 1rem;
+ margin-left: auto;
+ margin-right: auto;
+ max-width: 64rem;
+ padding-left: 1rem;
+ padding-right: 1rem;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ padding-right: 0rem;
+}
+
+@media all and (min-width: 64em) {
+ .usa-banner__inner {
+ padding-left: 2rem;
+ padding-right: 2rem;
+ }
+}
+@media all and (min-width: 64em) {
+ .usa-banner__inner {
+ padding-left: 2rem;
+ padding-right: 2rem;
+ }
+}
+@media all and (min-width: 40em) {
+ .usa-banner__inner {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+}
+.usa-banner__header {
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem;
+ font-size: 0.8rem;
+ font-weight: normal;
+ min-height: 3rem;
+ position: relative;
+}
+
+@media all and (min-width: 40em) {
+ .usa-banner__header {
+ padding-bottom: 0.25rem;
+ padding-top: 0.25rem;
+ min-height: 0;
+ }
+}
+.usa-banner__header-text {
+ margin-bottom: 0;
+ margin-top: 0;
+ font-size: 0.8rem;
+ line-height: 1.1;
+}
+
+.usa-banner__header-action {
+ color: get-system-color("blue", 60, "vivid");
+ line-height: 1.1;
+ margin-bottom: 0rem;
+ margin-top: 0.125rem;
+ text-decoration: underline;
+}
+
+.usa-banner__header-action::after {
+ background-image: url("../img/usa-icons/expand_more.svg");
+ background-repeat: no-repeat;
+ background-position: center center;
+ -webkit-background-size: 1rem 1rem;
+ background-size: 1rem 1rem;
+ display: inline-block;
+ height: 1rem;
+ width: 1rem;
+ content: "";
+ vertical-align: middle;
+ margin-left: auto;
+}
+
+@supports ((-webkit-mask: url("")) or (mask: url(""))) {
+ .usa-banner__header-action::after {
+ background: none;
+ background-color: get-system-color("blue", 60, "vivid");
+ -webkit-mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
+ -webkit-mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-linear-gradient(transparent, transparent);
+ mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
+ mask-image: url("../img/usa-icons/expand_more.svg"), linear-gradient(transparent, transparent);
+ -webkit-mask-position: center center;
+ mask-position: center center;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-size: 1rem 1rem;
+ mask-size: 1rem 1rem;
+ }
+ .usa-banner__header-action::after:hover {
+ background-color: get-system-color("blue-warm", 70, "vivid");
+ }
+}
+.usa-banner__header-action:hover::after {
+ content: "";
+ background-color: get-system-color("blue-warm", 70, "vivid");
+}
+
+.usa-banner__header-action:visited {
+ color: get-system-color("violet", 70, "vivid");
+}
+
+.usa-banner__header-action:hover, .usa-banner__header-action:active {
+ color: get-system-color("blue-warm", 70, "vivid");
+}
+
+.usa-banner__header--expanded .usa-banner__header-action {
+ display: none;
+}
+
+@media all and (min-width: 40em) {
+ .usa-banner__header-action {
+ display: none;
+ }
+}
+@media (forced-colors: active) {
+ .usa-banner__header-action {
+ color: LinkText;
+ }
+ .usa-banner__header-action::after {
+ background-color: ButtonText;
+ }
+}
+.usa-banner__header-flag {
+ float: left;
+ margin-right: 0.5rem;
+ width: 1rem;
+}
+
+@media all and (min-width: 40em) {
+ .usa-banner__header-flag {
+ margin-right: 0.5rem;
+ padding-top: 0rem;
+ }
+}
+.usa-banner__header--expanded {
+ padding-right: 3.5rem;
+}
+
+@media all and (min-width: 40em) {
+ .usa-banner__header--expanded {
+ background-color: transparent;
+ display: block;
+ font-size: 0.8rem;
+ font-weight: normal;
+ min-height: 0rem;
+ padding-right: 0rem;
+ }
+}
+.usa-banner__header--expanded .usa-banner__inner {
+ margin-left: 0rem;
+}
+
+@media all and (min-width: 40em) {
+ .usa-banner__header--expanded .usa-banner__inner {
+ margin-left: auto;
+ }
+}
+.usa-banner__header--expanded .usa-banner__header-action {
+ display: none;
+}
+
+.usa-banner__button {
+ color: get-system-color("blue", 60, "vivid");
+ text-decoration: underline;
+ background-color: transparent;
+ border: 0;
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ font-weight: normal;
+ margin: 0;
+ padding: 0;
+ text-align: left;
+ position: absolute;
+ left: 0;
+ position: absolute;
+ bottom: 0;
+ top: 0;
+ color: get-system-color("blue", 60, "vivid");
+ text-decoration: underline;
+ vertical-align: baseline;
+ color: get-system-color("blue", 60, "vivid");
+ display: block;
+ font-size: 0.8rem;
+ height: auto;
+ line-height: 1.1;
+ padding-top: 0rem;
+ padding-left: 0rem;
+ text-decoration: none;
+ width: auto;
+}
+
+.usa-banner__button:visited {
+ color: get-system-color("violet", 70, "vivid");
+}
+
+.usa-banner__button:hover {
+ color: get-system-color("blue-warm", 70, "vivid");
+}
+
+.usa-banner__button:active {
+ color: get-system-color("blue-warm", 80, "vivid");
+}
+
+.usa-banner__button:focus {
+ outline: 0.25rem solid get-system-color("blue", 40, "vivid");
+ outline-offset: 0rem;
+}
+
+.usa-banner__button:hover, .usa-banner__button.usa-button--hover, .usa-banner__button:disabled:hover, .usa-banner__button[aria-disabled=true]:hover, .usa-banner__button:disabled.usa-button--hover, .usa-banner__button[aria-disabled=true].usa-button--hover, .usa-banner__button:active, .usa-banner__button.usa-button--active, .usa-banner__button:disabled:active, .usa-banner__button[aria-disabled=true]:active, .usa-banner__button:disabled.usa-button--active, .usa-banner__button[aria-disabled=true].usa-button--active, .usa-banner__button:disabled:focus, .usa-banner__button[aria-disabled=true]:focus, .usa-banner__button:disabled.usa-focus, .usa-banner__button[aria-disabled=true].usa-focus, .usa-banner__button:disabled, .usa-banner__button[aria-disabled=true], .usa-banner__button.usa-button--disabled {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ text-decoration: underline;
+}
+
+.usa-banner__button.usa-button--hover {
+ color: get-system-color("blue-warm", 70, "vivid");
+}
+
+.usa-banner__button.usa-button--active {
+ color: get-system-color("blue-warm", 80, "vivid");
+}
+
+.usa-banner__button:disabled, .usa-banner__button[aria-disabled=true], .usa-banner__button:disabled:hover, .usa-banner__button[aria-disabled=true]:hover, .usa-banner__button[aria-disabled=true]:focus {
+ color: get-system-color("gray", 50);
+}
+
+@media (forced-colors: active) {
+ .usa-banner__button:disabled, .usa-banner__button[aria-disabled=true], .usa-banner__button:disabled:hover, .usa-banner__button[aria-disabled=true]:hover, .usa-banner__button[aria-disabled=true]:focus {
+ color: GrayText;
+ }
+}
+.usa-banner__button:visited {
+ color: get-system-color("violet", 70, "vivid");
+}
+
+.usa-banner__button:hover, .usa-banner__button:active {
+ color: get-system-color("blue-warm", 70, "vivid");
+}
+
+@media all and (max-width: 39.99em) {
+ .usa-banner__button {
+ width: 100%;
+ }
+ .usa-banner__button:enabled:focus {
+ outline-offset: -0.25rem;
+ }
+}
+@media all and (min-width: 40em) {
+ .usa-banner__button {
+ color: get-system-color("blue", 60, "vivid");
+ position: static;
+ bottom: auto;
+ left: auto;
+ right: auto;
+ top: auto;
+ display: inline;
+ margin-left: 0.5rem;
+ position: relative;
+ }
+ .usa-banner__button::after {
+ background-image: url("../img/usa-icons/expand_more.svg");
+ background-repeat: no-repeat;
+ background-position: center center;
+ -webkit-background-size: 1rem 1rem;
+ background-size: 1rem 1rem;
+ display: inline-block;
+ height: 1rem;
+ width: 1rem;
+ content: "";
+ vertical-align: middle;
+ margin-left: 0.125rem;
+ }
+ @supports ((-webkit-mask: url("")) or (mask: url(""))) {
+ .usa-banner__button::after {
+ background: none;
+ background-color: get-system-color("blue", 60, "vivid");
+ -webkit-mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
+ -webkit-mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-linear-gradient(transparent, transparent);
+ mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
+ mask-image: url("../img/usa-icons/expand_more.svg"), linear-gradient(transparent, transparent);
+ -webkit-mask-position: center center;
+ mask-position: center center;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-size: 1rem 1rem;
+ mask-size: 1rem 1rem;
+ }
+ .usa-banner__button::after:hover {
+ background-color: get-system-color("blue-warm", 70, "vivid");
+ }
+ }
+ .usa-banner__button:hover::after {
+ content: "";
+ background-color: get-system-color("blue-warm", 70, "vivid");
+ }
+ .usa-banner__button:visited {
+ color: get-system-color("violet", 70, "vivid");
+ }
+ .usa-banner__button:hover, .usa-banner__button:active {
+ color: get-system-color("blue-warm", 70, "vivid");
+ }
+ .usa-banner__button::after, .usa-banner__button:hover::after {
+ position: absolute;
+ }
+}
+@media (min-width: 40em) and (forced-colors: active) {
+ .usa-banner__button::after, .usa-banner__button:hover::after {
+ background-color: ButtonText;
+ }
+}
+@media all and (min-width: 40em) {
+ .usa-banner__button:hover {
+ text-decoration: none;
+ }
+}
+.usa-banner__button[aria-expanded=false], .usa-banner__button[aria-expanded=false]:hover, .usa-banner__button[aria-expanded=true], .usa-banner__button[aria-expanded=true]:hover {
+ background-image: none;
+}
+
+@media (forced-colors: active) {
+ .usa-banner__button[aria-expanded=false]::before, .usa-banner__button[aria-expanded=false]:hover::before, .usa-banner__button[aria-expanded=true]::before, .usa-banner__button[aria-expanded=true]:hover::before {
+ content: none;
+ }
+}
+@media all and (max-width: 39.99em) {
+ .usa-banner__button[aria-expanded=true]::after {
+ background-image: url("../img/usa-icons/close.svg");
+ background-repeat: no-repeat;
+ background-position: center center;
+ -webkit-background-size: 1.5rem 1.5rem;
+ background-size: 1.5rem 1.5rem;
+ display: inline-block;
+ height: 3rem;
+ width: 3rem;
+ content: "";
+ vertical-align: middle;
+ margin-left: 0rem;
+ }
+ @supports ((-webkit-mask: url("")) or (mask: url(""))) {
+ .usa-banner__button[aria-expanded=true]::after {
+ background: none;
+ background-color: get-system-color("blue", 60, "vivid");
+ -webkit-mask-image: url("../img/usa-icons/close.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
+ -webkit-mask-image: url("../img/usa-icons/close.svg"), -webkit-linear-gradient(transparent, transparent);
+ mask-image: url("../img/usa-icons/close.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
+ mask-image: url("../img/usa-icons/close.svg"), linear-gradient(transparent, transparent);
+ -webkit-mask-position: center center;
+ mask-position: center center;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-size: 1.5rem 1.5rem;
+ mask-size: 1.5rem 1.5rem;
+ }
+ }
+ .usa-banner__button[aria-expanded=true]::before {
+ position: absolute;
+ bottom: 0;
+ top: 0;
+ position: absolute;
+ right: 0;
+ background-color: get-system-color("gray-cool", 10);
+ content: "";
+ display: block;
+ height: 3rem;
+ width: 3rem;
+ }
+ .usa-banner__button[aria-expanded=true]::after {
+ position: absolute;
+ bottom: 0;
+ top: 0;
+ position: absolute;
+ right: 0;
+ }
+}
+@media all and (min-width: 40em) {
+ .usa-banner__button[aria-expanded=true] {
+ height: auto;
+ padding: 0rem;
+ position: relative;
+ }
+ .usa-banner__button[aria-expanded=true]::after {
+ background-image: url("../img/usa-icons/expand_less.svg");
+ background-repeat: no-repeat;
+ background-position: center center;
+ -webkit-background-size: 1rem 1rem;
+ background-size: 1rem 1rem;
+ display: inline-block;
+ height: 1rem;
+ width: 1rem;
+ content: "";
+ vertical-align: middle;
+ margin-left: 0.125rem;
+ }
+ @supports ((-webkit-mask: url("")) or (mask: url(""))) {
+ .usa-banner__button[aria-expanded=true]::after {
+ background: none;
+ background-color: get-system-color("blue", 60, "vivid");
+ -webkit-mask-image: url("../img/usa-icons/expand_less.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
+ -webkit-mask-image: url("../img/usa-icons/expand_less.svg"), -webkit-linear-gradient(transparent, transparent);
+ mask-image: url("../img/usa-icons/expand_less.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
+ mask-image: url("../img/usa-icons/expand_less.svg"), linear-gradient(transparent, transparent);
+ -webkit-mask-position: center center;
+ mask-position: center center;
+ -webkit-mask-repeat: no-repeat;
+ mask-repeat: no-repeat;
+ -webkit-mask-size: 1rem 1rem;
+ mask-size: 1rem 1rem;
+ }
+ .usa-banner__button[aria-expanded=true]::after:hover {
+ background-color: get-system-color("blue-warm", 70, "vivid");
+ }
+ }
+ .usa-banner__button[aria-expanded=true]:hover::after {
+ content: "";
+ background-color: get-system-color("blue-warm", 70, "vivid");
+ }
+ .usa-banner__button[aria-expanded=true]::after, .usa-banner__button[aria-expanded=true]:hover::after {
+ position: absolute;
+ }
+}
+@media (min-width: 40em) and (forced-colors: active) {
+ .usa-banner__button[aria-expanded=true]::after, .usa-banner__button[aria-expanded=true]:hover::after {
+ background-color: ButtonText;
+ }
+}
+.usa-banner__button-text {
+ position: absolute;
+ left: -999em;
+ right: auto;
+ text-decoration: underline;
+}
+
+@media all and (min-width: 40em) {
+ .usa-banner__button-text {
+ position: static;
+ display: inline;
+ }
+}
+@media (forced-colors: active) {
+ .usa-banner__button-text {
+ color: LinkText;
+ }
+}
+.usa-banner__icon {
+ width: 2.5rem;
+}
+
+.usa-js-loading .usa-banner__content {
+ position: absolute;
+ left: -999em;
+ right: auto;
+}
+
+/* TYPOGRAPHY */
+/* Google Fonts */
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+p {
+ color: #050D15;
+}
+
+h1,
+.h1 {
+ font-family: "Fjalla One", sans-serif;
+ font-size: 3rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+}
+
+h2,
+.h2 {
+ font-family: "Fjalla One", sans-serif;
+ font-size: 2.5rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+}
+
+h3,
+.h3 {
+ font-family: "Open Sans", sans-serif;
+ font-size: 1.5rem;
+ font-style: normal;
+ font-weight: 700;
+ line-height: normal;
+ text-transform: uppercase;
+}
+
+h4,
+.h4 {
+ font-family: "Fjalla One", sans-serif;
+ font-size: 1.5rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ text-transform: uppercase;
+}
+
+h5,
+.h5 {
+ font-family: "Fjalla One", sans-serif;
+ font-size: 1.125rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ text-transform: uppercase;
+}
+
+p {
+ font-family: "Open Sans", sans-serif;
+ font-size: 1rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.5rem;
+}
+p.large {
+ font-size: 1.125rem;
+}
+
+button,
+a.button,
+a.lock-icon-button,
+a.lock-icon-button-white {
+ font-weight: 700;
+}
+
+.card-heading {
+ font-family: "Fjalla One", sans-serif;
+ font-size: 1.125rem;
+ text-transform: uppercase;
+}
+
+.bold {
+ font-weight: 700;
+}
+
+p > a {
+ color: inherit;
+ text-decoration: underline;
+}
+
+.mv-0 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.mr-8 {
+ margin-right: 0.5rem;
+}
+
+.ml-8 {
+ margin-left: 0.5rem;
+}
+
+.mr-16 {
+ margin-right: 1rem;
+}
+
+.ml-16 {
+ margin-left: 1rem;
+}
+
+.wrapper {
+ margin: auto;
+ max-width: 1140px;
+ right: 0;
+}
+
+.grid {
+ display: grid;
+ grid-auto-columns: minmax(1fr, auto);
+ grid-template-columns: repeat(12, [col-start] 1fr);
+ gap: 24px;
+ grid-auto-rows: auto;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+}
+.grid .col-1,
+.grid .col-2,
+.grid .col-3,
+.grid .col-4,
+.grid .col-5,
+.grid .col-6,
+.grid .col-7,
+.grid .col-8,
+.grid .col-9,
+.grid .col-10,
+.grid .col-11,
+.grid .col-12 {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ grid-column-end: span 1;
+ width: 100%;
+}
+.grid .col-2 {
+ grid-column-end: span 2;
+}
+.grid .col-3 {
+ grid-column-end: span 3;
+}
+.grid .col-4 {
+ grid-column-end: span 4;
+}
+.grid .col-5 {
+ grid-column-end: span 5;
+}
+.grid .col-6 {
+ grid-column-end: span 6;
+}
+.grid .col-7 {
+ grid-column-end: span 7;
+}
+.grid .col-8 {
+ grid-column-end: span 8;
+}
+.grid .col-9 {
+ grid-column-end: span 9;
+}
+.grid .col-10 {
+ grid-column-end: span 10;
+}
+.grid .col-11 {
+ grid-column-end: span 11;
+}
+.grid .col-12 {
+ grid-column-end: span 12;
+}
+.grid .col-start-1 {
+ grid-column-start: 1;
+}
+.grid .col-start-2 {
+ grid-column-start: 2;
+}
+.grid .col-start-3 {
+ grid-column-start: 3;
+}
+.grid .col-start-4 {
+ grid-column-start: 4;
+}
+.grid .col-start-5 {
+ grid-column-start: 5;
+}
+.grid .col-start-6 {
+ grid-column-start: 6;
+}
+.grid .col-start-7 {
+ grid-column-start: 7;
+}
+.grid .col-start-8 {
+ grid-column-start: 8;
+}
+.grid .col-start-9 {
+ grid-column-start: 9;
+}
+.grid .col-start-10 {
+ grid-column-start: 10;
+}
+.grid .col-start-11 {
+ grid-column-start: 11;
+}
+.grid .col-start-12 {
+ grid-column-start: 12;
+}
+@media screen and (max-width: 49.3125rem) {
+ .grid {
+ grid-template-columns: minmax(0, 1fr);
+ grid-template-rows: auto;
+ }
+ .grid .col-1,
+ .grid .col-2,
+ .grid .col-3,
+ .grid .col-4,
+ .grid .col-5,
+ .grid .col-6,
+ .grid .col-7,
+ .grid .col-8,
+ .grid .col-9,
+ .grid .col-10,
+ .grid .col-11,
+ .grid .col-12,
+ .grid .col {
+ grid-column: auto;
+ }
+}
+
+img {
+ max-width: 100%;
+ height: 100%;
+}
+
+.nav {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ color: #616265;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ list-style: none;
+ margin-bottom: 0;
+ padding: 1rem;
+ position: relative;
+ text-transform: uppercase;
+}
+.nav > .menu-item--active-trail > a {
+ border-radius: 4px 4px 0px 0px;
+ border-bottom: 2px solid #20588A;
+ background: #F4FBFF;
+ color: #20588A;
+}
+.nav > .menu-item--active-trail > a:hover {
+ border-radius: 4px 4px 0px 0px;
+}
+.nav > .menu-item--active-trail > a:focus-visible {
+ outline: -webkit-focus-ring-color auto 1px;
+}
+.nav .log-out-icon::after {
+ background-image: url("../images/logout.svg");
+ background-repeat: no-repeat;
+ content: "";
+ display: inline-block;
+ height: 22px;
+ margin-left: 1rem;
+ vertical-align: middle;
+ width: 22px;
+}
+
+.nav-item > a:not(.button-primary, .button-secondary):hover {
+ border-radius: 5px;
+ background: var(--Light-blue, #F4FBFF);
+}
+
+.nav-item.menu-item--expanded .menu {
+ background-color: #FFFFFF;
+ border-radius: 10px;
+ -webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ list-style-type: none;
+ padding: 0.625rem;
+ position: absolute;
+ visibility: hidden;
+ z-index: 99999;
+}
+.nav-item.menu-item--expanded .menu li[icon=_services_icon],
+.nav-item.menu-item--expanded .menu li[icon=_roadmap_icon],
+.nav-item.menu-item--expanded .menu li[icon=_organization_icon],
+.nav-item.menu-item--expanded .menu li[icon=_leadership_icon],
+.nav-item.menu-item--expanded .menu li[icon=_diversity_icon],
+.nav-item.menu-item--expanded .menu li[icon=_health_icon] {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ padding: 1.125rem 1.25rem;
+}
+.nav-item.menu-item--expanded .menu li[icon=_services_icon] a::before,
+.nav-item.menu-item--expanded .menu li[icon=_roadmap_icon] a::before,
+.nav-item.menu-item--expanded .menu li[icon=_organization_icon] a::before,
+.nav-item.menu-item--expanded .menu li[icon=_leadership_icon] a::before,
+.nav-item.menu-item--expanded .menu li[icon=_diversity_icon] a::before,
+.nav-item.menu-item--expanded .menu li[icon=_health_icon] a::before {
+ content: "";
+ height: 48px;
+ left: 10px;
+ position: absolute;
+ width: 54px;
+}
+.nav-item.menu-item--expanded .menu li[icon=_services_icon] a::before {
+ background-image: url("../images/services_icon.svg");
+}
+.nav-item.menu-item--expanded .menu li[icon=_roadmap_icon] a::before {
+ background-image: url("../images/roadmap_icon.svg");
+}
+.nav-item.menu-item--expanded .menu li[icon=_organization_icon] a::before {
+ background-image: url("../images/organization_icon.svg");
+}
+.nav-item.menu-item--expanded .menu li[icon=_leadership_icon] a::before {
+ background-image: url("../images/leadership_icon.svg");
+}
+.nav-item.menu-item--expanded .menu li[icon=_diversity_icon] a::before {
+ background-image: url("../images/diversity_icon.svg");
+}
+.nav-item.menu-item--expanded .menu li[icon=_health_icon] a::before {
+ background-image: url("../images/health_icon.svg");
+}
+.nav-item.menu-item--expanded .menu li:hover {
+ border-radius: 5px;
+ background: var(--Light-blue, #F4FBFF);
+}
+.nav-item.menu-item--expanded .menu a {
+ color: #050D15;
+ font-size: 0.75rem;
+ font-family: "Open Sans", sans-serif;
+ padding: 0;
+ padding-left: 3.125rem;
+}
+.nav-item.menu-item--expanded .menu a span {
+ display: block;
+ font-weight: 400;
+}
+.nav-item.menu-item--expanded .menu span {
+ font-size: 0.75rem;
+ text-transform: initial;
+}
+.nav-item.menu-item--expanded:hover .menu, .nav-item.menu-item--expanded:focus-within .menu {
+ visibility: visible;
+}
+
+.nav-link {
+ color: #616265;
+ font-size: 0.875rem;
+ font-family: "Open Sans", sans-serif;
+ font-weight: 700;
+}
+
+.navbar-expand-lg {
+ margin: auto;
+ max-width: 1140px;
+ right: 0;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+
+.navbar-brand {
+ width: 126px;
+}
+
+@media only screen and (max-width: 61.9375rem) {
+ .nav {
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ padding: 1rem 0;
+ }
+ .nav > .menu-item--active-trail > a {
+ background: transparent;
+ border-radius: 0;
+ border-bottom: none;
+ color: #20588A;
+ }
+ .nav-link {
+ padding: 0;
+ }
+ .nav-item > a:hover {
+ border-radius: 0;
+ background: transparent;
+ }
+ .navbar-expand-lg {
+ padding: 0 1rem;
+ }
+ .nav-item.menu-item--expanded .menu {
+ padding: 0;
+ margin-top: 0.5rem;
+ visibility: visible;
+ }
+ .nav-item.menu-item--expanded .menu a {
+ font-size: 0.875rem;
+ font-weight: normal;
+ padding: 0;
+ text-transform: initial;
+ }
+ .nav-item.menu-item--expanded .menu a span {
+ display: none;
+ }
+ .nav-item.menu-item--expanded .menu a:hover {
+ color: #20588A;
+ }
+ .nav-item.menu-item--expanded .menu li[icon=_services_icon],
+ .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon],
+ .nav-item.menu-item--expanded .menu li[icon=_organization_icon],
+ .nav-item.menu-item--expanded .menu li[icon=_leadership_icon],
+ .nav-item.menu-item--expanded .menu li[icon=_diversity_icon],
+ .nav-item.menu-item--expanded .menu li[icon=_health_icon] {
+ padding: 1rem 0;
+ }
+ .nav-item.menu-item--expanded .menu li[icon=_services_icon] a::before,
+ .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon] a::before,
+ .nav-item.menu-item--expanded .menu li[icon=_organization_icon] a::before,
+ .nav-item.menu-item--expanded .menu li[icon=_leadership_icon] a::before,
+ .nav-item.menu-item--expanded .menu li[icon=_diversity_icon] a::before,
+ .nav-item.menu-item--expanded .menu li[icon=_health_icon] a::before {
+ display: none;
+ }
+ .nav-item.menu-item--expanded .menu li:hover {
+ border-radius: 0;
+ background: transparent;
+ }
+}
+@media screen and (max-width: 49.3125rem) {
+ ul > li.nav-item.header-nav-action-item {
+ margin-left: 0;
+ margin-top: 1.5rem;
+ }
+}
+
+#block-customer-portal-theme-mainmenu-2 > ul > li.nav-item.header-nav-action-item {
+ display: none;
+}
+
+.navbar-toggler {
+ background-color: #20588A;
+ border-radius: 50%;
+ height: 38px;
+ padding: 0;
+ width: 38px;
+}
+
+.navbar-toggler.collapsed .navbar-toggler-icon {
+ background-image: url("../images/mobile_icons.svg");
+ border: none;
+}
+
+.navbar-toggler > .navbar-toggler-icon {
+ background-image: url("../images/close_mobile_icon.svg");
+}
+
+.navbar-toggler > .navbar-toggler-icon .nav, .navbar-collapse.show .nav {
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+}
+.navbar-toggler > .navbar-toggler-icon .nav .nav-item.menu-item--expanded::after, .navbar-collapse.show .nav .nav-item.menu-item--expanded::after {
+ background-image: url("../images/drop_down_arrow.svg");
+ content: "";
+ height: 24px;
+ margin-top: -1.875rem;
+ position: absolute;
+ right: 20px;
+ width: 24px;
+}
+.navbar-toggler > .navbar-toggler-icon .nav .nav-item.menu-item--expanded .menu, .navbar-collapse.show .nav .nav-item.menu-item--expanded .menu {
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ position: relative;
+ margin-top: 0;
+}
+
+@media only screen and (max-width: 61.9375rem) {
+ .navbar-toggler > .navbar-toggler-icon .nav .nav-item.menu-item--expanded::after, .navbar-collapse.show .nav .nav-item.menu-item--expanded::after {
+ display: none;
+ }
+ .navbar-toggler > .navbar-toggler-icon .nav .nav-item.menu-item--expanded .menu, .navbar-collapse.show .nav .nav-item.menu-item--expanded .menu {
+ margin-top: 0.5rem;
+ }
+}
+.site-footer {
+ background: #050D15 !important;
+}
+.site-footer .region-footer-first,
+.site-footer .region-footer-second,
+.site-footer .region-footer-third {
+ margin: auto;
+ max-width: 1140px;
+ right: 0;
+}
+.site-footer .region-footer-first .footer-wrapper,
+.site-footer .region-footer-second .footer-wrapper,
+.site-footer .region-footer-third .footer-wrapper {
+ max-width: 1026px;
+}
+.site-footer .region-footer-first {
+ padding: 3.75rem 0 0 0;
+}
+.site-footer .region-footer-first nav .nav {
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ padding: 0 0 1rem;
+}
+.site-footer .region-footer-first nav .nav .nav-link.button-primary.button-primary--login, .site-footer .region-footer-first nav .nav .log-out-icon {
+ display: none;
+}
+.site-footer .region-footer-first nav li {
+ width: 150px;
+}
+.site-footer .region-footer-first nav .nav-link {
+ color: #FFFFFF;
+ font-size: 0.875rem;
+ padding: 0.625rem;
+ text-decoration: underline;
+ text-transform: none;
+}
+.site-footer .region-footer-first nav .nav-link:hover {
+ color: #48A4B6;
+ background-color: transparent;
+}
+.site-footer .region-footer-first nav .nav-link:visited {
+ background: transparent;
+}
+.site-footer .region-footer-first nav .nav-link:focus-visible, .site-footer .region-footer-first nav .nav-link:focus {
+ -webkit-box-shadow: 0 0 0 0.25rem #FFFFFF;
+ box-shadow: 0 0 0 0.25rem #FFFFFF;
+}
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu {
+ background-color: transparent;
+ border-radius: 0;
+ -webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ box-shadow: none;
+ list-style-type: none;
+ padding: 0;
+ position: relative;
+ visibility: visible;
+}
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu a {
+ color: #FFFFFF;
+ font-size: 0.875rem;
+ font-weight: 400;
+ text-decoration: underline;
+ text-transform: none;
+}
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu span {
+ display: none;
+}
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_services_icon],
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon],
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_organization_icon],
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_leadership_icon],
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_diversity_icon],
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_health_icon] {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ margin-left: 0;
+ padding: 0;
+}
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_services_icon]::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon]::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_organization_icon]::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_leadership_icon]::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_diversity_icon]::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_health_icon]::before {
+ background-image: none;
+ content: "";
+ height: 0;
+ left: 0;
+ position: absolute;
+ width: 0;
+}
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_services_icon]:hover a,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon]:hover a,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_organization_icon]:hover a,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_leadership_icon]:hover a,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_diversity_icon]:hover a,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_health_icon]:hover a {
+ background-color: transparent;
+ color: #48A4B6;
+}
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_services_icon] a::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon] a::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_organization_icon] a::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_leadership_icon] a::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_diversity_icon] a::before,
+.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_health_icon] a::before {
+ display: none;
+}
+.site-footer .region-footer-first .nav > .menu-item--active-trail > a {
+ background: transparent;
+ border: 0;
+ color: #909193;
+}
+.site-footer .region-footer-second {
+ border-top: 1px solid #616265;
+ padding: 2.5rem 0;
+}
+.site-footer .region-footer-second .nav {
+ -webkit-column-gap: 20px;
+ -moz-column-gap: 20px;
+ column-gap: 20px;
+ padding: 0;
+}
+.site-footer .region-footer-second .nav li a {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+.site-footer .region-footer-second .nav li {
+ padding: 0;
+}
+.site-footer .region-footer-second .block-content-footer_links {
+ margin-bottom: 2.5rem;
+}
+.site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content {
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr;
+}
+.site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:first-of-type .field--name-field-footer-title::before, .site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:nth-of-type(2) .field--name-field-footer-title::before, .site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:nth-of-type(3) .field--name-field-footer-title::before {
+ background-image: url("../images/laptop.svg");
+ content: "";
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ height: 18px;
+ margin-right: 0.5rem;
+ vertical-align: middle;
+ width: 18px;
+}
+.site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:nth-of-type(2) .field--name-field-footer-title::before {
+ background-image: url("../images/phone.svg");
+}
+.site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:nth-of-type(3) .field--name-field-footer-title::before {
+ background-image: url("../images/location.svg");
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-description p,
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-title {
+ color: #FFFFFF;
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-title {
+ font-size: 0.875rem;
+ text-transform: uppercase;
+ margin-bottom: 1rem;
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white) {
+ border-radius: initial;
+ border-top: none;
+ border-right: none;
+ border-left: none;
+ border-bottom: 2px solid transparent;
+ padding: 0.375rem 0.25rem;
+ font-family: "Open Sans", sans-serif;
+ font-weight: 700;
+ text-transform: uppercase;
+ text-decoration: none;
+ cursor: pointer;
+ border-bottom-color: #FFFFFF;
+ color: #FFFFFF;
+ font-size: 0.75rem;
+ font-weight: 700;
+ text-transform: uppercase;
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white)::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white)::after {
+ content: "";
+ background-image: url("../images/open-gray.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.5rem;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white)::after {
+ margin-left: 0.5rem;
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white):hover {
+ color: #48A4B6;
+ background-color: transparent;
+ border-bottom-color: #48A4B6;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white):hover::after {
+ -webkit-filter: invert(55%) sepia(10%) saturate(2052%) hue-rotate(142deg) brightness(102%) contrast(91%);
+ filter: invert(55%) sepia(10%) saturate(2052%) hue-rotate(142deg) brightness(102%) contrast(91%);
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white):focus {
+ outline: none;
+ -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white):focus {
+ -webkit-box-shadow: 0 0 0 2px #FFFFFF;
+ box-shadow: 0 0 0 2px #FFFFFF;
+}
+.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-description p {
+ font-size: 0.75rem;
+}
+.site-footer .region-footer-second .block-content-basic .field--name-body p {
+ color: #FFFFFF;
+ font-size: 0.75rem;
+ margin-top: 2.5rem;
+}
+.site-footer .region-footer-third {
+ border-top: 1px solid #616265;
+ padding: 2.5rem 0 3.75rem 0;
+}
+.site-footer .region-footer-third .nav {
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ padding: 0;
+}
+.site-footer .region-footer-third .nav a {
+ color: #FFFFFF;
+ font-size: 0.75rem;
+ font-weight: 400;
+ text-decoration: underline;
+}
+.site-footer .region-footer-third .nav a:hover {
+ color: #48A4B6;
+ background: transparent;
+}
+.site-footer .region-footer-third .nav-link:focus {
+ -webkit-box-shadow: 0 0 0 0.25rem #FFFFFF;
+ box-shadow: 0 0 0 0.25rem #FFFFFF;
+}
+.site-footer .nav-item.menu-item--expanded .menu li:hover {
+ background: transparent;
+}
+
+#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_services_icon]::before,
+#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_support_icon]::before,
+#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_about_icon]::before,
+#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_connect_icon]::before {
+ content: "";
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ height: 48px;
+ width: 54px;
+}
+#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_services_icon]::before {
+ background-image: url("../images/services_icon.svg");
+}
+#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_support_icon]::before {
+ background-image: url("../images/support.svg");
+}
+#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_about_icon]::before {
+ background-image: url("../images/people.svg");
+}
+#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_connect_icon]::before {
+ background-image: url("../images/connect.svg");
+}
+
+@media only screen and (max-width: 45rem) {
+ .site-footer {
+ padding: 1rem;
+ }
+ .site-footer .region-footer-first {
+ padding: 0;
+ }
+ .site-footer .region-footer-first .nav {
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ }
+ .site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content {
+ grid-template-columns: 1fr;
+ row-gap: 40px;
+ }
+ .site-footer .region-footer-third .nav {
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ }
+}
+.primary-button,
+.button-primary {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #20588A;
+ background-color: #20588A;
+ color: #FFFFFF;
+}
+.primary-button:disabled,
+.button-primary:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.primary-button:focus,
+.button-primary:focus {
+ outline-offset: 2px;
+}
+.primary-button:hover,
+.button-primary:hover {
+ background-color: #133553;
+ border-color: #133553;
+ color: #FFFFFF;
+}
+.primary-button:focus,
+.button-primary:focus {
+ border-color: #050D15;
+ color: #FFFFFF;
+}
+.primary-button::before, .primary-button::after,
+.button-primary::before,
+.button-primary::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.primary-button:hover::before, .primary-button:hover::after, .primary-button:focus::before, .primary-button:focus::after,
+.button-primary:hover::before,
+.button-primary:hover::after,
+.button-primary:focus::before,
+.button-primary:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.primary-button:hover::before, .primary-button:hover::after, .primary-button:active::before, .primary-button:active::after, .primary-button:focus::before, .primary-button:focus::after,
+.button-primary:hover::before,
+.button-primary:hover::after,
+.button-primary:active::before,
+.button-primary:active::after,
+.button-primary:focus::before,
+.button-primary:focus::after {
+ fill: currentColor;
+}
+
+.button-primary--arrow {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #20588A;
+ background-color: #20588A;
+ color: #FFFFFF;
+}
+.button-primary--arrow:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-primary--arrow:focus {
+ outline-offset: 2px;
+}
+.button-primary--arrow:hover {
+ background-color: #133553;
+ border-color: #133553;
+ color: #FFFFFF;
+}
+.button-primary--arrow:focus {
+ border-color: #050D15;
+ color: #FFFFFF;
+}
+.button-primary--arrow::before, .button-primary--arrow::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-primary--arrow:hover::before, .button-primary--arrow:hover::after, .button-primary--arrow:focus::before, .button-primary--arrow:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-primary--arrow::after {
+ content: "";
+ background-image: url("../images/arrow-forward.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-primary--arrow:hover::before, .button-primary--arrow:hover::after, .button-primary--arrow:active::before, .button-primary--arrow:active::after, .button-primary--arrow:focus::before, .button-primary--arrow:focus::after {
+ fill: currentColor;
+}
+
+.button-primary--download {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #20588A;
+ background-color: #20588A;
+ color: #FFFFFF;
+}
+.button-primary--download:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-primary--download:focus {
+ outline-offset: 2px;
+}
+.button-primary--download:hover {
+ background-color: #133553;
+ border-color: #133553;
+ color: #FFFFFF;
+}
+.button-primary--download:focus {
+ border-color: #050D15;
+ color: #FFFFFF;
+}
+.button-primary--download::before, .button-primary--download::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-primary--download:hover::before, .button-primary--download:hover::after, .button-primary--download:focus::before, .button-primary--download:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-primary--download::after {
+ content: "";
+ background-image: url("../images/download.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-primary--download:hover::before, .button-primary--download:hover::after, .button-primary--download:active::before, .button-primary--download:active::after, .button-primary--download:focus::before, .button-primary--download:focus::after {
+ fill: currentColor;
+}
+
+.button-primary--login {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #20588A;
+ background-color: #20588A;
+ color: #FFFFFF;
+}
+.button-primary--login:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-primary--login:focus {
+ outline-offset: 2px;
+}
+.button-primary--login:hover {
+ background-color: #133553;
+ border-color: #133553;
+ color: #FFFFFF;
+}
+.button-primary--login:focus {
+ border-color: #050D15;
+ color: #FFFFFF;
+}
+.button-primary--login::before, .button-primary--login::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-primary--login:hover::before, .button-primary--login:hover::after, .button-primary--login:focus::before, .button-primary--login:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-primary--login::after {
+ content: "";
+ background-image: url("../images/login.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-primary--login:hover::before, .button-primary--login:hover::after, .button-primary--login:active::before, .button-primary--login:active::after, .button-primary--login:focus::before, .button-primary--login:focus::after {
+ fill: currentColor;
+}
+
+.button-primary--external {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #20588A;
+ background-color: #20588A;
+ color: #FFFFFF;
+}
+.button-primary--external:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-primary--external:focus {
+ outline-offset: 2px;
+}
+.button-primary--external:hover {
+ background-color: #133553;
+ border-color: #133553;
+ color: #FFFFFF;
+}
+.button-primary--external:focus {
+ border-color: #050D15;
+ color: #FFFFFF;
+}
+.button-primary--external::before, .button-primary--external::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-primary--external:hover::before, .button-primary--external:hover::after, .button-primary--external:focus::before, .button-primary--external:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-primary--external::after {
+ content: "";
+ background-image: url("../images/open-gray.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-primary--external:hover::before, .button-primary--external:hover::after, .button-primary--external:active::before, .button-primary--external:active::after, .button-primary--external:focus::before, .button-primary--external:focus::after {
+ fill: currentColor;
+}
+
+.button-tertiary--login {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #C3D8DF;
+ background-color: #C3D8DF;
+ color: #050D15;
+ margin-top: 1.5rem;
+}
+.button-tertiary--login:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-tertiary--login:focus {
+ outline-offset: 2px;
+}
+.button-tertiary--login:hover {
+ border-color: #48A4B6;
+ background-color: #48A4B6;
+}
+.button-tertiary--login:focus {
+ border-color: #050D15;
+ -webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+ box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+}
+.button-tertiary--login::after {
+ content: "";
+ background-image: url("../images/login.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-tertiary--login:hover::before, .button-tertiary--login:hover::after, .button-tertiary--login:active::before, .button-tertiary--login:active::after, .button-tertiary--login:focus::before, .button-tertiary--login:focus::after {
+ fill: currentColor;
+}
+
+.button-tertiary--external {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #C3D8DF;
+ background-color: #C3D8DF;
+ color: #050D15;
+ margin-top: 1.5rem;
+}
+.button-tertiary--external:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-tertiary--external:focus {
+ outline-offset: 2px;
+}
+.button-tertiary--external:hover {
+ border-color: #48A4B6;
+ background-color: #48A4B6;
+}
+.button-tertiary--external:focus {
+ border-color: #050D15;
+ -webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+ box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+}
+.button-tertiary--external::after {
+ content: "";
+ background-image: url("../images/open-gray.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-tertiary--external:hover::before, .button-tertiary--external:hover::after, .button-tertiary--external:active::before, .button-tertiary--external:active::after, .button-tertiary--external:focus::before, .button-tertiary--external:focus::after {
+ fill: currentColor;
+}
+
+.outline-icon-btn-white {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #FFFFFF;
+ background-color: transparent;
+ color: #FFFFFF;
+}
+.outline-icon-btn-white:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.outline-icon-btn-white:focus {
+ outline-offset: 2px;
+}
+.outline-icon-btn-white:hover {
+ border-color: #C3D8DF;
+ background-color: #C3D8DF;
+ color: #050D15;
+}
+.outline-icon-btn-white:focus {
+ border-color: #6991AC;
+ -webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+ box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+}
+.outline-icon-btn-white::before, .outline-icon-btn-white::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.outline-icon-btn-white:hover::before, .outline-icon-btn-white:hover::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.outline-icon-btn-white::after {
+ content: "";
+ background-image: url("../images/open-gray.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.outline-icon-btn-white:hover::before, .outline-icon-btn-white:hover::after, .outline-icon-btn-white:active::before, .outline-icon-btn-white:active::after, .outline-icon-btn-white:focus::before, .outline-icon-btn-white:focus::after {
+ fill: currentColor;
+}
+
+.button-secondary,
+.secondary-button {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #050D15;
+ color: #050D15;
+}
+.button-secondary:disabled,
+.secondary-button:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-secondary:focus,
+.secondary-button:focus {
+ outline-offset: 2px;
+}
+.button-secondary:hover,
+.secondary-button:hover {
+ border-color: #050D15;
+ background-color: black;
+ color: #FFFFFF;
+}
+.button-secondary:focus,
+.secondary-button:focus {
+ border-color: #050D15;
+ -webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+ box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+}
+.button-secondary::before, .button-secondary::after,
+.secondary-button::before,
+.secondary-button::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.button-secondary:hover::before, .button-secondary:hover::after, .button-secondary:focus::before, .button-secondary:focus::after,
+.secondary-button:hover::before,
+.secondary-button:hover::after,
+.secondary-button:focus::before,
+.secondary-button:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-secondary:hover::before, .button-secondary:hover::after, .button-secondary:active::before, .button-secondary:active::after, .button-secondary:focus::before, .button-secondary:focus::after,
+.secondary-button:hover::before,
+.secondary-button:hover::after,
+.secondary-button:active::before,
+.secondary-button:active::after,
+.secondary-button:focus::before,
+.secondary-button:focus::after {
+ fill: currentColor;
+}
+
+.button-secondary--arrow {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #050D15;
+ color: #050D15;
+}
+.button-secondary--arrow:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-secondary--arrow:focus {
+ outline-offset: 2px;
+}
+.button-secondary--arrow:hover {
+ border-color: #050D15;
+ background-color: black;
+ color: #FFFFFF;
+}
+.button-secondary--arrow:focus {
+ border-color: #050D15;
+ -webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+ box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+}
+.button-secondary--arrow::before, .button-secondary--arrow::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.button-secondary--arrow:hover::before, .button-secondary--arrow:hover::after, .button-secondary--arrow:focus::before, .button-secondary--arrow:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-secondary--arrow::after {
+ content: "";
+ background-image: url("../images/arrow-forward.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-secondary--arrow:hover::before, .button-secondary--arrow:hover::after, .button-secondary--arrow:active::before, .button-secondary--arrow:active::after, .button-secondary--arrow:focus::before, .button-secondary--arrow:focus::after {
+ fill: currentColor;
+}
+
+.button-secondary--download {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #050D15;
+ color: #050D15;
+}
+.button-secondary--download:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-secondary--download:focus {
+ outline-offset: 2px;
+}
+.button-secondary--download:hover {
+ border-color: #050D15;
+ background-color: black;
+ color: #FFFFFF;
+}
+.button-secondary--download:focus {
+ border-color: #050D15;
+ -webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+ box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+}
+.button-secondary--download::before, .button-secondary--download::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.button-secondary--download:hover::before, .button-secondary--download:hover::after, .button-secondary--download:focus::before, .button-secondary--download:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-secondary--download::after {
+ content: "";
+ background-image: url("../images/download.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-secondary--download:hover::before, .button-secondary--download:hover::after, .button-secondary--download:active::before, .button-secondary--download:active::after, .button-secondary--download:focus::before, .button-secondary--download:focus::after {
+ fill: currentColor;
+}
+
+.button-secondary--external,
+.outline-button-black {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #050D15;
+ color: #050D15;
+}
+.button-secondary--external:disabled,
+.outline-button-black:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-secondary--external:focus,
+.outline-button-black:focus {
+ outline-offset: 2px;
+}
+.button-secondary--external:hover,
+.outline-button-black:hover {
+ border-color: #050D15;
+ background-color: black;
+ color: #FFFFFF;
+}
+.button-secondary--external:focus,
+.outline-button-black:focus {
+ border-color: #050D15;
+ -webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+ box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+}
+.button-secondary--external::before, .button-secondary--external::after,
+.outline-button-black::before,
+.outline-button-black::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.button-secondary--external:hover::before, .button-secondary--external:hover::after, .button-secondary--external:focus::before, .button-secondary--external:focus::after,
+.outline-button-black:hover::before,
+.outline-button-black:hover::after,
+.outline-button-black:focus::before,
+.outline-button-black:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-secondary--external::after,
+.outline-button-black::after {
+ content: "";
+ background-image: url("../images/open-gray.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-secondary--external:hover::before, .button-secondary--external:hover::after, .button-secondary--external:active::before, .button-secondary--external:active::after, .button-secondary--external:focus::before, .button-secondary--external:focus::after,
+.outline-button-black:hover::before,
+.outline-button-black:hover::after,
+.outline-button-black:active::before,
+.outline-button-black:active::after,
+.outline-button-black:focus::before,
+.outline-button-black:focus::after {
+ fill: currentColor;
+}
+
+.button-secondary--login {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #050D15;
+ color: #050D15;
+}
+.button-secondary--login:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.button-secondary--login:focus {
+ outline-offset: 2px;
+}
+.button-secondary--login:hover {
+ border-color: #050D15;
+ background-color: black;
+ color: #FFFFFF;
+}
+.button-secondary--login:focus {
+ border-color: #050D15;
+ -webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+ box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+}
+.button-secondary--login::before, .button-secondary--login::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.button-secondary--login:hover::before, .button-secondary--login:hover::after, .button-secondary--login:focus::before, .button-secondary--login:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.button-secondary--login::after {
+ content: "";
+ background-image: url("../images/login.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.625rem;
+ margin-right: 0;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.button-secondary--login:hover::before, .button-secondary--login:hover::after, .button-secondary--login:active::before, .button-secondary--login:active::after, .button-secondary--login:focus::before, .button-secondary--login:focus::after {
+ fill: currentColor;
+}
+
+.link-icon {
+ border-radius: initial;
+ border-top: none;
+ border-right: none;
+ border-left: none;
+ border-bottom: 2px solid transparent;
+ padding: 0.375rem 0.25rem;
+ font-family: "Open Sans", sans-serif;
+ font-weight: 700;
+ text-transform: uppercase;
+ text-decoration: none;
+ cursor: pointer;
+ border-bottom-color: #050D15;
+ color: #050D15;
+}
+.link-icon::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.link-icon::after {
+ content: "";
+ background-image: url("../images/open-gray.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.5rem;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.link-icon::after {
+ margin-left: 0.5rem;
+}
+.link-icon:hover {
+ color: #20588A;
+ background-color: transparent;
+ border-bottom-color: #20588A;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+}
+.link-icon:hover::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
+ filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
+}
+.link-icon:focus {
+ outline: none;
+ -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+}
+
+.link-icon--download {
+ border-radius: initial;
+ border-top: none;
+ border-right: none;
+ border-left: none;
+ border-bottom: 2px solid transparent;
+ padding: 0.375rem 0.25rem;
+ font-family: "Open Sans", sans-serif;
+ font-weight: 700;
+ text-transform: uppercase;
+ text-decoration: none;
+ cursor: pointer;
+ border-bottom-color: #050D15;
+ color: #050D15;
+}
+.link-icon--download::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.link-icon--download::after {
+ content: "";
+ background-image: url("../images/download.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.5rem;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.link-icon--download::after {
+ margin-left: 0.5rem;
+}
+.link-icon--download:hover {
+ color: #20588A;
+ background-color: transparent;
+ border-bottom-color: #20588A;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+}
+.link-icon--download:hover::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
+ filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
+}
+.link-icon--download:focus {
+ outline: none;
+ -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+}
+
+.link-icon--light {
+ border-radius: initial;
+ border-top: none;
+ border-right: none;
+ border-left: none;
+ border-bottom: 2px solid transparent;
+ padding: 0.375rem 0.25rem;
+ font-family: "Open Sans", sans-serif;
+ font-weight: 700;
+ text-transform: uppercase;
+ text-decoration: none;
+ cursor: pointer;
+ border-bottom-color: #FFFFFF;
+ color: #FFFFFF;
+}
+.link-icon--light::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.link-icon--light::after {
+ content: "";
+ background-image: url("../images/open-gray.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.5rem;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.link-icon--light::after {
+ margin-left: 0.5rem;
+}
+.link-icon--light:hover {
+ color: #48A4B6;
+ background-color: transparent;
+ border-bottom-color: #48A4B6;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+}
+.link-icon--light:hover::after {
+ -webkit-filter: invert(55%) sepia(10%) saturate(2052%) hue-rotate(142deg) brightness(102%) contrast(91%);
+ filter: invert(55%) sepia(10%) saturate(2052%) hue-rotate(142deg) brightness(102%) contrast(91%);
+}
+.link-icon--light:focus {
+ outline: none;
+ -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+}
+
+.inline-buttons > .field--name-field-cta-buttons-selector {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-column-gap: 24px;
+ -moz-column-gap: 24px;
+ column-gap: 24px;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin: 2rem 0;
+ row-gap: 24px;
+}
+
+.lock-icon-button,
+.lock-icon-button-white,
+.outline-button-white {
+ border-radius: 5px;
+ border: 2px solid #050D15;
+ padding: 0.5rem 1rem;
+ text-transform: uppercase;
+}
+
+a.lock-icon-button,
+a.lock-icon-button-white {
+ color: #050D15;
+ display: inline-block;
+}
+a.lock-icon-button:hover,
+a.lock-icon-button-white:hover {
+ background: #133553;
+ border: 2px solid #133553;
+ color: #FFFFFF;
+}
+
+.lock-icon-button,
+.lock-icon-button-white {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+}
+.lock-icon-button::before,
+.lock-icon-button-white::before {
+ content: "";
+ height: 18px;
+ width: 18px;
+}
+.lock-icon-button:focus-visible,
+.lock-icon-button-white:focus-visible {
+ border: 1px solid #050D15;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.lock-icon-button {
+ background-color: #20588A;
+ border: 1px solid #20588A;
+ color: #FFFFFF;
+}
+.lock-icon-button::before {
+ background-image: url("../images/lock.svg");
+}
+.lock-icon-button:hover, .lock-icon-button:focus {
+ background-color: #326393;
+ color: #FFFFFF;
+}
+
+.lock-icon-button-white {
+ background-color: #FFFFFF;
+ border: 1px solid #20588A;
+ color: #20588A;
+}
+.lock-icon-button-white::before {
+ background-image: url("../images/lock-icon-blue.svg");
+ content: "";
+}
+.lock-icon-button-white:hover, .lock-icon-button-white:focus {
+ background-color: rgba(32, 88, 138, 0.0784313725);
+ color: #20588A;
+}
+
+.login-icon-button-black {
+ background-color: #C3D8DF;
+ border-radius: 5px;
+ font-size: 1rem;
+ font-weight: 700;
+ padding: 0.5rem 1rem;
+ text-transform: uppercase;
+}
+.login-icon-button-black a {
+ color: #050D15;
+}
+.login-icon-button-black:hover {
+ background-color: #48A4B6;
+ color: #050D15;
+}
+.login-icon-button-black:focus {
+ background-color: #C3D8DF;
+ border: #050D15 2px solid;
+}
+.login-icon-button-black::after {
+ background-image: url("../images/login.svg");
+ content: "";
+ height: 18px;
+ width: 18px;
+}
+
+.outline-button-white {
+ border: #FFFFFF solid;
+}
+
+.light-yellow,
+.light-gray,
+.light-blue,
+.light-green {
+ border-radius: 24px;
+ display: inline-block;
+ padding: 0.25rem 0.5rem;
+}
+
+.light-yellow {
+ background-color: #fff9f3;
+ color: #B35C00;
+}
+
+.light-gray {
+ background-color: #E3E7EB;
+ color: #050D15;
+}
+
+.light-blue {
+ background-color: #F4FBFF;
+ color: #20588A;
+}
+
+.light-green {
+ background-color: #E9F9F9;
+ color: #0E4F4D;
+}
+
+/**
+* Card Link Mixin
+*
+* Mixin that support cards that are treated as links.
+* Intended to be applied to directly to an
anchor tag
+* Provides visual style, hover pattern, iconography options
+* Has no opinions on how the image should be styled. There are a couple different patterns. Those are currently left to the card itself.
+*/
+.card-link {
+ background: #FFFFFF;
+ border-radius: 24px;
+ -webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ margin: 1.25rem 0;
+ padding: 1.25rem;
+ text-align: left;
+ color: #050D15;
+ display: block;
+ height: 100%;
+ margin: 0;
+ position: relative;
+}
+.card-link:hover {
+ -webkit-box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
+ box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
+}
+.card-link::after {
+ background-image: url("../images/arrow-forward.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ bottom: 15px;
+ content: "";
+ display: block;
+ height: 19px;
+ position: absolute;
+ right: 15px;
+ width: 19px;
+}
+.card-link.card-link-arrow::after {
+ background-image: url("../images/arrow-forward.svg");
+}
+.card-link.card-link--login::after {
+ background-image: url("../images/login.svg");
+}
+.card-link.card-link--lock::after {
+ background-image: url("../images/lock.svg");
+}
+.card-link.card-link--external::after {
+ background-image: url("../images/open-gray.svg");
+}
+.card-link .paragraph--type--three-column-content {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ height: 100%;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+
+.paragraph--type--three-image-card {
+ padding: 2rem 0;
+}
+.paragraph--type--three-image-card div {
+ margin: auto;
+ max-width: 1140px;
+ right: 0;
+}
+.paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column {
+ grid-template-columns: 1fr 1fr 1fr;
+}
+.paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column {
+ grid-template-columns: 1fr 1fr 1fr 1fr;
+}
+.paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column,
+.paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column {
+ display: grid;
+ gap: 24px;
+ grid-auto-rows: auto;
+}
+@media screen and (max-width: 49.3125rem) {
+ .paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column,
+ .paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column {
+ grid-template-columns: 1fr;
+ }
+}
+.paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column > .field__item,
+.paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column > .field__item {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ display: block;
+ grid-column-end: span 1;
+ height: 100%;
+ width: 100%;
+}
+.paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column > .field__item a.card-link img,
+.paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column > .field__item a.card-link img {
+ max-width: -webkit-max-content;
+ max-width: -moz-max-content;
+ max-width: max-content;
+ max-height: 75px;
+ width: auto;
+}
+.paragraph--type--three-image-card div .field--name-field-url {
+ padding: 1rem;
+}
+.paragraph--type--three-image-card div .field--name-field-url a {
+ color: #050D15;
+ font-family: "Open Sans", sans-serif;
+ font-size: 0.875rem;
+ font-weight: 700;
+}
+.paragraph--type--three-image-card div .field--name-field-text p {
+ margin: 0 0 2rem;
+}
+.paragraph--type--three-image-card div .field--name-field-subtitle-header {
+ font-size: 1.125rem;
+ font-weight: 700;
+ text-transform: uppercase;
+}
+.paragraph--type--three-image-card div .field--name-field-title {
+ margin: 1rem 0;
+}
+.paragraph--type--three-image-card .three-column-grid-cta-button-wrapper .paragraph--type--icon-button-repeater {
+ margin-top: 1.5rem;
+}
+
+.paragraph--type--three-column-content a {
+ color: #050D15;
+}
+.paragraph--type--three-column-content .field--name-field-subtitle p {
+ margin-top: 0.625rem;
+ font-size: 0.875rem;
+ text-align: left;
+}
+
+@media only screen and (max-width: 35.99875rem) {
+ .paragraph--type--three-image-card {
+ padding: 1rem;
+ }
+ .paragraph--type--three-image-card .field--name-field-content-three-column {
+ margin: 1rem 0;
+ grid-template-columns: 1fr;
+ }
+ .paragraph--type--three-image-card div .field--name-field-content-three-column {
+ margin: 1rem 0;
+ grid-template-columns: 1fr;
+ }
+}
+@media (min-width: 36rem) and (max-width: 47.99875rem) {
+ .paragraph--type--three-image-card {
+ padding: 1.875rem 3.75rem;
+ }
+}
+.paragraph--type--two-component-card {
+ display: block;
+ position: relative;
+}
+.paragraph--type--two-component-card::before {
+ background-image: var(--background-img);
+ background-position: center;
+ background-repeat: no-repeat;
+ -webkit-background-size: cover;
+ background-size: cover;
+ content: "";
+ display: none;
+ height: 100%;
+ left: 50%;
+ opacity: 1;
+ position: absolute;
+ top: 0;
+ width: 50%;
+}
+.paragraph--type--two-component-card.image-left::before {
+ left: 0;
+}
+.paragraph--type--two-component-card .image-block {
+ overflow: hidden;
+ display: block;
+}
+.paragraph--type--two-component-card .content-block {
+ padding: 3.5rem 0;
+}
+.paragraph--type--two-component-card.image-margin::before {
+ -webkit-background-size: auto auto;
+ background-size: auto;
+ content: "";
+}
+@media only screen and (min-width: 49.3125rem) {
+ .paragraph--type--two-component-card .image-block {
+ visibility: hidden;
+ }
+ .paragraph--type--two-component-card .image-block.image-left {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .paragraph--type--two-component-card .image-block.image-right {
+ -webkit-box-ordinal-group: 3;
+ -webkit-order: 2;
+ -ms-flex-order: 2;
+ order: 2;
+ }
+ .paragraph--type--two-component-card .content-block.image-left {
+ -webkit-box-ordinal-group: 3;
+ -webkit-order: 2;
+ -ms-flex-order: 2;
+ order: 2;
+ padding-left: 3.5rem;
+ }
+ .paragraph--type--two-component-card .content-block.image-right {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .paragraph--type--two-component-card::before {
+ display: block;
+ }
+}
+
+@media screen and (max-width: 45rem) {
+ .paragraph--type--two-component-card .content-block {
+ padding: 1rem;
+ }
+}
+.paragraph--type--landing-page-hero .image-backgrounds,
+.paragraph--type--secondary-landing-page-hero .image-backgrounds {
+ -webkit-background-size: cover;
+ background-size: cover;
+}
+.paragraph--type--landing-page-hero .hero-container,
+.paragraph--type--secondary-landing-page-hero .hero-container {
+ padding-top: 3rem;
+ padding-bottom: 6rem;
+ color: #FFFFFF;
+}
+.paragraph--type--landing-page-hero .hero-container h1,
+.paragraph--type--secondary-landing-page-hero .hero-container h1 {
+ color: #FFFFFF;
+}
+.paragraph--type--landing-page-hero .hero-container p,
+.paragraph--type--secondary-landing-page-hero .hero-container p {
+ font-weight: 400;
+ color: #FFFFFF;
+}
+.paragraph--type--landing-page-hero .hero-container a,
+.paragraph--type--secondary-landing-page-hero .hero-container a {
+ font-weight: 700;
+}
+.paragraph--type--landing-page-hero .hero-container a:focus,
+.paragraph--type--secondary-landing-page-hero .hero-container a:focus {
+ -webkit-box-shadow: 0 0 0 2px #FFFFFF;
+ box-shadow: 0 0 0 2px #FFFFFF;
+}
+.paragraph--type--landing-page-hero .hero-container .cta-primary-button,
+.paragraph--type--secondary-landing-page-hero .hero-container .cta-primary-button {
+ margin-top: 2rem;
+}
+.paragraph--type--landing-page-hero .hero-container .cta-secondary-button,
+.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button {
+ margin: 1.5rem 0;
+}
+.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black,
+.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black {
+ background-color: transparent;
+ border-bottom: 2px solid #FFFFFF;
+ border-radius: 0;
+ color: #FFFFFF;
+ padding: 1rem 0;
+}
+.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black::after,
+.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black::after {
+ background-image: url("../images/open.svg");
+ content: "";
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ vertical-align: middle;
+}
+.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:hover,
+.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:hover {
+ color: #48A4B6;
+ border-bottom: 2px solid #48A4B6;
+}
+.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:hover::after,
+.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:hover::after {
+ background-image: url("../images/teal-open.svg");
+ content: "";
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ vertical-align: middle;
+}
+.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:focus,
+.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:focus {
+ border: #FFFFFF solid;
+}
+.paragraph--type--landing-page-hero .field--name-field-background-image,
+.paragraph--type--secondary-landing-page-hero .field--name-field-background-image {
+ position: relative;
+}
+.paragraph--type--landing-page-hero .field--name-field-background-image img,
+.paragraph--type--secondary-landing-page-hero .field--name-field-background-image img {
+ height: 460px;
+ width: 100%;
+}
+.paragraph--type--landing-page-hero .field--name-field-cta-button-icon,
+.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-column-gap: 20px;
+ -moz-column-gap: 20px;
+ column-gap: 20px;
+}
+.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type,
+.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type {
+ background-color: #C3D8DF;
+ border-radius: 5px;
+ font-size: 1rem;
+ font-weight: 700;
+ padding: 0.5rem 1rem;
+ text-transform: uppercase;
+}
+.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type a,
+.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type a {
+ color: #050D15;
+}
+.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type:hover,
+.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type:hover {
+ background-color: #48A4B6;
+ color: #050D15;
+}
+.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type:focus,
+.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type:focus {
+ background-color: #C3D8DF;
+ border: #050D15 2px solid;
+}
+.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item a,
+.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item a {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+.paragraph--type--landing-page-hero .cta-lock-icon,
+.paragraph--type--landing-page-hero .cta-login-icon,
+.paragraph--type--secondary-landing-page-hero .cta-lock-icon,
+.paragraph--type--secondary-landing-page-hero .cta-login-icon {
+ width: 20px;
+ height: 20px;
+ display: block;
+}
+.paragraph--type--landing-page-hero .cta-lock-icon,
+.paragraph--type--secondary-landing-page-hero .cta-lock-icon {
+ background-image: url("../images/lock.svg");
+}
+.paragraph--type--landing-page-hero .node--type-landing-page .field--name-field-content > .field__item:nth-child(2),
+.paragraph--type--landing-page-hero .node--type-landing-page .field--name-field-content .field__item:nth-child(4),
+.paragraph--type--secondary-landing-page-hero .node--type-landing-page .field--name-field-content > .field__item:nth-child(2),
+.paragraph--type--secondary-landing-page-hero .node--type-landing-page .field--name-field-content .field__item:nth-child(4) {
+ background-color: rgba(32, 88, 138, 0.0509803922);
+}
+.paragraph--type--landing-page-hero .node--type-landing-page .field--name-field-content > .field__item:nth-child(3),
+.paragraph--type--landing-page-hero .node--type-landing-page .field--name-field-content .field__item:nth-child(5),
+.paragraph--type--secondary-landing-page-hero .node--type-landing-page .field--name-field-content > .field__item:nth-child(3),
+.paragraph--type--secondary-landing-page-hero .node--type-landing-page .field--name-field-content .field__item:nth-child(5) {
+ background-color: rgba(32, 88, 138, 0.1215686275);
+}
+@media only screen and (min-width: 45.0625rem) and (max-width: 65.625rem) {
+ .paragraph--type--landing-page-hero .paragraph--type--landing-page-hero .people-image,
+ .paragraph--type--secondary-landing-page-hero .paragraph--type--landing-page-hero .people-image {
+ padding: 2rem 0 0;
+ }
+ .paragraph--type--landing-page-hero .paragraph--type--landing-page-hero .people-image .field--name-field-content,
+ .paragraph--type--secondary-landing-page-hero .paragraph--type--landing-page-hero .people-image .field--name-field-content {
+ margin: 0.625rem 0.625rem;
+ top: 140px;
+ }
+}
+
+.paragraph--type--secondary-landing-page-hero .font-color h1,
+.paragraph--type--secondary-landing-page-hero .font-color p {
+ color: #050D15;
+}
+.paragraph--type--secondary-landing-page-hero .field--name-field-button {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-column-gap: 20px;
+ -moz-column-gap: 20px;
+ column-gap: 20px;
+}
+.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item:first-of-type {
+ background-color: #C3D8DF;
+ border-radius: 5px;
+ font-size: 1rem;
+ font-weight: 700;
+ padding: 0.5rem 1rem;
+ text-transform: uppercase;
+}
+.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item:first-of-type a {
+ color: #050D15;
+}
+.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item:first-of-type:hover {
+ background-color: #48A4B6;
+ color: #050D15;
+}
+.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item:first-of-type:focus {
+ background-color: #C3D8DF;
+ border: #050D15 2px solid;
+}
+.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item a {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+.paragraph--type--secondary-landing-page-hero .breadcrumb a,
+.paragraph--type--secondary-landing-page-hero .breadcrumb-item.active {
+ color: #FFFFFF;
+ font-family: "Fjalla One", sans-serif;
+ font-size: 1.125rem;
+ text-transform: uppercase;
+}
+
+.paragraph--type--two-component-card.image-margin .wrapper .grid {
+ gap: 0;
+}
+.paragraph--type--two-component-card.image-margin .wrapper .grid .content-block {
+ border-left: 1px #909193 solid;
+}
+
+@media only screen and (max-width: 47.99875rem) {
+ .paragraph--type--landing-page-hero .hero-container, .paragraph--type--secondary-landing-page-hero .hero-container {
+ padding: 2rem 1.5rem;
+ }
+}
+@media only screen and (max-width: 45rem) {
+ .paragraph--type--landing-page-hero .people-image {
+ padding: 1.5rem 0 0;
+ top: 30px;
+ }
+ .paragraph--type--landing-page-hero .people-image h1 {
+ font-size: 1.5rem;
+ }
+ .paragraph--type--landing-page-hero .people-image .field--name-field-content {
+ margin: 0;
+ position: relative;
+ text-align: center;
+ top: 0;
+ width: 100%;
+ }
+ .paragraph--type--landing-page-hero .people-image .field--name-field-content p {
+ font-weight: 600;
+ font-size: 1rem;
+ }
+ .paragraph--type--landing-page-hero .image-backgrounds {
+ -webkit-background-size: contain;
+ background-size: contain;
+ }
+ .paragraph--type--secondary-landing-page-hero .secondary-image-backgrounds {
+ background-image: none !important;
+ }
+}
+.paragraph--type--cloud-lab .cloud-lab-container {
+ background: rgb(5, 13, 21);
+ background-position: center;
+ font-family: "Open Sans", sans-serif;
+ font-size: 1rem;
+ font-weight: 700;
+ margin: 0 7.5rem;
+ padding: 2rem;
+}
+.paragraph--type--cloud-lab .button-secondary--arrow {
+ background-color: #C3D8DF;
+ border-radius: 5px;
+ font-size: 1rem;
+ font-weight: 700;
+ padding: 0.5rem 1rem;
+ text-transform: uppercase;
+ margin: 1.5rem 0 0;
+}
+.paragraph--type--cloud-lab .button-secondary--arrow a {
+ color: #050D15;
+}
+.paragraph--type--cloud-lab .button-secondary--arrow:hover {
+ background-color: #48A4B6;
+ color: #050D15;
+}
+.paragraph--type--cloud-lab .button-secondary--arrow:focus {
+ background-color: #C3D8DF;
+ border: #050D15 2px solid;
+}
+.paragraph--type--cloud-lab .button-secondary--arrow:hover {
+ color: #050D15;
+}
+.paragraph--type--cloud-lab .button-secondary--arrow:hover::after {
+ -webkit-filter: none;
+ filter: none;
+}
+.paragraph--type--cloud-lab .hero-container {
+ padding: 2.75rem 0 2.75rem;
+}
+
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cit-connect-cards-content {
+ display: grid;
+ gap: 24px;
+ grid-auto-rows: auto;
+ grid-template-columns: 1fr 1fr 1fr;
+}
+@media screen and (max-width: 49.3125rem) {
+ .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cit-connect-cards-content {
+ grid-template-columns: 1fr;
+ }
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cit-connect-cards-content > .field__item {
+ background: #FFFFFF;
+ border-radius: 24px;
+ -webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ margin: 1.25rem 0;
+ padding: 1.25rem;
+ text-align: left;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ display: block;
+ grid-column-end: span 1;
+ width: 100%;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cit-connect-cards-content > .field__item:hover {
+ -webkit-box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
+ box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-tag {
+ margin-bottom: 1.5rem;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-tag a {
+ background-color: #F4FBFF;
+ border-radius: 20px;
+ color: #20588A;
+ font-size: 0.75rem;
+ margin-bottom: 1.5rem;
+ padding: 0.25rem 0.5rem;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-tag,
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-description,
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button {
+ font-family: "Open Sans", sans-serif;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-title,
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cadence,
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-pocs {
+ margin-bottom: 1rem;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-title {
+ color: #050D15;
+ font-family: "Fjalla One", sans-serif;
+ font-size: 1.125rem;
+ text-transform: uppercase;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-description p {
+ font-size: 0.875rem;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cadence,
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-pocs {
+ -webkit-column-gap: 5px;
+ -moz-column-gap: 5px;
+ column-gap: 5px;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ font-family: "Open Sans", sans-serif;
+ font-size: 0.875rem;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cadence .field__label,
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-pocs .field__label {
+ font-weight: bold;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a {
+ border-radius: initial;
+ border-top: none;
+ border-right: none;
+ border-left: none;
+ border-bottom: 2px solid transparent;
+ padding: 0.375rem 0.25rem;
+ font-family: "Open Sans", sans-serif;
+ font-weight: 700;
+ text-transform: uppercase;
+ text-decoration: none;
+ cursor: pointer;
+ border-bottom-color: #050D15;
+ color: #050D15;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a::after {
+ content: "";
+ background-image: url("../images/download.svg");
+ -webkit-background-size: contain;
+ background-size: contain;
+ display: inline-block;
+ fill: currentColor;
+ height: 18px;
+ margin-left: 0.5rem;
+ position: relative;
+ top: 0;
+ vertical-align: text-bottom;
+ width: 18px;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a::after {
+ margin-left: 0.5rem;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a:hover {
+ color: #20588A;
+ background-color: transparent;
+ border-bottom-color: #20588A;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a:hover::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
+ filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a:focus {
+ outline: none;
+ -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
+}
+
+.paragraph--type--accordion-content .accordion {
+ margin: 3.75rem 0;
+ padding: 0;
+}
+
+.container {
+ max-width: 100%;
+}
+
+.paragraph--type--accordion {
+ margin: auto;
+ max-width: 1140px;
+ right: 0;
+ margin: 2.5rem auto;
+}
+.paragraph--type--accordion ul {
+ padding: 0;
+ margin: 0;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content li {
+ list-style: none;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content button svg {
+ display: none;
+ height: 16px;
+ float: right;
+ margin-left: 1rem;
+ padding: 0;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content h3 {
+ font-size: 1rem;
+ margin: 0;
+ text-transform: none;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content > div {
+ list-style-type: none;
+ border: 1px solid #E3E7EB;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button {
+ all: inherit;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: 1rem 1.5rem;
+ width: 100%;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:hover, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:focus {
+ cursor: pointer;
+ background-color: #E3E7EB;
+ color: #050D15;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:focus {
+ border: solid 2px #050D15;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:focus rect {
+ fill: #050D15;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button[aria-expanded=false] {
+ background-image: url("../images/add.svg");
+ background-repeat: no-repeat;
+ background-position: right 1.25rem center;
+ -webkit-background-size: 1.5rem 1.5rem;
+ background-size: 1.5rem;
+ display: inline-block;
+ font-size: 1rem;
+ font-weight: 400;
+ text-transform: none;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button[aria-expanded=false] rect {
+ fill: #050D15;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:focus {
+ outline: #050D15 1px;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content [aria-expanded=true] .vert {
+ display: none;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel {
+ padding: 1.5rem;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-column-gap: 16px;
+ -moz-column-gap: 16px;
+ column-gap: 16px;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin: 2rem 0;
+ row-gap: 16px;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a {
+ border-radius: 5px;
+ border: 2px solid transparent;
+ cursor: pointer;
+ display: inline-block;
+ font-style: normal;
+ font-weight: 700;
+ padding: 0.625rem 1.25rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-color: #050D15;
+ color: #050D15;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ pointer-events: none;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus {
+ outline-offset: 2px;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover {
+ border-color: #050D15;
+ background-color: black;
+ color: #FFFFFF;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus {
+ border-color: #050D15;
+ -webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+ box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a::after {
+ -webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+ filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover::after, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus::after {
+ -webkit-filter: brightness(0) invert(1);
+ filter: brightness(0) invert(1);
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover::after, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:active::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:active::after, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus::after {
+ fill: currentColor;
+}
+.paragraph--type--accordion .accordion .paragraph--type--accordion-content .field--name-field-accordion-body img {
+ margin: 0.5rem 1rem 0 0;
+ border-radius: 8px;
+}
+.paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true] {
+ background-color: #133553;
+ background-image: url("../images/remove.svg");
+ background-repeat: no-repeat;
+ background-position: right 1.25rem center;
+ -webkit-background-size: 1.5rem 1.5rem;
+ background-size: 1.5rem;
+ color: #FFFFFF;
+ font-family: "Open Sans", sans-serif;
+ font-size: 1.125rem;
+ text-transform: initial;
+}
+.paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true] rect {
+ fill: #FFFFFF;
+}
+.paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:hover, .paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:active, .paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:focus {
+ background-color: #E3E7EB;
+ background-image: url("../images/minus.svg");
+ background-repeat: no-repeat;
+ background-position: right 1.25rem center;
+ -webkit-background-size: 1.5rem 1.5rem;
+ background-size: 1.5rem;
+ color: #050D15;
+}
+.paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:hover rect, .paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:active rect, .paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:focus rect {
+ fill: #050D15;
+}
+.paragraph--type--accordion .field__item:first-of-type div,
+.paragraph--type--accordion .field__item:first-of-type button[aria-expanded=true] {
+ border-radius: 8px 8px 0 0;
+}
+.paragraph--type--accordion .field__item:last-of-type div {
+ border-radius: 0 0 8px 8px;
+}
+
+@media screen and (min-width: 49.3125rem) {
+ .node--type-service .node__content,
+ .node--type-offices .node__content {
+ background: -webkit-gradient(linear, left top, right top, color-stop(20%, #C3D8DF), color-stop(0%, #FFFFFF));
+ background: -webkit-linear-gradient(left, #C3D8DF 20%, #FFFFFF 0%);
+ background: -o-linear-gradient(left, #C3D8DF 20%, #FFFFFF 0%);
+ background: linear-gradient(to right, #C3D8DF 20%, #FFFFFF 0%);
+ }
+}
+.node--type-service .layout--twocol-section,
+.node--type-offices .layout--twocol-section {
+ display: grid;
+ grid-template-columns: 1fr 3fr;
+ grid-template-areas: "sidebar content";
+}
+@media screen and (max-width: 49.3125rem) {
+ .node--type-service .layout--twocol-section,
+ .node--type-offices .layout--twocol-section {
+ grid-template-columns: 1fr;
+ grid-template-areas: "content" "sidebar";
+ }
+}
+.node--type-service .layout--twocol-section .layout__region--first,
+.node--type-offices .layout--twocol-section .layout__region--first {
+ background: #C3D8DF;
+ grid-area: sidebar;
+}
+@media screen and (min-width: 49.3125rem) {
+ .node--type-service .layout--twocol-section .layout__region--first,
+ .node--type-offices .layout--twocol-section .layout__region--first {
+ border-radius: 0px 20px 0px 0px;
+ }
+}
+.node--type-service .layout--twocol-section .layout__region--first .view-content,
+.node--type-offices .layout--twocol-section .layout__region--first .view-content {
+ margin: 2rem 1rem 0 0;
+}
+.node--type-service .layout--twocol-section .layout__region--first .view-content .views-row,
+.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row {
+ padding: 0.5rem 0;
+}
+.node--type-service .layout--twocol-section .layout__region--first .view-content .views-row:not(:last-of-type),
+.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row:not(:last-of-type) {
+ border-bottom: 1px solid #616265;
+}
+.node--type-service .layout--twocol-section .layout__region--first .view-content .views-row a,
+.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row a {
+ color: #050D15;
+ font-family: "Open Sans", sans-serif;
+ font-size: 0.875rem;
+ font-weight: 700;
+ text-transform: uppercase;
+ display: inline-block;
+ border-radius: 5px;
+ padding: 0.5rem 1rem;
+}
+.node--type-service .layout--twocol-section .layout__region--first .view-content .views-row a:active, .node--type-service .layout--twocol-section .layout__region--first .view-content .views-row a:hover, .node--type-service .layout--twocol-section .layout__region--first .view-content .views-row a:focus,
+.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row a:active,
+.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row a:hover,
+.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row a:focus {
+ background-color: #133553;
+ color: #FFFFFF;
+}
+.node--type-service .layout--twocol-section .layout__region--first .nav,
+.node--type-offices .layout--twocol-section .layout__region--first .nav {
+ display: block;
+}
+.node--type-service .layout--twocol-section .layout__region--first ul li,
+.node--type-offices .layout--twocol-section .layout__region--first ul li {
+ padding: 0.5rem 0;
+}
+.node--type-service .layout--twocol-section .layout__region--first ul li:not(:last-of-type),
+.node--type-offices .layout--twocol-section .layout__region--first ul li:not(:last-of-type) {
+ border-bottom: 1px solid #616265;
+}
+.node--type-service .layout--twocol-section .layout__region--first .nav-link,
+.node--type-offices .layout--twocol-section .layout__region--first .nav-link {
+ color: #050D15;
+ font-family: "Open Sans", sans-serif;
+ font-size: 0.875rem;
+ font-weight: 700;
+ text-transform: uppercase;
+ display: inline-block;
+ border-radius: 5px;
+ padding: 0.5rem 1rem;
+}
+.node--type-service .layout--twocol-section .layout__region--first .nav-link:active, .node--type-service .layout--twocol-section .layout__region--first .nav-link:hover, .node--type-service .layout--twocol-section .layout__region--first .nav-link:focus,
+.node--type-offices .layout--twocol-section .layout__region--first .nav-link:active,
+.node--type-offices .layout--twocol-section .layout__region--first .nav-link:hover,
+.node--type-offices .layout--twocol-section .layout__region--first .nav-link:focus {
+ background-color: #E3E7EB;
+ color: #050D15;
+}
+.node--type-service .layout--twocol-section .layout__region--first .nav > .menu-item--active-trail > a,
+.node--type-offices .layout--twocol-section .layout__region--first .nav > .menu-item--active-trail > a {
+ background: #133553;
+ color: #FFFFFF;
+}
+.node--type-service .layout--twocol-section .layout__region--second,
+.node--type-offices .layout--twocol-section .layout__region--second {
+ grid-area: content;
+ padding: 2.5rem;
+}
+.node--type-service .layout--twocol-section .layout__region--second .field--name-field-audience,
+.node--type-offices .layout--twocol-section .layout__region--second .field--name-field-audience {
+ -webkit-column-gap: 5px;
+ -moz-column-gap: 5px;
+ column-gap: 5px;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ font-family: "Open Sans", sans-serif;
+ font-size: 1rem;
+ padding: 0 0 2.5rem;
+}
+.node--type-service .layout--twocol-section .layout__region--second .field--name-field-audience .field__label,
+.node--type-offices .layout--twocol-section .layout__region--second .field--name-field-audience .field__label {
+ font-weight: bold;
+}
+.node--type-service .layout--twocol-section .layout__region--second .field--name-field-audience .field__item,
+.node--type-offices .layout--twocol-section .layout__region--second .field--name-field-audience .field__item {
+ display: inline;
+}
+.node--type-service .layout--twocol-section .layout__region--second .field--name-field-audience .field__item a,
+.node--type-offices .layout--twocol-section .layout__region--second .field--name-field-audience .field__item a {
+ color: #050D15;
+ text-transform: initial;
+ cursor: auto;
+}
+.node--type-service .layout--twocol-section .layout__region--second .accordion,
+.node--type-offices .layout--twocol-section .layout__region--second .accordion {
+ padding: 0;
+}
+.node--type-service .layout--twocol-section .layout__region--second .paragraph--type--three-image-card,
+.node--type-offices .layout--twocol-section .layout__region--second .paragraph--type--three-image-card {
+ padding: 0;
+}
+.node--type-service .layout--twocol-section .layout__region--second .field--name-title,
+.node--type-offices .layout--twocol-section .layout__region--second .field--name-title {
+ padding: 1rem 0;
+ display: block;
+}
+.node--type-service .layout--twocol-section .paragraph--type--content-section,
+.node--type-offices .layout--twocol-section .paragraph--type--content-section {
+ border-top: #909193 2px solid;
+ padding: 2.5rem 0;
+}
+.node--type-service .breadcrumb a,
+.node--type-service .breadcrumb-item.active,
+.node--type-offices .breadcrumb a,
+.node--type-offices .breadcrumb-item.active {
+ color: #050D15;
+ font-family: "Fjalla One", sans-serif;
+ font-size: 1.125rem;
+ text-transform: uppercase;
+}
+
+.node--type-offices .paragraph--type--two-image-card .field--name-field-content-three-column {
+ grid-template-columns: 1fr 1fr 1fr 1fr;
+}
+
+.node--type-page {
+ border-top: #133553 32px solid;
+}
+.node--type-page .wrapper {
+ padding: 3.5rem 0;
+ text-align: center;
+}
+
+.node--type-leadership-bio .node__content {
+ padding: 3.75rem 0;
+}
+.node--type-leadership-bio h1, .node--type-leadership-bio .field--name-field-position-title {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+}
+.node--type-leadership-bio .field--name-field-image {
+ float: left;
+ padding: 0 1.25rem 0 0;
+}
+.node--type-leadership-bio .field--name-field-image img {
+ border-radius: 24px;
+ width: 237px;
+}
+.node--type-leadership-bio .accordion {
+ padding: 1.25rem 0;
+}
+.node--type-leadership-bio .breadcrumb a, .node--type-leadership-bio .breadcrumb-item.active {
+ color: #050D15;
+ font-family: "Fjalla One", sans-serif;
+ font-size: 1.125rem;
+ text-transform: uppercase;
+}
+
+.block-views-blockleadership-block-1 {
+ padding: 3.75rem 0;
+}
+.block-views-blockleadership-block-1 h2 {
+ text-align: center;
+ margin-bottom: 1.875rem;
+}
+.block-views-blockleadership-block-1 .view-leadership .view-content.row {
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
+ gap: 24px;
+}
+.block-views-blockleadership-block-1 .view-leadership .view-content.row a {
+ color: #050D15;
+}
+.block-views-blockleadership-block-1 .view-leadership .view-content.row > .views-row .card-link {
+ padding: 0 0 2.5rem;
+}
+.block-views-blockleadership-block-1 .view-leadership .view-content.row > .views-row .card-link .leadership-bio-card-img img {
+ border-radius: 24px 24px 0 0;
+ width: 100%;
+}
+.block-views-blockleadership-block-1 .view-leadership .view-content.row > .views-row .card-link .leadership-bio-content {
+ padding: 1rem;
+}
+.block-views-blockleadership-block-1 .view-leadership .view-content.row .our-leaders-wrapper {
+ background-color: #FFFFFF;
+ border-radius: 24px;
+ -webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ height: 100%;
+}
+
+@media only screen and (max-width: 35.99875rem) {
+ .block-views-blockleadership-block-1 .view-leadership .view-content.row {
+ grid-template-columns: 1fr;
+ padding: 1rem;
+ }
+}
+@media (min-width: 36rem) and (max-width: 47.99875rem) {
+ .block-views-blockleadership-block-1 .view-leadership .view-content.row {
+ grid-template-columns: 1fr 1fr;
+ padding: 1rem;
+ }
+}
+.view-product-roadmap .view-header,
+.view-product-roadmap h1 {
+ background-color: #133553;
+ color: #FFFFFF;
+}
+.view-product-roadmap .view-header .wrapper,
+.view-product-roadmap h1 .wrapper {
+ padding: 1.875rem 0;
+}
+.view-product-roadmap .view-filters {
+ margin: 2rem 2.5rem;
+}
+.view-product-roadmap .view-filters .flex-wrap {
+ -webkit-column-gap: 20px;
+ -moz-column-gap: 20px;
+ column-gap: 20px;
+}
+.view-product-roadmap .view-filters .form-select {
+ border-radius: 8px;
+ color: #133553;
+ font-family: "Open Sans", sans-serif;
+ padding: 0 1.5rem;
+}
+.view-product-roadmap .view-filters .form-select:focus {
+ border-color: #20588A;
+ -webkit-box-shadow: 0 0 0 0 #20588A;
+ box-shadow: 0 0 0 0 #20588A;
+}
+.view-product-roadmap .view-content.row {
+ border: 1px solid #E3E7EB;
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr 1fr;
+}
+.view-product-roadmap .view-content.row .views-row {
+ background: #FFFFFF;
+ border-radius: 24px;
+ -webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ margin: 1.25rem 0;
+ padding: 1.25rem;
+ text-align: left;
+ margin: 1rem;
+ padding: 0.75rem;
+}
+.view-product-roadmap .view-content.row .views-row:hover {
+ -webkit-box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
+ box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
+}
+.view-product-roadmap .view-content.row .views-row h5 a {
+ color: #050D15;
+ font-family: "Fjalla One", sans-serif;
+}
+.view-product-roadmap .view-content.row .views-row .views-field-title {
+ padding: 1rem 0;
+}
+.view-product-roadmap .view-content.row .views-row .views-field-title h5 {
+ margin: 0;
+}
+.view-product-roadmap .view-content.row .views-row .views-field-field-cit-service-area-owner,
+.view-product-roadmap .view-content.row .views-row .views-field-field-timestamp {
+ font-size: 0.875rem;
+}
+.view-product-roadmap .view-content.row .views-row .views-field-field-cit-service-area-owner .field-content,
+.view-product-roadmap .view-content.row .views-row .views-field-field-timestamp .field-content {
+ display: inline-block;
+}
+.view-product-roadmap .view-content.row .views-row .light-gray,
+.view-product-roadmap .view-content.row .views-row .light-yellow,
+.view-product-roadmap .view-content.row .views-row .light-green,
+.view-product-roadmap .view-content.row .views-row .light-blue {
+ margin-bottom: 1rem;
+}
+
+.roadmap-quarter:not(:last-child) {
+ border-right: solid 1px #E3E7EB;
+}
+
+.roadmap-header {
+ background-color: #133553;
+ text-align: center;
+ padding: 0 1rem 0 0.5rem;
+}
+.roadmap-header h2,
+.roadmap-header p {
+ color: #FFFFFF;
+ font-family: "Open Sans", sans-serif;
+}
+.roadmap-header p {
+ margin-bottom: 0;
+}
+
+@media only screen and (max-width: 49.3125rem) {
+ .view-product-roadmap .view-content.row {
+ grid-template-columns: 1fr;
+ }
+}
+.modal-wrapper a {
+ color: #050D15;
+ border-radius: 10px;
+ cursor: pointer;
+}
+
+.modal {
+ position: fixed;
+ width: 100vw;
+ height: 100vh;
+ opacity: 0;
+ visibility: hidden;
+ -webkit-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+ top: 0;
+ left: 0;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+}
+.modal.open {
+ visibility: visible;
+ opacity: 1;
+ -webkit-transition-delay: 0s;
+ -o-transition-delay: 0s;
+ transition-delay: 0s;
+}
+.modal-bg {
+ position: absolute;
+ background-color: rgba(5, 13, 21, 0.8);
+ width: 100%;
+ height: 100%;
+}
+.modal-container {
+ border-radius: 10px;
+ background: #fff;
+ max-width: 550px;
+ position: relative;
+ padding: 2.5rem 3.5rem;
+}
+.modal-container div {
+ margin-bottom: 0.5rem;
+}
+.modal-close {
+ position: absolute;
+ right: 15px;
+ top: 15px;
+ outline: none;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ color: #050D15;
+ background: none;
+ border: 0px;
+ font-weight: bold;
+ cursor: pointer;
+}
+
+.paragraph--type--two-image-card {
+ padding: 3.5rem 0;
+ margin: auto;
+ max-width: 1140px;
+ right: 0;
+}
+.paragraph--type--two-image-card .field--name-field-content-three-column {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 24px;
+ text-align: center;
+}
+.paragraph--type--two-image-card .field--name-field-content-three-column > .field__item {
+ background: #FFFFFF;
+ border-radius: 24px;
+ -webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
+ margin: 1.25rem 0;
+ padding: 1.25rem;
+ text-align: left;
+ margin: 0;
+ padding: 0;
+}
+.paragraph--type--two-image-card .field--name-field-content-three-column > .field__item:hover {
+ -webkit-box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
+ box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
+}
+.paragraph--type--two-image-card .field--name-field-content-three-column .field--name-field-image img {
+ border-radius: 24px 24px 0 0;
+ width: 100%;
+}
+.paragraph--type--two-image-card .paragraph--type--two-image-card-content .two-image-card-paragraph {
+ padding: 1rem;
+}
+.paragraph--type--two-image-card .paragraph--type--two-image-card-content .two-image-card-paragraph span {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ bottom: 0;
+ right: 0;
+ text-align: right;
+}
+.paragraph--type--two-image-card .paragraph--type--two-image-card-content .two-image-card-paragraph span img {
+ width: 20px;
+}
+.paragraph--type--two-image-card .paragraph--type--two-image-card-content .two-image-card-paragraph .field--name-field-title {
+ color: #050D15;
+}
+
+@media only screen and (max-width: 35.99875rem) {
+ .paragraph--type--two-image-card .field--name-field-content-three-column {
+ grid-template-columns: 1fr;
+ }
+}
+.field--name-field-leadership-bios {
+ display: grid;
+ gap: 24px;
+ grid-auto-rows: auto;
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
+}
+@media screen and (max-width: 49.3125rem) {
+ .field--name-field-leadership-bios {
+ grid-template-columns: 1fr 1fr 1fr;
+ }
+}
+@media screen and (max-width: 33.75rem) {
+ .field--name-field-leadership-bios {
+ grid-template-columns: 1fr;
+ }
+}
+.field--name-field-leadership-bios .leadership-bio-content {
+ font-family: "Open Sans", sans-serif;
+ font-size: 0.875rem;
+ padding: 1rem;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-flow: column nowrap;
+ -ms-flex-flow: column nowrap;
+ flex-flow: column nowrap;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+}
+.field--name-field-leadership-bios .leadership-bio-content .card-heading > span {
+ padding-bottom: 0 !important;
+}
+.field--name-field-leadership-bios > .field__item {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ display: block;
+ grid-column-end: span 1;
+ height: 100%;
+ width: 100%;
+}
+.field--name-field-leadership-bios > .field__item .card-link {
+ padding: 0 0 2.5rem;
+}
+.field--name-field-leadership-bios > .field__item img {
+ border-radius: 24px 24px 0 0;
+ width: 100%;
+}
+
+.node--type-offices .field--name-title {
+ display: block;
+}
+.node--type-offices .paragraph--type--leadership-bios {
+ background-color: transparent;
+}
+.node--type-offices .paragraph--type--leadership-bios .node__content {
+ background: transparent;
+}
+.node--type-offices .paragraph--type--leadership-bios .field--name-field-leadership-bios {
+ grid-template-columns: 1fr 1fr 1fr 1fr;
+}
+
+.paragraph--type--leadership-bios {
+ background-color: #C3D8DF;
+ padding: 2.5rem 0;
+}
+
+/* GENERAL STYLES
+-------------------------------------------------*/
+body {
+ background: #fff;
+}
+
+/* COLORS
+--------------------------------------------------*/
+a {
+ color: #0079C0;
+}
+
+.bg-inverse {
+ background: rgb(255, 78, 46) !important;
+}
+
+.site-footer {
+ background: #0079C0;
+}
+
+.menu--main li a {
+ color: rgb(255, 78, 46);
+}
+
+.menu--account li a {
+ color: rgb(255, 78, 46);
+}
+
+.site-name-slogan a {
+ text-decoration: none;
+}
+
+.card-group img {
+ margin: 0;
+ width: 100%;
+ height: auto;
+}
+
+.card-group .field--type-image {
+ margin: 0;
+}
+
+.slick {
+ width: 100%;
+}
+
+.slick > div {
+ margin: 0 0.9375rem;
+}
+/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJ2YXJpYWJsZXMuc2NzcyIsInR5cG9ncmFwaHkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJzdHlsZS5jc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jb2xvci1tb2RlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvci1iZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2NvbG9yZWQtbGlua3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19mb2N1cy1yaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9faWNvbi1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fcmF0aW8uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19wb3NpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdGFja3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdGV4dC10cnVuY2F0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdnIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS12YXJpYW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19sYWJlbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY29udHJvbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY2hlY2suc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mbG9hdGluZy1sYWJlbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19vZmZjYW52YXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGxhY2Vob2xkZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3NldHRpbmdzL19zZXR0aW5ncy1nZW5lcmFsLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvc2V0dGluZ3MvX3NldHRpbmdzLXR5cG9ncmFwaHkuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9zZXR0aW5ncy9fc2V0dGluZ3MtY29sb3Iuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9zZXR0aW5ncy9fc2V0dGluZ3MtY29tcG9uZW50cy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3NldHRpbmdzL19zZXR0aW5ncy1zcGFjaW5nLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvc2V0dGluZ3MvX3NldHRpbmdzLXV0aWxpdGllcy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy91dGlsaXRpZXMvY29sb3Iuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9hcHBlbmQtaW1wb3J0YW50LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvZ2V0LWxhc3Quc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9kZS1saXN0LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvZXJyb3Itbm90LXRva2VuLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvZXJyb3Iuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9nZXQtZGVmYXVsdC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL2hhcy1pbXBvcnRhbnQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9tYXAtY29sbGVjdC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL21hcC1kZWVwLWdldC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL211bHRpLWNhdC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL3JlbW92ZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL3NtYXJ0LXF1b3RlLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvc3RyLXJlcGxhY2Uuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9zdHItc3BsaXQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9zdHJpcC11bml0LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvdG8tbWFwLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvdG8tbnVtYmVyLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvdW5wYWNrLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL3NldC10aGVtZS1jb2xvci5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy91bml0cy9weC10by1yZW0uc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvdW5pdHMvcmVtLXRvLXB4LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL3VuaXRzL3JlbS10by11c2VyLWVtLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL3VuaXRzL3NwYWNpbmctbXVsdGlwbGUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvdW5pdHMvdW5pdHMuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvb3V0cHV0L251bWJlci10by10b2tlbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3ZhcmlhYmxlcy9mb250LXR5cGUtdG9rZW5zLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvdmFyaWFibGVzL2x1bWluYW5jZS1ncmFkZS1yYW5nZXMuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvb3V0cHV0L25zLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2dldC1zeXN0ZW0tY29sb3Iuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy90b2tlbnMvZm9udC9saW5lLWhlaWdodC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3Rva2Vucy9mb250L21lYXN1cmUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZm9udC9jYXAtaGVpZ2h0LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2ZvbnQvdmFsaWRhdGUtdHlwZWZhY2UtdG9rZW4uc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZm9udC9jb252ZXJ0LXRvLWZvbnQtdHlwZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9mb250L2ZvbnQtc291cmNlcy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9mb250L2dldC1mb250LXN0YWNrLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2ZvbnQvZ2V0LXR5cGVmYWNlLXRva2VuLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2ZvbnQvbm9ybWFsaXplLXR5cGUtc2NhbGUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZm9udC9zeXN0ZW0tdHlwZS1zY2FsZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3ZhcmlhYmxlcy9wcm9qZWN0LWVhc2luZy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL19kZXByZWNhdGVkLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2FkdmFuY2VkLWNvbG9yLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2NhbGN1bGF0ZS1ncmFkZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci9jb2xvci10b2tlbi1hc3NpZ25tZW50LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2lzLXN5c3RlbS1jb2xvci10b2tlbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci9pcy10aGVtZS1jb2xvci10b2tlbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci9jb2xvci10b2tlbi1mYW1pbHkuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvZGVjb21wb3NlLWNvbG9yLXRva2VuLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2NvbG9yLXRva2VuLWdyYWRlLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2lzLWNvbG9yLXRva2VuLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL21hdGgvcG93LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2NvbG9yLXRva2VuLXR5cGUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvY29sb3ItdG9rZW4tdmFyaWFudC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci9tYWdpYy1udW1iZXIuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3Ivd2NhZy1tYWdpYy1udW1iZXIuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvbmV4dC10b2tlbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci90ZXN0LWNvbG9yLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dyaWQvY29sdW1ucy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL19wcm9wZXJ0aWVzLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL291dHB1dC9nZXQtdXN3ZHMtdmFsdWUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvb3V0cHV0L2dldC1zdGFuZGFyZC12YWx1ZXMuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvdXRpbGl0aWVzL2V0Yy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy91dGlsaXRpZXMvdXRpbGl0eS1mb250LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fZm9udC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy90eXBvZ3JhcGh5L3R5cGVzZXQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvX3V0aWxpdHktYnVpbGRlci5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL19ub3RpZmljYXRpb25zLnNjc3MiLCIuLi91c3dkcy91c3dkcy1mb250cy9zcmMvc3R5bGVzL19mb250LWZhY2Uuc2NzcyIsIi4uL3Vzd2RzL3VzYS1tZWRpYS1ibG9jay9zcmMvc3R5bGVzL191c2EtbWVkaWEtYmxvY2suc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19hbGlnbi1pdGVtcy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvZ2VuZXJhbC9tZWRpYS1ibG9jay1pbWcuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi91c3dkcy91c2EtYmFubmVyL3NyYy9zdHlsZXMvX3VzYS1iYW5uZXIuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19saW5lLWhlaWdodC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy9oZWxwZXJzL2F0LW1lZGlhLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fbWFyZ2luLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL2dlbmVyYWwvbGF5b3V0LWdyaWQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19wYWRkaW5nLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fd2lkdGguc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvaGVscGVycy9zZXQtdGV4dC1mcm9tLWJnLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fbWF4LXdpZHRoLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fbWVhc3VyZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy9oZWxwZXJzL3NldC1saW5rLWZyb20tYmcuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvZ2VuZXJhbC9pY29uLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvZ2VuZXJhbC9idXR0b24tdW5zdHlsZWQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy91dGlsaXRpZXMvX3Bpbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvZ2VuZXJhbC9mb2N1cy1vdXRsaW5lLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL2dlbmVyYWwvc2NyZWVuLXJlYWRlci5zY3NzIiwiX3NwYWNpbmcuc2NzcyIsIl9ncmlkLnNjc3MiLCJtaXhpbnMuc2NzcyIsIl9pbWFnZXMuc2NzcyIsIl9uYXYuc2NzcyIsIl9uYXZiYXIuc2NzcyIsIl9mb290ZXIuc2NzcyIsIl9idXR0b25zLnNjc3MiLCJfY2FyZC1saW5rLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQuc2NzcyIsInBhcmFncmFwaHMvX3BhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLS5zY3NzIiwiX2NvbnRhaW5lcnMuc2NzcyIsInBhcmFncmFwaHMvX2FjY29yZGlvbi1jb250ZW50LnNjc3MiLCJwYWdlcy9fbm9kZS0tdHlwZS1zZXJ2aWNlLnNjc3MiLCJwYWdlcy9fbm9kZS0tdHlwZS1sZWFkZXJzaGlwLWJpby5zY3NzIiwiX3ZpZXdzLWxlYWRlcnNoaXAuc2NzcyIsInBhZ2VzL19jaXRfZGVwbG95bWVudF9jYWxlbmRhci5zY3NzIiwiX21vZGFsLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLWxlYWRlcnNoaXAtYmlvcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FBQTtBQ0FBLGNBQUE7QUNPUSxtR0FBQTtBQUNBLCtFQUFBO0FDUlI7O0VBU0ksa0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsa0JBQUE7RUFBQSxpQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxtQkFBQTtFQUFBLGtCQUFBO0VBQUEsa0JBQUE7RUFBQSxnQkFBQTtFQUFBLGdCQUFBO0VBQUEsa0JBQUE7RUFBQSx1QkFBQTtFQUlBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUFBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUFBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUlBLHFCQUFBO0VBQUEsZ0NBQUE7RUFBQSxxQkFBQTtFQUFBLGtCQUFBO0VBQUEscUJBQUE7RUFBQSxvQkFBQTtFQUFBLG1CQUFBO0VBQUEsa0JBQUE7RUFJQSw2QkFBQTtFQUFBLCtCQUFBO0VBQUEsNkJBQUE7RUFBQSwyQkFBQTtFQUFBLDZCQUFBO0VBQUEsNEJBQUE7RUFBQSw2QkFBQTtFQUFBLHlCQUFBO0VBSUEsbUNBQUE7RUFBQSxxQ0FBQTtFQUFBLG1DQUFBO0VBQUEsZ0NBQUE7RUFBQSxtQ0FBQTtFQUFBLGtDQUFBO0VBQUEsaUNBQUE7RUFBQSxnQ0FBQTtFQUlBLCtCQUFBO0VBQUEsaUNBQUE7RUFBQSwrQkFBQTtFQUFBLDRCQUFBO0VBQUEsK0JBQUE7RUFBQSw4QkFBQTtFQUFBLDZCQUFBO0VBQUEsNEJBQUE7RUFJQSxtQ0FBQTtFQUFBLHFDQUFBO0VBQUEsbUNBQUE7RUFBQSxnQ0FBQTtFQUFBLG1DQUFB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QUhpakI5Qjs7QXlCNW9DQTtFQUNFLGtEQUFBO0VBQ0EscURBQUE7RTFCb1FJLGtCQUxJO0FDaTVCVjs7QXlCNW9DQTtFQUNFLG1EQUFBO0VBQ0Esc0RBQUE7RTFCOFBJLG1CQUxJO0FDdTVCVjs7QTBCN3FDQTtFQUNFLG1CdkIrMUJzQztFSnJrQmxDLGtCQUxJO0UyQmpSUixnQ3ZCKzFCc0M7QUgrVXhDOztBMkJuckNBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSx5QkFBQTtFNUJ3UkksZUFMSTtFNEJoUlIsZ0J4QmttQjRCO0V3QmptQjVCLGdCeEJ5bUI0QjtFd0J4bUI1QiwyQnhCNDNCc0M7RXdCMzNCdEMsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0VBQ0EsbUN4QnEzQnNDO0V3QnAzQnRDLG9DQUFBO1VBQUEsNEJBQUE7RUFDQSwyREFBQTtFdkJHRSxzQ0FBQTtFUUhFLHdGZU1KO0VmTkksZ0ZlTUo7RWZOSSwyRWVNSjtFZk5JLHdFZU1KO0VmTkksOEdlTUo7QTNCaXJDRjtBWW5yQ007RWVoQk47SWZpQlEsd0JBQUE7SUFBQSxtQkFBQTtJQUFBLGdCQUFBO0Vac3JDTjtBQUNGO0EyQnByQ0U7RUFDRSxnQkFBQTtBM0JzckNKO0EyQnByQ0k7RUFDRSxlQUFBO0EzQnNyQ047QTJCanJDRTtFQUNFLDJCeEJzMkJvQztFd0JyMkJwQyxtQ3hCZzJCb0M7RXdCLzFCcEMscUJ4QjgyQm9DO0V3QjcyQnBDLFVBQUE7RUFLRSx5RHhCa2hCa0I7VXdCbGhCbEIsaUR4QmtoQmtCO0FINnBCeEI7QTJCM3FDRTtFQU1FLGVBQUE7RUFNQSxhQUFBO0VBS0EsU0FBQTtBM0IrcENKO0EyQjFwQ0U7RUFDRSxjQUFBO0VBQ0EsVUFBQTtBM0I0cENKO0EyQnhwQ0U7RUFDRSxnQ3hCNDBCb0M7RXdCMTBCcEMsVUFBQTtBM0J5cENKO0EyQjVwQ0U7RUFDRSxnQ3hCNDBCb0M7RXdCMTBCcEMsVUFBQTtBM0J5cENKO0EyQjVwQ0U7RUFDRSxnQ3hCNDBCb0M7RXdCMTBCcEMsVUFBQTtBM0J5cENKO0EyQjVwQ0U7RUFDRSxnQ3hCNDBCb0M7RXdCMTBCcEMsVUFBQTtBM0J5cENKO0EyQmpwQ0U7RUFFRSx3Q3hCOHlCb0M7RXdCM3lCcEMsVUFBQTtBM0JncENKO0EyQjVvQ0U7RUFDRSx5QkFBQTtFQUNBLDBCQUFBO0VBQ0EsMkJ4Qm9yQjBCO0t3QnByQjFCLHdCeEJvckIwQjtVd0JwckIxQiwwQnhCb3JCMEI7RXdCbnJCMUIsMkJ4QnN5Qm9DO0V5QnA0QnRDLHVDekJxaUNnQztFd0JyOEI5QixvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsK0N4QmdzQjBCO0V3Qi9yQjFCLGdCQUFBO0VmekZFLHFKZTBGRjtFZjFGRSw2SWUwRkY7RWYxRkUsd0llMEZGO0VmMUZFLHFJZTBGRjtFZjFGRSwyS2UwRkY7QTNCOG9DSjtBWXB1Q007RWUwRUo7SWZ6RU0sd0JBQUE7SUFBQSxtQkFBQTtJQUFBLGdCQUFBO0VadXVDTjtBQUNGO0EyQmhwQ0U7RUFDRSx3Q3hCNDdCOEI7QUhzTmxDOztBMkJ6b0NBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0J4QndmNEI7RXdCdmY1QiwyQnhCMnhCc0M7RXdCMXhCdEMsNkJBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0EzQjRvQ0Y7QTJCMW9DRTtFQUNFLFVBQUE7QTNCNG9DSjtBMkJ6b0NFO0VBRUUsZ0JBQUE7RUFDQSxlQUFBO0EzQjBvQ0o7O0EyQi9uQ0E7RUFDRSxtRXhCNHdCc0M7RXdCM3dCdEMsdUJBQUE7RTVCeUlJLG1CQUxJO0VLdlFOLHlDQUFBO0FKdXdDSjtBMkJob0NFO0VBQ0UsdUJBQUE7RUFDQSx3QkFBQTtFQUNBLDBCeEJvb0IwQjtLd0Jwb0IxQix1QnhCb29CMEI7VXdCcG9CMUIseUJ4Qm9vQjBCO0FIOGY5Qjs7QTJCOW5DQTtFQUNFLGlFeEJnd0JzQztFd0IvdkJ0QyxvQkFBQTtFNUI0SEksa0JBTEk7RUt2UU4seUNBQUE7QUpteENKO0EyQi9uQ0U7RUFDRSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0Esd0J4QjJuQjBCO0t3QjNuQjFCLHFCeEIybkIwQjtVd0IzbkIxQix1QnhCMm5CMEI7QUhzZ0I5Qjs7QTJCem5DRTtFQUNFLG9FeEI2dUJvQztBSCtZeEM7QTJCem5DRTtFQUNFLG1FeEIwdUJvQztBSGlaeEM7QTJCeG5DRTtFQUNFLGlFeEJ1dUJvQztBSG1aeEM7O0EyQnJuQ0E7RUFDRSxXeEJxdUJzQztFd0JwdUJ0QyxnRXhCOHRCc0M7RXdCN3RCdEMsaUJ4QmlsQjRCO0FIdWlCOUI7QTJCdG5DRTtFQUNFLGVBQUE7QTNCd25DSjtBMkJybkNFO0VBQ0Usb0JBQUE7RXZCdkxBLHNDQUFBO0FKK3lDSjtBMkJwbkNFO0VBQ0Usb0JBQUE7RXZCNUxBLHNDQUFBO0FKbXpDSjtBMkJubkNFO0VBQW9CLCtEeEI4c0JrQjtBSHdheEM7QTJCcm5DRTtFQUFvQiw2RHhCOHNCa0I7QUgwYXhDOztBNkJ2MENBO0VBQ0Usd1BBQUE7RUFFQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLDBDQUFBO0U5QnFSSSxlQUxJO0U4QjdRUixnQjFCK2xCNEI7RTBCOWxCNUIsZ0IxQnNtQjRCO0UwQnJtQjVCLDJCMUJ5M0JzQztFMEJ4M0J0Qyx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSxtQzFCazNCc0M7RTBCajNCdEMsbUZBQUE7RUFDQSw0QkFBQTtFQUNBLHlDMUIrOUJrQztFMEI5OUJsQyxrQzFCKzlCa0M7VTBCLzlCbEMsMEIxQis5QmtDO0UwQjk5QmxDLDJEQUFBO0V6QkhFLHNDQUFBO0VRSEUsd0ZpQlNKO0VqQlRJLGdGaUJTSjtFakJUSSwyRWlCU0o7RWpCVEksd0VpQlNKO0VqQlRJLDhHaUJTSjtBN0J1MENGO0FZNTBDTTtFaUJmTjtJakJnQlEsd0JBQUE7SUFBQSxtQkFBQTtJQUFBLGdCQUFBO0VaKzBDTjtBQUNGO0E2QjEwQ0U7RUFDRSxxQjFCczNCb0M7RTBCcjNCcEMsVUFBQTtFQUtFLHlEMUJpK0I0QjtVMEJqK0I1QixpRDFCaStCNEI7QUh1V2xDO0E2QnAwQ0U7RUFFRSxzQjFCNnVCMEI7RTBCNXVCMUIsc0JBQUE7QTdCcTBDSjtBNkJsMENFO0VBRUUsd0MxQnUxQm9DO0FINGV4QztBNkI5ekNFO0VBQ0Usa0JBQUE7RUFDQSx1Q0FBQTtBN0JnMENKOztBNkI1ekNBO0VBQ0Usb0IxQnN1QjRCO0UwQnJ1QjVCLHVCMUJxdUI0QjtFMEJwdUI1QixvQjFCcXVCNEI7RUpsZ0J4QixtQkFMSTtFS3ZRTix5Q0FBQTtBSjAyQ0o7O0E2QjV6Q0E7RUFDRSxtQjFCa3VCNEI7RTBCanVCNUIsc0IxQml1QjRCO0UwQmh1QjVCLGtCMUJpdUI0QjtFSnRnQnhCLGtCQUxJO0VLdlFOLHlDQUFBO0FKazNDSjs7QTZCMXpDSTtFQUNFLHdQQUFBO0E3QjZ6Q047O0E4QnI0Q0E7RUFDRSxjQUFBO0VBQ0Esa0IzQnE2QndDO0UyQnA2QnhDLG1CM0JxNkJ3QztFMkJwNkJ4Qyx1QjNCcTZCd0M7QUhtZTFDO0E4QnQ0Q0U7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7QTlCdzRDSjs7QThCcDRDQTtFQUNFLG9CM0IyNUJ3QztFMkIxNUJ4QyxlQUFBO0VBQ0EsaUJBQUE7QTlCdTRDRjtBOEJyNENFO0VBQ0UsWUFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtBOUJ1NENKOztBOEJuNENBO0VBQ0UscUNBQUE7RUFFQSxzQkFBQTtNQUFBLG9CQUFBO1VBQUEsY0FBQTtFQUNBLFUzQjA0QndDO0UyQno0QnhDLFczQnk0QndDO0UyQng0QnhDLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSx5Q0FBQTtFQUNBLCtDQUFBO0VBQ0EsNEJBQUE7RUFDQSwyQkFBQTtFQUNBLGdDQUFBO1VBQUEsd0JBQUE7RUFDQSwyRDNCMjRCd0M7RTJCMTRCeEMseUJBQUE7QTlCcTRDRjtBOEJsNENFO0UxQjNCRSxxQkFBQTtBSmc2Q0o7QThCajRDRTtFQUVFLGtCM0JtNEJzQztBSCtmMUM7QThCLzNDRTtFQUNFLCtCM0IwM0JzQztVMkIxM0J0Qyx1QjNCMDNCc0M7QUh1Z0IxQztBOEI5M0NFO0VBQ0UscUIzQnMxQm9DO0UyQnIxQnBDLFVBQUE7RUFDQSx5RDNCOGZvQjtVMkI5ZnBCLGlEM0I4Zm9CO0FIazRCeEI7QThCNzNDRTtFQUNFLHlCbEM1RFc7RWtDNkRYLHFCbEM3RFc7QUk0N0NmO0E4QjczQ0k7RUFJSSx1UEFBQTtBOUI0M0NSO0E4QngzQ0k7RUFJSSwrSkFBQTtBOUJ1M0NSO0E4QmwzQ0U7RUFDRSx5QmxDakZXO0VrQ2tGWCxxQmxDbEZXO0VrQ3VGVCxpUEFBQTtBOUJnM0NOO0E4QjUyQ0U7RUFDRSxvQkFBQTtFQUNBLG9CQUFBO1VBQUEsWUFBQTtFQUNBLFkzQmsyQnVDO0FINGdCM0M7QThCdjJDSTtFQUNFLGVBQUE7RUFDQSxZM0J5MUJxQztBSGdoQjNDOztBOEIzMUNBO0VBQ0UsbUIzQm8xQmdDO0FIMGdCbEM7QThCNTFDRTtFQUNFLDJLQUFBO0VBRUEsVTNCODBCOEI7RTJCNzBCOUIsbUJBQUE7RUFDQSwwQ0FBQTtFQUNBLGdDQUFBO0UxQmpIQSxrQkFBQTtFUUhFLHlEa0JzSEY7RWxCdEhFLG9Ea0JzSEY7RWxCdEhFLGlEa0JzSEY7QTlCNjFDSjtBWS84Q007RWtCMEdKO0lsQnpHTSx3QkFBQTtJQUFBLG1CQUFBO0lBQUEsZ0JBQUE7RVprOUNOO0FBQ0Y7QThCaDJDSTtFQUNFLDZKQUFBO0E5QmsyQ047QThCLzFDSTtFQUNFLGlDM0I2MEI0QjtFMkJ4MEIxQiwwSkFBQTtBOUI2MUNSO0E4QngxQ0U7RUFDRSxvQjNCd3pCOEI7RTJCdnpCOUIsZUFBQTtBOUIwMUNKO0E4QngxQ0k7RUFDRSxvQkFBQTtFQUNBLGNBQUE7QTlCMDFDTjs7QThCcjFDQTtFQUNFLHFCQUFBO0VBQ0Esa0IzQnN5QmdDO0FIa2pCbEM7O0E4QnIxQ0E7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7QTlCdzFDRjtBOEJwMUNJO0VBQ0Usb0JBQUE7RUFDQSxvQkFBQTtVQUFBLFlBQUE7RUFDQSxhM0JzcEJ3QjtBSGdzQjlCOztBOEIvMENJO0VBQ0UsaUxBQUE7QTlCazFDTjs7QStCcmdEQTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsVUFBQTtFQUNBLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLDZCQUFBO0EvQndnREY7QStCdGdERTtFQUNFLFVBQUE7QS9Cd2dESjtBK0JwZ0RJO0VBQTBCLHlFNUI4Z0NhO1U0QjlnQ2IsaUU1QjhnQ2E7QUh5ZjNDO0ErQnRnREk7RUFBMEIsaUU1QjZnQ2E7QUg0ZjNDO0ErQnRnREU7RUFDRSxTQUFBO0EvQndnREo7QStCcmdERTtFQUNFLFc1QisvQnVDO0U0QjkvQnZDLFk1QjgvQnVDO0U0QjcvQnZDLG9CQUFBO0VBQ0Esd0JBQUE7VUFBQSxnQkFBQTtFSDFCRix5QmhDRWE7RW1DMEJYLFM1QjYvQnVDO0VDMWdDdkMsbUJBQUE7RVFIRSw0SG1CbUJGO0VuQm5CRSxvSG1CbUJGO0VuQm5CRSwrR21CbUJGO0VuQm5CRSw0R21CbUJGO0VuQm5CRSxrSm1CbUJGO0EvQnNnREo7QVlyaERNO0VtQk1KO0luQkxNLHdCQUFBO0lBQUEsbUJBQUE7SUFBQSxnQkFBQTtFWndoRE47QUFDRjtBK0J6Z0RJO0VIakNGLHlCekI4aEN5QztBSCtnQjNDO0ErQnZnREU7RUFDRSxXNUJ3K0I4QjtFNEJ2K0I5QixjNUJ3K0I4QjtFNEJ2K0I5QixrQkFBQTtFQUNBLGU1QnUrQjhCO0U0QnQrQjlCLHdDNUJ1K0I4QjtFNEJ0K0I5Qix5QkFBQTtFM0I3QkEsbUJBQUE7QUp1aURKO0ErQnJnREU7RUFDRSxXNUJvK0J1QztFNEJuK0J2QyxZNUJtK0J1QztFNEJsK0J2QyxxQkFBQTtPQUFBLGdCQUFBO0VIcERGLHlCaENFYTtFbUNvRFgsUzVCbStCdUM7RUMxZ0N2QyxtQkFBQTtFUUhFLDRIbUI2Q0Y7RW5CN0NFLG9IbUI2Q0Y7RW5CN0NFLCtHbUI2Q0Y7RW5CN0NFLDRHbUI2Q0Y7RW5CN0NFLGtKbUI2Q0Y7QS9Cc2dESjtBWS9pRE07RW1CaUNKO0luQmhDTSx3QkFBQTtJQUFBLG1CQUFBO0lBQUEsZ0JBQUE7RVprakROO0FBQ0Y7QStCemdESTtFSDNERix5QnpCOGhDeUM7QUh5aUIzQztBK0J2Z0RFO0VBQ0UsVzVCODhCOEI7RTRCNzhCOUIsYzVCODhCOEI7RTRCNzhCOUIsa0JBQUE7RUFDQSxlNUI2OEI4QjtFNEI1OEI5Qix3QzVCNjhCOEI7RTRCNThCOUIseUJBQUE7RTNCdkRBLG1CQUFBO0FKaWtESjtBK0JyZ0RFO0VBQ0Usb0JBQUE7QS9CdWdESjtBK0JyZ0RJO0VBQ0UsMkM1Qmc5QnFDO0FIdWpCM0M7QStCcGdESTtFQUNFLDJDNUI0OEJxQztBSDBqQjNDOztBZ0M3bERBO0VBQ0Usa0JBQUE7QWhDZ21ERjtBZ0M5bERFOzs7RUFHRSx1RDdCd2lDb0M7RTZCdmlDcEMsMkQ3QnVpQ29DO0U2QnRpQ3BDLGlCN0J1aUNvQztBSHlqQnhDO0FnQzdsREU7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxnREFBQTtFQUNBLDZCQUFBO09BQUEsd0JBQUE7VUFBQSxxQkFBQTtFcEJSRSxnRm9CU0Y7RXBCVEUsd0VvQlNGO0VwQlRFLHNFb0JTRjtFcEJURSxnRW9CU0Y7RXBCVEUsbUlvQlNGO0FoQytsREo7QVlwbURNO0VvQlRKO0lwQlVNLHdCQUFBO0lBQUEsbUJBQUE7SUFBQSxnQkFBQTtFWnVtRE47QUFDRjtBZ0NqbURFOztFQUVFLHFCQUFBO0FoQ21tREo7QWdDam1ESTs7RUFDRSxrQkFBQTtBaENvbUROO0FnQ3JtREk7O0VBQ0Usa0JBQUE7QWhDb21ETjtBZ0NybURJOztFQUNFLGtCQUFBO0FoQ29tRE47QWdDcm1ESTs7RUFDRSxrQkFBQTtBaENvbUROO0FnQ2ptREk7OztFQUVFLHFCN0I0Z0NrQztFNkIzZ0NsQyx3QjdCNGdDa0M7QUh3bEJ4QztBZ0NqbURJOztFQUNFLHFCN0J1Z0NrQztFNkJ0Z0NsQyx3QjdCdWdDa0M7QUg2bEJ4QztBZ0NobURFO0VBQ0UscUI3QmlnQ29DO0U2QmhnQ3BDLHdCN0JpZ0NvQztBSGltQnhDO0FnQzNsREk7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QiwrREFBQTtFQUNBLG1GQUFBO1VBQUEsMkVBQUE7QWxDMHVEVjtBa0N0dURNO0VBQ0UsK0MvQjYrQmlCO0UrQjUrQmpCLG1FL0I0K0JpQjtVK0I1K0JqQiwyRC9CNCtCaUI7QUg0dkJ6Qjs7QWtDeDBESTtFQXdHSSx5Q0FBQTtBbENvdURSOztBa0M1MERJO0VBK0dFLCtDL0I2OUJtQjtBSG93QnpCO0FrQy90RE07RUFDRSw0Qy9CMDlCaUI7QUh1d0J6QjtBa0M5dERNO0VBQ0UsbUUvQnM5QmlCO1UrQnQ5QmpCLDJEL0JzOUJpQjtBSDB3QnpCO0FrQzd0RE07RUFDRSxpQy9CazlCaUI7QUg2d0J6Qjs7QWtDMXRESTtFQUNFLGtCQUFBO0FsQzZ0RE47O0FrQzcxREk7Ozs7O0VBMElNLFVBQUE7QWxDMnREVjs7QWtDajFERTtFQUNFLGFBQUE7RUFDQSxXQUFBO0VBQ0EsbUIvQnUwQm9DO0VKcmtCbEMsa0JBTEk7RW1DMVBOLG1DL0JrakNxQjtBSGl5QnpCOztBa0NoMURFO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFbkNxUEUsbUJBTEk7RW1DN09OLFcvQnFpQ3FCO0UrQnBpQ3JCLGtDL0JvaUNxQjtFQy9qQ3JCLHNDQUFBO0FKODJESjs7QWtDOTBESTs7OztFQUVFLGNBQUE7QWxDbTFETjs7QWtDbDRESTtFQXFERSxpRC9CdWhDbUI7RStCcGhDakIsb0MvQjgxQmdDO0UrQjcxQmhDLDRVQUFBO0VBQ0EsNEJBQUE7RUFDQSwyREFBQTtFQUNBLHdFQUFBO1VBQUEsZ0VBQUE7QWxDKzBEUjtBa0M1MERNO0VBQ0UsaUQvQjRnQ2lCO0UrQjNnQ2pCLGtFL0IyZ0NpQjtVK0IzZ0NqQiwwRC9CMmdDaUI7QUhtMEJ6Qjs7QWtDLzRESTtFQTBFSSxvQy9CNDBCZ0M7RStCMzBCaEMsa0ZBQUE7QWxDeTBEUjs7QWtDcDVESTtFQWtGRSxpRC9CMC9CbUI7QUg0MEJ6QjtBa0NuMERRO0VBRUUsb1ZBQUE7RUFDQSx1Qi9CMDVCOEI7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QUFBO0VoRXE1UlY7RWdFNTVSTTtJQU9JLDhCQUFBO0VoRXc1UlY7RWdFLzVSTTtJQU9JLDZCQUFBO0VoRTI1UlY7RWdFbDZSTTtJQU9JLDJCQUFBO0VoRTg1UlY7RWdFcjZSTTtJQU9JLDZCQUFBO0VoRWk2UlY7RWdFeDZSTTtJQU9JLDJCQUFBO0VoRW82UlY7RWdFMzZSTTtJQU9JLDJCQUFBO0VoRXU2UlY7RWdFOTZSTTtJQU9JLDBCQUFBO0VoRTA2UlY7RWdFajdSTTtJQU9JLGdDQUFBO0VoRTY2UlY7RWdFcDdSTTtJQU9JLCtCQUFBO0VoRWc3UlY7RWdFdjdSTTtJQU9JLDZCQUFBO0VoRW03UlY7RWdFMTdSTTtJQU9JLCtCQUFBO0VoRXM3UlY7RWdFNzdSTTtJQU9JLDZCQUFBO0VoRXk3UlY7RWdFaDhSTTtJQU9JLDZCQUFBO0VoRTQ3UlY7RWdFbjhSTTtJQU9JLDJCQUFBO0VoRSs3UlY7RWdFdDhSTTtJQU9JLGlDQUFBO0VoRWs4UlY7RWdFejhSTTtJQU9JLGdDQUFBO0VoRXE4UlY7RWdFNThSTTtJQU9JLDhCQUFBO0VoRXc4UlY7RWdFLzhSTTtJQU9JLGdDQUFBO0VoRTI4UlY7RWdFbDlSTTtJQU9JLDhCQUFBO0VoRTg4UlY7RWdFcjlSTTtJQU9JLDhCQUFBO0VoRWk5UlY7RWdFeDlSTTtJQU9JLHlCQUFBO0VoRW85UlY7RWdFMzlSTTtJQU9JLCtCQUFBO0VoRXU5UlY7RWdFOTlSTTtJQU9JLDhCQUFBO0VoRTA5UlY7RWdFaitSTTtJQU9JLDRCQUFBO0VoRTY5UlY7RWdFcCtSTTtJQU9JLDhCQUFBO0VoRWcrUlY7RWdFditSTTtJQU9JLDRCQUFBO0VoRW0rUlY7RWdFMStSTTtJQU9JLDRCQUFBO0VoRXMrUlY7RWdFNytSTTtJQU9JLHFCQUFBO0VoRXkrUlY7RWdFaC9STTtJQU9JLDJCQUFBO0VoRTQrUlY7RWdFbi9STTtJQU9JLDBCQUFBO0VoRSsrUlY7RWdFdC9STTtJQU9JLHdCQUFBO0VoRWsvUlY7RWdFei9STTtJQU9JLDBCQUFBO0VoRXEvUlY7RWdFNS9STTtJQU9JLHdCQUFBO0VoRXcv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QTtFaEV1blVWO0VnRTluVU07SUFPSSwrQkFBQTtFaEUwblVWO0VnRWpvVU07SUFPSSw4QkFBQTtFaEU2blVWO0VnRXBvVU07SUFPSSw0QkFBQTtFaEVnb1VWO0VnRXZvVU07SUFPSSw4QkFBQTtFaEVtb1VWO0VnRTFvVU07SUFPSSw0QkFBQTtFaEVzb1VWO0VnRTdvVU07SUFPSSwyQkFBQTtFaEV5b1VWO0VnRWhwVU07SUFPSSxpQ0FBQTtFaEU0b1VWO0VnRW5wVU07SUFPSSxnQ0FBQTtFaEUrb1VWO0VnRXRwVU07SUFPSSw4QkFBQTtFaEVrcFVWO0VnRXpwVU07SUFPSSxnQ0FBQTtFaEVxcFVWO0VnRTVwVU07SUFPSSw4QkFBQTtFaEV3cFVWO0VnRS9wVU07SUFPSSw0QkFBQTtFaEUycFVWO0VnRWxxVU07SUFPSSxrQ0FBQTtFaEU4cFVWO0VnRXJxVU07SUFPSSxpQ0FBQTtFaEVpcVVWO0VnRXhxVU07SUFPSSwrQkFBQTtFaEVvcVVWO0VnRTNxVU07SUFPSSxpQ0FBQTtFaEV1cVVWO0VnRTlxVU07SUFPSSwrQkFBQTtFaEUwcVVWO0VnRWpyVU07SUFPSSwwQkFBQTtFaEU2cVVWO0VnRXByVU07SUFPSSxnQ0FBQTtFaEVnclVWO0VnRXZyVU07SUFPSSwrQkFBQTtFaEVtclVWO0VnRTFyVU07SUFPSSw2QkFBQTtFaEVzclVWO0VnRTdyVU07SUFPSSwrQkFBQTtFaEV5clVWO0VnRWhzVU07SUFPSSw2QkFBQTtFaEU0clVWO0VnRW5zVU07SUFPSSxpQkFBQTtFaEUrclVWO0VnRXRzVU07SUFPSSx1QkFBQTtFaEVrc1VWO0VnRXpzVU07SUFPSSxzQkFBQTtFaEVxc1VWO0VnRTVzVU07SUFPSSxvQkFBQTtFaEV3c1VWO0VnRS9zVU07SUFPSSxzQkFBQTtFaEUyc1VWO0VnRWx0VU07SUFPSSxvQkFBQTtFaEU4c1VWO0VnRXJ0VU07SUFPSSxxQkFBQTtFaEVpdFVWO0VnRXh0VU07SUFPSSwyQkFBQTtFaEVvdFVWO0VnRTN0VU07SUFPSSwwQkFBQTtFaEV1dFVWO0VnRTl0VU07SUFPSSx3QkFBQTtFaEUwdFVW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QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNFQTs7Ozs7OztDQUFBO0FDQ0E7Ozs7Ozs7Q0FBQTtBQ0hBOzs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBbEJBQTs7Ozs7O0NBQUE7QUFBQTs7Ozs7O0NBQUE7QUFBQTs7Ozs7O0NBQUE7QW1CQUE7Ozs7Ozs7Q0FBQTtBQ0dBOzs7Ozs7Q0FBQTtBQ0hBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNNQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNOQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Q0FBQTtBREFBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUVBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBRkFBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUdBQTs7Ozs7OztDQUFBO0FDTUE7Ozs7Ozs7O0NBQUE7QUE4QkE7Ozs7Q0FBQTtBQU1BOztDQUFBO0FBa0JBOztDQUFBO0FBYUE7O0NBQUE7QUF5QkE7O0NBQUE7QUNsR0E7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDUUE7Ozs7Ozs7Ozs7O0NBQUE7QUNKQTs7Ozs7Ozs7Ozs7Q0FBQTtBQ0pBOzs7O0NBQUE7QUNVQTs7Ozs7Ozs7OztDQUFBO0FDUEE7Ozs7Ozs7Q0FBQTtBQ1FBOzs7Ozs7O0NBQUE7QUFvQkE7Ozs7Ozs7O0NBQUE7QUFxQkE7Ozs7OztDQUFBO0FBZUE7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7O0NBQUE7QUF5QkE7Ozs7Ozs7O0NBQUE7QUE4QkE7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7Q0FBQTtBQWdCQTs7Ozs7OztDQUFBO0FBZ0JBOzs7Ozs7O0NBQUE7QUFnQkE7Ozs7Ozs7Q0FBQTtBQWdEQTs7Ozs7Ozs7Q0FBQTtBQ2hQQTs7Ozs7Ozs7Ozs7O0NBQUE7QUNOQTs7Ozs7O0NBQUE7QUFZQTs7Ozs7Ozs7Q0FBQTtBQWNBOzs7Ozs7Ozs7O0NBQUE7QUNwQkE7Ozs7Ozs7OztDQUFBO0FDUkEsd0NBQUE7QUFhQTs7Ozs7Ozs7Q0FBQTtBQW1DQTs7Ozs7Ozs7Ozs7OztDQUFBO0FBZ0dBOzs7Ozs7Ozs7Q0FBQTtBQTZOQSxxQkFBQTtBQzdXQTs7Ozs7Ozs7O0NBQUE7QUFhQSxvQkFBQTtBQTBHQSxvQkFBQTtBM0V2SEE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBbUJBOzs7Ozs7Q0FBQTtBQVVBOzs7Ozs7Ozs7Q0FBQTtBQWNBOzs7O0NBQUE7QUFxQkE7Ozs7Ozs7Ozs7O0NBQUE7QUFlQTs7Ozs7OztDQUFBO0FBV0E7Ozs7Ozs7O0NBQUE7QUFZQTs7OztDQUFBO0FBV0E7Ozs7Q0FBQTtBQ2pIQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFpQkE7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBa0NBOzs7Ozs7Ozs7Ozs7Q0FBQTtBQWtCQTs7Ozs7OztDQUFBO0FBV0E7Ozs7OztDQUFBO0FBVUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXFEQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXdDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQTZCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUErREE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBdUJBOzs7Ozs7Ozs7Q0FBQTtBQXFCQTs7Ozs7OztDQUFBO0FBdUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUN0VkE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBbUJBOzs7O0NBQUE7QUEyREE7Ozs7Q0FBQTtBQWtEQTs7OztDQUFBO0FDOUhBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0ZBOzs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFrQkE7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBd0JBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUF1QkE7Ozs7Ozs7Ozs7OztDQUFBO0FBZ0JBOzs7O0NBQUE7QUNqRkE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBc0JBOzs7Ozs7OztDQUFBO0FBbUNBOzs7Ozs7Ozs7O0NBQUE7QUFjQTs7OztDQUFBO0FBMnVCQTs7OztDQUFBO0FDbHpCQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNFQTs7Ozs7OztDQUFBO0FDQ0E7Ozs7Ozs7Q0FBQTtBQ0hBOzs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBbEJBQTs7Ozs7O0NBQUE7QUFBQTs7Ozs7O0NBQUE7QUFBQTs7Ozs7O0NBQUE7QW1CQUE7Ozs7Ozs7Q0FBQTtBQ0dBOzs7Ozs7Q0FBQTtBQ0hBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNNQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNOQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Q0FBQTtBREFBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUVBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBRkFBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUdBQTs7Ozs7OztDQUFBO0FDTUE7Ozs7Ozs7O0NBQUE7QUE4QkE7Ozs7Q0FBQTtBQU1BOztDQUFBO0FBa0JBOztDQUFBO0FBYUE7O0NBQUE7QUF5QkE7O0NBQUE7QUNsR0E7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDUUE7Ozs7Ozs7Ozs7O0NBQUE7QUNKQTs7Ozs7Ozs7Ozs7Q0FBQTtBQ0pBOzs7O0NBQUE7QUNVQTs7Ozs7Ozs7OztDQUFBO0FDUEE7Ozs7Ozs7Q0FBQTtBQ1FBOzs7Ozs7O0NBQUE7QUFvQkE7Ozs7Ozs7O0NBQUE7QUFxQkE7Ozs7OztDQUFBO0FBZUE7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7O0NBQUE7QUF5QkE7Ozs7Ozs7O0NBQUE7QUE4QkE7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7Q0FBQTtBQWdCQTs7Ozs7OztDQUFBO0FBZ0JBOzs7Ozs7O0NBQUE7QUFnQkE7Ozs7Ozs7Q0FBQTtBQWdEQTs7Ozs7Ozs7Q0FBQTtBQ2hQQTs7Ozs7Ozs7Ozs7O0NBQUE7QUNOQTs7Ozs7O0NBQUE7QUFZQTs7Ozs7Ozs7Q0FBQTtBQWNBOzs7Ozs7Ozs7O0NBQUE7QUNwQkE7Ozs7Ozs7OztDQUFBO0FDUkEsd0NBQUE7QUFhQTs7Ozs7Ozs7Q0FBQTtBQW1DQTs7Ozs7Ozs7Ozs7OztDQUFBO0FBZ0dBOzs7Ozs7Ozs7Q0FBQTtBQTZOQSxxQkFBQTtBQzdXQTs7Ozs7Ozs7O0NBQUE7QUFhQSxvQkFBQTtBQTBHQSxvQkFBQTtBQ3ZIQSxzQkFBQTtBQWVBLHFCQUFBO0E1RWZBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQW1CQTs7Ozs7O0NBQUE7QUFVQTs7Ozs7Ozs7O0NBQUE7QUFjQTs7OztDQUFBO0FBcUJBOzs7Ozs7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7Q0FBQTtBQVdBOzs7Ozs7OztDQUFBO0FBWUE7Ozs7Q0FBQTtBQVdBOzs7O0NBQUE7QUNqSEE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBaUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQWtDQTs7Ozs7Ozs7Ozs7O0NBQUE7QUFrQkE7Ozs7Ozs7Q0FBQTtBQVdBOzs7Ozs7Q0FBQTtBQVVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFxREE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUF3Q0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUE2QkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBK0RBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXVCQTs7Ozs7Ozs7O0NBQUE7QUFxQkE7Ozs7Ozs7Q0FBQTtBQXVCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDdFZBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQW1CQTs7OztDQUFBO0FBMkRBOzs7O0NBQUE7QUFrREE7Ozs7Q0FBQTtBQzlIQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNGQTs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBa0JBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXdCQTs7Ozs7Ozs7Ozs7OztDQUFBO0FBdUJBOzs7Ozs7Ozs7Ozs7Q0FBQTtBQWdCQTs7OztDQUFBO0FDakZBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXNCQTs7Ozs7Ozs7Q0FBQTtBQW1DQTs7Ozs7Ozs7OztDQUFBO0FBY0E7Ozs7Q0FBQTtBQTJ1QkE7Ozs7Q0FBQTtBQ2x6QkE7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDRUE7Ozs7Ozs7Q0FBQTtBQ0NBOzs7Ozs7O0NBQUE7QUNIQTs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7O0NBQUE7QWxCQUE7Ozs7OztDQUFBO0FBQUE7Ozs7OztDQUFBO0FBQUE7Ozs7OztDQUFBO0FtQkFBOzs7Ozs7O0NBQUE7QUNHQTs7Ozs7O0NBQUE7QUNIQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDTUE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDTkE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7O0NBQUE7QURBQTs7Ozs7Ozs7Ozs7OztDQUFBO0FFQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUZBQTs7Ozs7Ozs7Ozs7OztDQUFBO0FHQUE7Ozs7Ozs7Q0FBQTtBQ01BOzs7Ozs7OztDQUFBO0FBOEJBOzs7O0NBQUE7QUFNQTs7Q0FBQTtBQWtCQTs7Q0FBQTtBQWFBOztDQUFBO0FBeUJBOztDQUFBO0FDbEdBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ1FBOzs7Ozs7Ozs7OztDQUFBO0FDSkE7Ozs7Ozs7Ozs7O0NBQUE7QUNKQTs7OztDQUFBO0FDVUE7Ozs7Ozs7Ozs7Q0FBQTtBQ1BBOzs7Ozs7O0NBQUE7QUNRQTs7Ozs7OztDQUFBO0FBb0JBOzs7Ozs7OztDQUFBO0FBcUJBOzs7Ozs7Q0FBQTtBQWVBOzs7Ozs7Q0FBQTtBQWVBOzs7Ozs7OztDQUFBO0FBeUJBOzs7Ozs7OztDQUFBO0FBOEJBOzs7Ozs7Q0FBQTtBQWVBOzs7Ozs7O0NBQUE7QUFnQkE7Ozs7Ozs7Q0FBQTtBQWdCQTs7Ozs7OztDQUFBO0FBZ0JBOzs7Ozs7O0NBQUE7QUFnREE7Ozs7Ozs7O0NBQUE7QUNoUEE7Ozs7Ozs7Ozs7OztDQUFBO0FDTkE7Ozs7OztDQUFBO0FBWUE7Ozs7Ozs7O0NBQUE7QUFjQTs7Ozs7Ozs7OztDQUFBO0FDcEJBOzs7Ozs7Ozs7Q0FBQTtBQ1JBLHdDQUFBO0FBYUE7Ozs7Ozs7O0NBQUE7QUFtQ0E7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQWdHQTs7Ozs7Ozs7O0NBQUE7QUE2TkEscUJBQUE7QUM3V0E7Ozs7Ozs7OztDQUFBO0FBYUEsb0JBQUE7QUEwR0Esb0JBQUE7QUVySEE7RUNlRSx3QkFBQTtFQUFBLCtCQUFBO01BQUEscUJBQUE7VUFBQSx1QkFBQTtFQ0ZBLG9CQUFBO0VBQUEscUJBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7QWpKMGhkRjs7QStJbGlkQTtFR0pFLHNCQUFBO01BQUEsb0JBQUE7VUFBQSxjQUFBO0VBQ0Esb0JBRm9DO0FsSjRpZHRDOztBK0luaWRBO0VJMkNRLG1CQUFBO0VBQUEsb0JBQUE7TUFBQSxnQkFBQTtVQUFBLFlBQUE7QW5KNC9jUjs7QWtFbGpkQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFtQkE7Ozs7OztDQUFBO0FBVUE7Ozs7Ozs7OztDQUFBO0FBY0E7Ozs7Q0FBQTtBQXFCQTs7Ozs7Ozs7Ozs7Q0FBQTtBQWVBOzs7Ozs7O0NBQUE7QUFXQTs7Ozs7Ozs7Q0FBQTtBQVlBOzs7O0NBQUE7QUFXQTs7OztDQUFBO0FDakhBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQWlCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFrQ0E7Ozs7Ozs7Ozs7OztDQUFBO0FBa0JBOzs7Ozs7O0NBQUE7QUFXQTs7Ozs7O0NBQUE7QUFVQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBcURBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBd0NBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBNkJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQStEQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUF1QkE7Ozs7Ozs7OztDQUFBO0FBcUJBOzs7Ozs7O0NBQUE7QUF1QkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ3RWQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFtQkE7Ozs7Q0FBQTtBQTJEQTs7OztDQUFBO0FBa0RBOzs7O0NBQUE7QUM5SEE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDRkE7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQWtCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUF3QkE7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXVCQTs7Ozs7Ozs7Ozs7O0NBQUE7QUFnQkE7Ozs7Q0FBQTtBQ2pGQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFzQkE7Ozs7Ozs7O0NBQUE7QUFtQ0E7Ozs7Ozs7Ozs7Q0FBQTtBQWNBOzs7O0NBQUE7QUEydUJBOzs7O0NBQUE7QUNsekJBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0VBOzs7Ozs7O0NBQUE7QUNDQTs7Ozs7OztDQUFBO0FDSEE7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FsQkFBOzs7Ozs7Q0FBQTtBQUFBOzs7Ozs7Q0FBQTtBQUFBOzs7Ozs7Q0FBQTtBbUJBQTs7Ozs7OztDQUFBO0FDR0E7Ozs7OztDQUFBO0FDSEE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ01BOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ05BOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FEQUE7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBRUFBOzs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FGQUE7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBR0FBOzs7Ozs7O0NBQUE7QUNNQTs7Ozs7Ozs7Q0FBQTtBQThCQTs7OztDQUFBO0FBTUE7O0NBQUE7QUFrQkE7O0NBQUE7QUFhQTs7Q0FBQTtBQXlCQTs7Q0FBQTtBQ2xHQTs7Ozs7OztDQUFBO0FDQUE7Ozs7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UjtBOEsxaGtCSTtFQUVJLHlCQUFBO0VBQ0EsY2xMekVZO0FJb21rQnBCOztBOEt0aGtCQTtFQUNJLHlCbEwvRWdCO0VrTGdGaEIseUJBQUE7RUFDQSxjbExyRmU7QUk4bWtCbkI7QThLdmhrQkk7RUFDSSxxREFBQTtFQUNBLFdBQUE7QTlLeWhrQlI7QThLdGhrQkk7RUFFSSxpRGxMekVtQjtFa0wwRW5CLGNsTC9GVztBSXNua0JuQjs7QThLbmhrQkE7RUx5SEUseUI3S3ZOcUI7RTZLd05yQixrQkFBQTtFQUNBLGU1SzVRdUI7RTRLNlF2QixnQkFBQTtFQUNBLG9CQUFBO0VBQ0EseUJBQUE7QXpLODVqQkY7QXlLNTVqQkU7RUFDRSxjN0tqT29CO0FJK25rQnhCO0F5SzM1akJFO0VBQ0UseUI3SzdNc0I7RTZLOE10QixjN0t0T29CO0FJbW9rQnhCO0F5SzE1akJFO0VBQ0UseUI3S3hPbUI7RTZLeU9uQix5QkFBQTtBeks0NWpCSjtBOEtwaWtCSTtFQUNJLDRDQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0E5S3Npa0JSOztBOEtoaWtCQTtFQUNJLHFCQUFBO0E5S21pa0JKOztBOEsvaGtCQTs7OztFQUlJLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSx1QkFBQTtBOUtraWtCSjs7QThLL2hrQkE7RUFDSSx5QmxML0d5QjtFa0xnSHpCLGNsTC9Hd0I7QUlpcGtCNUI7O0E4Sy9oa0JBO0VBQ0kseUJsTHhIcUI7RWtMeUhyQixjbExsSW9CO0FJb3FrQnhCOztBOEsvaGtCQTtFQUNJLHlCbExuSXFCO0VrTG9JckIsY2xMMUllO0FJNHFrQm5COztBOEsvaGtCQTtFQUNJLHlCbExsSHdCO0VrTG1IeEIsY2xMdklxQjtBSXlxa0J6Qjs7QStLNXVrQkE7Ozs7Ozs7Q0FBQTtBQXNEQTtFTnNWRSxtQjdLN1VrQjtFNks4VWxCLG1CQUFBO0VBQ0EseURBQUE7VUFBQSxpREFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFTXRZQSxjbkxtRHNCO0VtTGxEdEIsY0FBQTtFQUNBLFlBQUE7RUFD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O0FMbjdtQkE7RUFDSSxTQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QUtzN21CSjs7QUxuN21CQTtFQUNJLFNBQUE7QUtzN21CSjs7QUxuN21CQTtFQUNJLFdBQUE7QUtzN21CSjs7QUxuN21CQTtFQUNJLG1CQUFBO0FLczdtQkoiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogXG5UaGVtZSBOYW1lOiBCb290c3RyYXAgNCBTYXNzXG5EZXNjcmlwdGlvbjogQm9vdHN0cmFwIDQgd2l0aCBTYXNzXG4qL1xuXG4vLyBpbXBvcnQgZmlsZXNcbkBpbXBvcnQgXCJpbXBvcnRcIjtcblxuLyogR0VORVJBTCBTVFlMRVNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG59XG5cblxuLyogQ09MT1JTIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5hIHtcbiAgICBjb2xvcjogJGFjY2VudC1zaGFkZTtcbn1cblxuLmJnLWludmVyc2Uge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LXNoYWRlICFpbXBvcnRhbnQ7XG59XG5cbi5zaXRlLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogJGFjY2VudC1zaGFkZTtcbn1cblxuLm1lbnUtLW1haW4gbGkgYSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LXNoYWRlO1xufVxuXG4ubWVudS0tYWNjb3VudCBsaSBhIHtcbiAgICBjb2xvcjogJHByaW1hcnktc2hhZGU7XG59XG5cbi5zaXRlLW5hbWUtc2xvZ2FuIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNhcmQtZ3JvdXAgaW1nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY2FyZC1ncm91cCAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgIG1hcmdpbjogMFxufVxuXG4uc2xpY2sge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2xpY2s+ZGl2IHtcbiAgICBtYXJnaW46IDAgMTVweDtcbn0iLCIvKiBWQVJJQUJMRVMgKi9cblxuLy8gY29sb3JzXG4kcHJpbWFyeS1zaGFkZTogcmdiKDI1NSwgNzgsIDQ2KTtcbiRwcmltYXJ5LWxpZ2h0OiB0aW50LWNvbG9yKCRwcmltYXJ5LXNoYWRlLCAzNyUpO1xuJHByaW1hcnktZGFyazogc2hhZGUtY29sb3IoJHByaW1hcnktc2hhZGUsIDEyJSk7XG4kYWNjZW50LXNoYWRlOiAjMDA3OUMwO1xuJGFjY2VudC1saWdodDogdGludC1jb2xvcigkYWNjZW50LXNoYWRlLCAzNyUpO1xuJGFjY2VudC1kYXJrOiBzaGFkZS1jb2xvcigkYWNjZW50LXNoYWRlLCAxMiUpO1xuLy8gUmVhc3NpZ24gY29sb3IgdmFycyB0byBzZW1hbnRpYyBjb2xvciBzY2hlbWVcbiRyZWQ6ICMyMDU4OEE7XG4keWVsbG93OiAjZmZjMTA3O1xuJGdyZWVuOiAjMjhhNzQ1O1xuJGN5YW46ICMxN2EyYjg7XG4kd2hpdGU6ICNmZmY7XG4kZ3JheS0xMDA6ICNmOGY5ZmE7XG4kZ3JheS04MDA6ICMzNDNhNDA7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAkYWNjZW50LXNoYWRlO1xuJHNlY29uZGFyeTogJHByaW1hcnktc2hhZGU7XG4kc3VjY2VzczogJGdyZWVuO1xuJGluZm86ICRjeWFuO1xuJHdhcm5pbmc6ICR5ZWxsb3c7XG4kZGFuZ2VyOiAkcmVkO1xuJGJyYW5kLXByaW1hcnk6ICRhY2NlbnQtc2hhZGU7XG4kbGlnaHQ6ICRncmF5LTEwMDtcbiRkYXJrOiAkZ3JheS04MDA7XG4vLyRicmFuZC1zdWNjZXNzOiAkZ3JlZW47XG4vLyRicmFuZC1pbmZvOiAkdGVhbDtcbi8vJGJyYW5kLXdhcm5pbmc6ICRvcmFuZ2U7XG4vLyRicmFuZC1kYW5nZXI6ICRyZWQ7XG4kYnJhbmQtaW52ZXJzZTogJHByaW1hcnktc2hhZGU7XG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuJGJvZHktYmc6ICR3aGl0ZTtcbiRib2R5LWNvbG9yOiAkZ3JheS04MDA7XG4kaW52ZXJzZS1iZzogJHByaW1hcnktc2hhZGU7XG4kaW52ZXJzZS1jb2xvcjogJHdoaXRlO1xuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG4vLyRsaW5rLWNvbG9yOiAkYWNjZW50LXNoYWRlO1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZTtcbi8vJGxpbmstaG92ZXItY29sb3I6ICRhY2NlbnQtZGFyaztcbi8vJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuLy8gQ29tbWVudHNcbiRjb21tZW50LXNwYWNlci14OiAxLjI1ZW07XG4kY29tbWVudC1zcGFjZXIteTogMS4yNWVtO1xuLy8gUmVzcG9uc2l2ZSBmb250IHNpemVzXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZTtcbiRlbmFibGUtc2hhZG93czogZmFsc2U7XG4kZW5hYmxlLWdyYWRpZW50czogZmFsc2U7XG4vLyBCcmVhZGNydW1icyAoV29ya3Mgb25seSBvbiBCb290c3RyYXAgNSspXG4vLyAkYnJlYWRjcnVtYi1kaXZpZGVyOiBxdW90ZShcIj5cIik7XG4kZW5hYmxlLWNhcmV0OiB0cnVlO1xuXG4vL0NJVCBQcmltYXJ5IENvbG9yc1xuJG5paC1wcmltYXJ5LWJsdWU6ICMyMDU4OEE7XG4kbmloLXByaW1hcnktZ3JlZW46ICMxNzg0ODE7XG4kbmloLXByaW1hcnktZ3JheTogIzYxNjI2NTtcbiRuaWgtcHJpbWFyeS1kYXJrLWdyYXk6ICMwNTBEMTU7XG4kbmloLXByaW1hcnktd2hpdGU6ICNGRkZGRkY7XG4kbmloLXByaW1hcnktc2t5LWJsdWU6ICNDM0Q4REY7XG4kbmloLXByaW1hcnktbGlnaHQtYmx1ZTogI0Y0RkJGRjtcbiRuaWgtcHJpbWFyeS1kYXJrLWJsdWU6ICMxMzM1NTM7XG4kbmloLXByaW1hcnktZGFyay1ncmVlbjogIzBFNEY0RDtcblxuLy9DSVQgU2Vjb25kYXJ5IENvbG9yc1xuJG5paC1wcmltYXJ5LW1lZGl1bS1ncmF5OiAjOTA5MTkzO1xuJG5paC1wcmltYXJ5LWxpZ2h0LWdyYXk6ICNFM0U3RUI7XG4kbmloLXNlY29uZGFyeS1ncmF5OiAjQTBBMEEyO1xuJG5paC1zZWNvbmRhcnktYmx1ZS1ncmF5OiAjNjk5MUFDO1xuJG5paC1zZWNvbmRhcnkteWVsbG93OiAjRTZCMTc0O1xuJG5paC1zZWNvbmRhcnktbGlnaHQteWVsbG93OiAjZmZmOWYzO1xuJG5paC1zZWNvbmRhcnktZGFyay15ZWxsb3c6ICNCMzVDMDA7XG4kbmloLXNlY29uZGFyeS1yZWQ6ICNDMDE0M0M7XG4kbmloLXNlY29uZGFyeS1saWdodC1ncmF5OiAjREZERkUwO1xuJG5paC1zZWNvbmRhcnktc2t5LWJsdWU6ICNDM0Q4REY7XG4kbmloLXNlY29uZGFyeS1ibHVlLXdoaXRlOiAjMjA1ODhhMTQ7XG4kbmloLXNlY29uZGFyeS1ncmVlbjogIzE3ODQ4MTFmO1xuJG5paC1zZWNvbmRhcnktcmVkLXdoaXRlOiAjYzAxNDNjMWY7XG4kbmloLXNlY29uZGFyeS1ncmF5LXdoaXRlOiAjMjA1ODhhMGQ7XG4kbmloLXNlY29uZGFyeS1kYXJrZ3JheS13aGl0ZTogIzIwNTg4YTFmO1xuJG5paC1zZWNvbmRhcnktb3ZlcmxheTogI2Y1ZjlmZGIzO1xuJG5paC1zZWNvbmRhcnktdGVhbC1ibHVlOiAjNDhBNEI2O1xuJG5paC1zZWNvbmRhcnktbGlnaHQtZ3JlZW46ICNFOUY5Rjk7XG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTAwJSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbi8vIG1lZGlhIHF1ZXJ5IHdpZHRoc1xuJHNjcmVlbi1zbTogNTQwcHg7XG4kc2NyZWVuLW1kOiA3ODlweDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiXG4pOyIsIi8qIFRZUE9HUkFQSFkgKi9cblxuLyogR29vZ2xlIEZvbnRzICovXG5cbi8vQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGF0bzo0MDAsMzAwLDMwMGl0YWxpYyw0MDBpdGFsaWMsNzAwLDcwMGl0YWxpYyw5MDAsOTAwaXRhbGljXCIpO1xuLy9AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjQwMCwzMDAsNTAwLDYwMCw3MDAsODAwLDkwMFwiKTtcblxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zOndnaHRAMzAwOzQwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcCcpO1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RmphbGxhK09uZSZkaXNwbGF5PXN3YXAnKTtcblxuLy9DSVQgRm9udCBTaXplc1xuJGZvbnQtc2l6ZS1zbWFsbDogMTJweDtcbiRmb250LXNpemUtbWVkaXVtOiAxNHB4O1xuJGZvbnQtc2l6ZS1tZWRpdW0tbGFyZ2U6IDE2cHg7XG4kZm9udC1zaXplLW1lZGl1bS14bGFyZ2U6IDE4cHg7XG4kZm9udC1zaXplLWxhcmdlOiAyMHB4O1xuJGZvbnQtc2l6ZS14LWxhcmdlOiAyNHB4O1xuJGZvbnQtc2l6ZS14eC1sYXJnZTogMzJweDtcbiRmb250LXNpemUteHh4LWxhcmdlOiA0MHB4O1xuJGZvbnQtc2l6ZS00eC1sYXJnZTogNDhweDtcblxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcblxuLy9OSUggRm9udCBGYW1pbHlcbiRmamFsbGEtb24tcHJpbWFyeTogJ0ZqYWxsYSBPbmUnLCBzYW5zLXNlcmlmO1xuJG9wZW4tc2Fucy1wcmltYXJ5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblxuaDEsXG4uaDEsXG5oMixcbi5oMixcbmgzLFxuLmgzLFxuaDQsXG4uaDQsXG5wIHtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbn1cblxuaDEsXG4uaDEge1xuICAgIGZvbnQtZmFtaWx5OiAkZmphbGxhLW9uLXByaW1hcnk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLTR4LWxhcmdlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmgyLFxuLmgyIHtcbiAgICBmb250LWZhbWlseTogJGZqYWxsYS1vbi1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHgtbGFyZ2U7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMsXG4uaDMge1xuICAgIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zLXByaW1hcnk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXgtbGFyZ2U7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oNCxcbi5oNCB7XG4gICAgZm9udC1mYW1pbHk6ICRmamFsbGEtb24tcHJpbWFyeTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUteC1sYXJnZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmg1LFxuLmg1IHtcbiAgICBmb250LWZhbWlseTogJGZqYWxsYS1vbi1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0teGxhcmdlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxucCB7XG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtLWxhcmdlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgJi5sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0teGxhcmdlO1xuICAgIH1cbn1cblxuYnV0dG9uLFxuYS5idXR0b24sXG5hLmxvY2staWNvbi1idXR0b24sXG5hLmxvY2staWNvbi1idXR0b24td2hpdGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jYXJkLWhlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiAkZmphbGxhLW9uLXByaW1hcnk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS14bGFyZ2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZFxufVxuXG5wPmEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufSIsIjpyb290LFxuW2RhdGEtYnMtdGhlbWU9XCJsaWdodFwiXSB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzLlxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0IHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fXdoaXRlLXJnYjogI3t0by1yZ2IoJHdoaXRlKX07XG4gIC0tI3skcHJlZml4fWJsYWNrLXJnYjogI3t0by1yZ2IoJGJsYWNrKX07XG5cbiAgLy8gRm9udHNcblxuICAvLyBOb3RlOiBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiAjeyRncmFkaWVudH07XG5cbiAgLy8gUm9vdCBhbmQgYm9keVxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplOiAjeyRmb250LXNpemUtcm9vdH07XG4gIH1cbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1iYXNlKX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLWJhc2UsIC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtYmFzZX07XG4gIC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQ6ICN7JGxpbmUtaGVpZ2h0LWJhc2V9O1xuICBAaWYgJGJvZHktdGV4dC1hbGlnbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ246ICN7JGJvZHktdGV4dC1hbGlnbn07XG4gIH1cblxuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmd9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmcpfTtcblxuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3IpfTtcblxuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmd9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmcpfTtcblxuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmd9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuXG4gIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWxpbmstZGVjb3JhdGlvbjogI3skbGluay1kZWNvcmF0aW9ufTtcblxuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yKX07XG5cbiAgQGlmICRsaW5rLWhvdmVyLWRlY29yYXRpb24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1kZWNvcmF0aW9uOiAjeyRsaW5rLWhvdmVyLWRlY29yYXRpb259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZ307XG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9yZGVyLXZhclxuICAtLSN7JHByZWZpeH1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdHlsZTogI3skYm9yZGVyLXN0eWxlfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudH07XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc206ICN7JGJvcmRlci1yYWRpdXMtc219O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnOiAjeyRib3JkZXItcmFkaXVzLWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bDogI3skYm9yZGVyLXJhZGl1cy14bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsOiAjeyRib3JkZXItcmFkaXVzLXh4bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtMnhsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpOyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMCBmb3IgY29uc2lzdGVuY3lcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsOiAjeyRib3JkZXItcmFkaXVzLXBpbGx9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9yZGVyLXZhclxuXG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3c6ICN7JGJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtOiAjeyRib3gtc2hhZG93LXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZzogI3skYm94LXNoYWRvdy1sZ307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQ6ICN7JGJveC1zaGFkb3ctaW5zZXR9O1xuXG4gIC8vIEZvY3VzIHN0eWxlc1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb2N1cy12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aDogI3skZm9jdXMtcmluZy13aWR0aH07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctb3BhY2l0eTogI3skZm9jdXMtcmluZy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcjogI3skZm9jdXMtcmluZy1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb2N1cy12YXJpYWJsZXNcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG5cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnLWRhcmspfTtcblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dC1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS10ZXh0LWVtcGhhc2lzOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvci1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7JGxpbmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmctZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWRhcmstbW9kZS12YXJzXG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIi8qIFxuVGhlbWUgTmFtZTogQm9vdHN0cmFwIDQgU2Fzc1xuRGVzY3JpcHRpb246IEJvb3RzdHJhcCA0IHdpdGggU2Fzc1xuKi9cbi8qIFZBUklBQkxFUyAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU9wZW4rU2Fuczp3Z2h0QDMwMDs0MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXBcIik7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RmphbGxhK09uZSZkaXNwbGF5PXN3YXBcIik7XG46cm9vdCxcbltkYXRhLWJzLXRoZW1lPWxpZ2h0XSB7XG4gIC0tYnMtYmx1ZTogIzBkNmVmZDtcbiAgLS1icy1pbmRpZ286ICM2NjEwZjI7XG4gIC0tYnMtcHVycGxlOiAjNmY0MmMxO1xuICAtLWJzLXBpbms6ICNkNjMzODQ7XG4gIC0tYnMtcmVkOiAjMjA1ODhBO1xuICAtLWJzLW9yYW5nZTogI2ZkN2UxNDtcbiAgLS1icy15ZWxsb3c6ICNmZmMxMDc7XG4gIC0tYnMtZ3JlZW46ICMyOGE3NDU7XG4gIC0tYnMtdGVhbDogIzIwYzk5NztcbiAgLS1icy1jeWFuOiAjMTdhMmI4O1xuICAtLWJzLWJsYWNrOiAjMDAwO1xuICAtLWJzLXdoaXRlOiAjZmZmO1xuICAtLWJzLWdyYXk6ICM2Yzc1N2Q7XG4gIC0tYnMtZ3JheS1kYXJrOiAjMzQzYTQwO1xuICAtLWJzLWdyYXktMTAwOiAjZjhmOWZhO1xuICAtLWJzLWdyYXktMjAwOiAjZTllY2VmO1xuICAtLWJzLWdyYXktMzAwOiAjZGVlMmU2O1xuICAtLWJzLWdyYXktNDAwOiAjY2VkNGRhO1xuICAtLWJzLWdyYXktNTAwOiAjYWRiNWJkO1xuICAtLWJzLWdyYXktNjAwOiAjNmM3NTdkO1xuICAtLWJzLWdyYXktNzAwOiAjNDk1MDU3O1xuICAtLWJzLWdyYXktODAwOiAjMzQzYTQwO1xuICAtLWJzLWdyYXktOTAwOiAjMjEyNTI5O1xuICAtLWJzLXByaW1hcnk6ICMwMDc5QzA7XG4gIC0tYnMtc2Vjb25kYXJ5OiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLXN1Y2Nlc3M6ICMyOGE3NDU7XG4gIC0tYnMtaW5mbzogIzE3YTJiODtcbiAgLS1icy13YXJuaW5nOiAjZmZjMTA3O1xuICAtLWJzLWRhbmdlcjogIzIwNTg4QTtcbiAgLS1icy1saWdodDogI2Y4ZjlmYTtcbiAgLS1icy1kYXJrOiAjMzQzYTQwO1xuICAtLWJzLXByaW1hcnktcmdiOiAwLCAxMjEsIDE5MjtcbiAgLS1icy1zZWNvbmRhcnktcmdiOiAyNTUsIDc4LCA0NjtcbiAgLS1icy1zdWNjZXNzLXJnYjogNDAsIDE2NywgNjk7XG4gIC0tYnMtaW5mby1yZ2I6IDIzLCAxNjIsIDE4NDtcbiAgLS1icy13YXJuaW5nLXJnYjogMjU1LCAxOTMsIDc7XG4gIC0tYnMtZGFuZ2VyLXJnYjogMzIsIDg4LCAxMzg7XG4gIC0tYnMtbGlnaHQtcmdiOiAyNDgsIDI0OSwgMjUwO1xuICAtLWJzLWRhcmstcmdiOiA1MiwgNTgsIDY0O1xuICAtLWJzLXByaW1hcnktdGV4dC1lbXBoYXNpczogIzAwMzA0ZDtcbiAgLS1icy1zZWNvbmRhcnktdGV4dC1lbXBoYXNpczogIzY2MWYxMjtcbiAgLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXM6ICMxMDQzMWM7XG4gIC0tYnMtaW5mby10ZXh0LWVtcGhhc2lzOiAjMDk0MTRhO1xuICAtLWJzLXdhcm5pbmctdGV4dC1lbXBoYXNpczogIzY2NGQwMztcbiAgLS1icy1kYW5nZXItdGV4dC1lbXBoYXNpczogIzBkMjMzNztcbiAgLS1icy1saWdodC10ZXh0LWVtcGhhc2lzOiAjNDk1MDU3O1xuICAtLWJzLWRhcmstdGV4dC1lbXBoYXNpczogIzQ5NTA1NztcbiAgLS1icy1wcmltYXJ5LWJnLXN1YnRsZTogI2NjZTRmMjtcbiAgLS1icy1zZWNvbmRhcnktYmctc3VidGxlOiAjZmZkY2Q1O1xuICAtLWJzLXN1Y2Nlc3MtYmctc3VidGxlOiAjZDRlZGRhO1xuICAtLWJzLWluZm8tYmctc3VidGxlOiAjZDFlY2YxO1xuICAtLWJzLXdhcm5pbmctYmctc3VidGxlOiAjZmZmM2NkO1xuICAtLWJzLWRhbmdlci1iZy1zdWJ0bGU6ICNkMmRlZTg7XG4gIC0tYnMtbGlnaHQtYmctc3VidGxlOiAjZmNmY2ZkO1xuICAtLWJzLWRhcmstYmctc3VidGxlOiAjY2VkNGRhO1xuICAtLWJzLXByaW1hcnktYm9yZGVyLXN1YnRsZTogIzk5YzllNjtcbiAgLS1icy1zZWNvbmRhcnktYm9yZGVyLXN1YnRsZTogI2ZmYjhhYjtcbiAgLS1icy1zdWNjZXNzLWJvcmRlci1zdWJ0bGU6ICNhOWRjYjU7XG4gIC0tYnMtaW5mby1ib3JkZXItc3VidGxlOiAjYTJkYWUzO1xuICAtLWJzLXdhcm5pbmctYm9yZGVyLXN1YnRsZTogI2ZmZTY5YztcbiAgLS1icy1kYW5nZXItYm9yZGVyLXN1YnRsZTogI2E2YmNkMDtcbiAgLS1icy1saWdodC1ib3JkZXItc3VidGxlOiAjZTllY2VmO1xuICAtLWJzLWRhcmstYm9yZGVyLXN1YnRsZTogI2FkYjViZDtcbiAgLS1icy13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG4gIC0tYnMtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLWJzLWZvbnQtc2Fucy1zZXJpZjogc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAtLWJzLWZvbnQtbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAtLWJzLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTtcbiAgLS1icy1ib2R5LWZvbnQtZmFtaWx5OiB2YXIoLS1icy1mb250LXNhbnMtc2VyaWYpO1xuICAtLWJzLWJvZHktZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLWJvZHktZm9udC13ZWlnaHQ6IDQwMDtcbiAgLS1icy1ib2R5LWxpbmUtaGVpZ2h0OiAxLjU7XG4gIC0tYnMtYm9keS1jb2xvcjogIzM0M2E0MDtcbiAgLS1icy1ib2R5LWNvbG9yLXJnYjogNTIsIDU4LCA2NDtcbiAgLS1icy1ib2R5LWJnOiAjZmZmO1xuICAtLWJzLWJvZHktYmctcmdiOiAyNTUsIDI1NSwgMjU1O1xuICAtLWJzLWVtcGhhc2lzLWNvbG9yOiAjMDAwO1xuICAtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYjogMCwgMCwgMDtcbiAgLS1icy1zZWNvbmRhcnktY29sb3I6IHJnYmEoNTIsIDU4LCA2NCwgMC43NSk7XG4gIC0tYnMtc2Vjb25kYXJ5LWNvbG9yLXJnYjogNTIsIDU4LCA2NDtcbiAgLS1icy1zZWNvbmRhcnktYmc6ICNlOWVjZWY7XG4gIC0tYnMtc2Vjb25kYXJ5LWJnLXJnYjogMjMzLCAyMzYsIDIzOTtcbiAgLS1icy10ZXJ0aWFyeS1jb2xvcjogcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xuICAtLWJzLXRlcnRpYXJ5LWNvbG9yLXJnYjogNTIsIDU4LCA2NDtcbiAgLS1icy10ZXJ0aWFyeS1iZzogI2Y4ZjlmYTtcbiAgLS1icy10ZXJ0aWFyeS1iZy1yZ2I6IDI0OCwgMjQ5LCAyNTA7XG4gIC0tYnMtaGVhZGluZy1jb2xvcjogaW5oZXJpdDtcbiAgLS1icy1saW5rLWNvbG9yOiAjMDA3OUMwO1xuICAtLWJzLWxpbmstY29sb3ItcmdiOiAwLCAxMjEsIDE5MjtcbiAgLS1icy1saW5rLWRlY29yYXRpb246IG5vbmU7XG4gIC0tYnMtbGluay1ob3Zlci1jb2xvcjogIzAwNjE5YTtcbiAgLS1icy1saW5rLWhvdmVyLWNvbG9yLXJnYjogMCwgOTcsIDE1NDtcbiAgLS1icy1jb2RlLWNvbG9yOiAjZDYzMzg0O1xuICAtLWJzLWhpZ2hsaWdodC1jb2xvcjogIzM0M2E0MDtcbiAgLS1icy1oaWdobGlnaHQtYmc6ICNmZmYzY2Q7XG4gIC0tYnMtYm9yZGVyLXdpZHRoOiAxcHg7XG4gIC0tYnMtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgLS1icy1ib3JkZXItY29sb3I6ICNkZWUyZTY7XG4gIC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgLS1icy1ib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgLS1icy1ib3JkZXItcmFkaXVzLXNtOiAwLjI1cmVtO1xuICAtLWJzLWJvcmRlci1yYWRpdXMtbGc6IDAuNXJlbTtcbiAgLS1icy1ib3JkZXItcmFkaXVzLXhsOiAxcmVtO1xuICAtLWJzLWJvcmRlci1yYWRpdXMteHhsOiAycmVtO1xuICAtLWJzLWJvcmRlci1yYWRpdXMtMnhsOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCk7XG4gIC0tYnMtYm9yZGVyLXJhZGl1cy1waWxsOiA1MHJlbTtcbiAgLS1icy1ib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIC0tYnMtYm94LXNoYWRvdy1zbTogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAtLWJzLWJveC1zaGFkb3ctbGc6IDAgMXJlbSAzcmVtIHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICAtLWJzLWJveC1zaGFkb3ctaW5zZXQ6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgLS1icy1mb2N1cy1yaW5nLXdpZHRoOiAwLjI1cmVtO1xuICAtLWJzLWZvY3VzLXJpbmctb3BhY2l0eTogMC4yNTtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKDAsIDEyMSwgMTkyLCAwLjI1KTtcbiAgLS1icy1mb3JtLXZhbGlkLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWZvcm0taW52YWxpZC1jb2xvcjogIzIwNTg4QTtcbiAgLS1icy1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSB7XG4gIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgLS1icy1ib2R5LWNvbG9yOiAjZGVlMmU2O1xuICAtLWJzLWJvZHktY29sb3ItcmdiOiAyMjIsIDIyNiwgMjMwO1xuICAtLWJzLWJvZHktYmc6ICMyMTI1Mjk7XG4gIC0tYnMtYm9keS1iZy1yZ2I6IDMzLCAzNywgNDE7XG4gIC0tYnMtZW1waGFzaXMtY29sb3I6ICNmZmY7XG4gIC0tYnMtZW1waGFzaXMtY29sb3ItcmdiOiAyNTUsIDI1NSwgMjU1O1xuICAtLWJzLXNlY29uZGFyeS1jb2xvcjogcmdiYSgyMjIsIDIyNiwgMjMwLCAwLjc1KTtcbiAgLS1icy1zZWNvbmRhcnktY29sb3ItcmdiOiAyMjIsIDIyNiwgMjMwO1xuICAtLWJzLXNlY29uZGFyeS1iZzogIzM0M2E0MDtcbiAgLS1icy1zZWNvbmRhcnktYmctcmdiOiA1MiwgNTgsIDY0O1xuICAtLWJzLXRlcnRpYXJ5LWNvbG9yOiByZ2JhKDIyMiwgMjI2LCAyMzAsIDAuNSk7XG4gIC0tYnMtdGVydGlhcnktY29sb3ItcmdiOiAyMjIsIDIyNiwgMjMwO1xuICAtLWJzLXRlcnRpYXJ5LWJnOiAjMmIzMDM1O1xuICAtLWJzLXRlcnRpYXJ5LWJnLXJnYjogNDMsIDQ4LCA1MztcbiAgLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXM6ICM2NmFmZDk7XG4gIC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6ICNmZjk1ODI7XG4gIC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAjN2VjYThmO1xuICAtLWJzLWluZm8tdGV4dC1lbXBoYXNpczogIzc0YzdkNDtcbiAgLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXM6ICNmZmRhNmE7XG4gIC0tYnMtZGFuZ2VyLXRleHQtZW1waGFzaXM6ICM3OTliYjk7XG4gIC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpczogI2Y4ZjlmYTtcbiAgLS1icy1kYXJrLXRleHQtZW1waGFzaXM6ICNkZWUyZTY7XG4gIC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGU6ICMwMDE4MjY7XG4gIC0tYnMtc2Vjb25kYXJ5LWJnLXN1YnRsZTogIzMzMTAwOTtcbiAgLS1icy1zdWNjZXNzLWJnLXN1YnRsZTogIzA4MjEwZTtcbiAgLS1icy1pbmZvLWJnLXN1YnRsZTogIzA1MjAyNTtcbiAgLS1icy13YXJuaW5nLWJnLXN1YnRsZTogIzMzMjcwMTtcbiAgLS1icy1kYW5nZXItYmctc3VidGxlOiAjMDYxMjFjO1xuICAtLWJzLWxpZ2h0LWJnLXN1YnRsZTogIzM0M2E0MDtcbiAgLS1icy1kYXJrLWJnLXN1YnRsZTogIzFhMWQyMDtcbiAgLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICMwMDQ5NzM7XG4gIC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGU6ICM5OTJmMWM7XG4gIC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAjMTg2NDI5O1xuICAtLWJzLWluZm8tYm9yZGVyLXN1YnRsZTogIzBlNjE2ZTtcbiAgLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGU6ICM5OTc0MDQ7XG4gIC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICMxMzM1NTM7XG4gIC0tYnMtbGlnaHQtYm9yZGVyLXN1YnRsZTogIzQ5NTA1NztcbiAgLS1icy1kYXJrLWJvcmRlci1zdWJ0bGU6ICMzNDNhNDA7XG4gIC0tYnMtaGVhZGluZy1jb2xvcjogaW5oZXJpdDtcbiAgLS1icy1saW5rLWNvbG9yOiAjNjZhZmQ5O1xuICAtLWJzLWxpbmstaG92ZXItY29sb3I6ICM4NWJmZTE7XG4gIC0tYnMtbGluay1jb2xvci1yZ2I6IDEwMiwgMTc1LCAyMTc7XG4gIC0tYnMtbGluay1ob3Zlci1jb2xvci1yZ2I6IDEzMywgMTkxLCAyMjU7XG4gIC0tYnMtY29kZS1jb2xvcjogI2U2ODViNTtcbiAgLS1icy1oaWdobGlnaHQtY29sb3I6ICNkZWUyZTY7XG4gIC0tYnMtaGlnaGxpZ2h0LWJnOiAjNjY0ZDAzO1xuICAtLWJzLWJvcmRlci1jb2xvcjogIzQ5NTA1NztcbiAgLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIC0tYnMtZm9ybS12YWxpZC1jb2xvcjogIzdlY2E4ZjtcbiAgLS1icy1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogIzdlY2E4ZjtcbiAgLS1icy1mb3JtLWludmFsaWQtY29sb3I6ICM3OTliYjk7XG4gIC0tYnMtZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogIzc5OWJiOTtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIDpyb290IHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgfVxufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtYm9keS1mb250LWZhbWlseSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtYm9keS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0tYnMtYm9keS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1icy1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS1icy1ib2R5LXRleHQtYWxpZ24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbmhyIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgc29saWQ7XG4gIG9wYWNpdHk6IDAuMjU7XG59XG5cbmg2LCBoNSwgaDQsIGgzLCBoMiwgaDEge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiB2YXIoLS1icy1oZWFkaW5nLWNvbG9yKTtcbn1cblxuaDEge1xuICBmb250LXNpemU6IGNhbGMoMS4zNzVyZW0gKyAxLjV2dyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjMyNXJlbSArIDAuOXZ3KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjNyZW0gKyAwLjZ2dyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gIH1cbn1cblxuaDQge1xuICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG5tYXJrIHtcbiAgcGFkZGluZzogMC4xODc1ZW07XG4gIGNvbG9yOiB2YXIoLS1icy1oaWdobGlnaHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1oaWdobGlnaHQtYmcpO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5hIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtbGluay1jb2xvci1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlciB7XG4gIC0tYnMtbGluay1jb2xvci1yZ2I6IHZhcigtLWJzLWxpbmstaG92ZXItY29sb3ItcmdiKTtcbn1cblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSksIGE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pOmhvdmVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtZm9udC1tb25vc3BhY2UpO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBmb250LXNpemU6IDAuODc1ZW07XG59XG5wcmUgY29kZSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbn1cblxuY29kZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLWNvZGUtY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5hID4gY29kZSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC4zNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbmtiZCBrYmQge1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuaW1nLFxuc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxudGFibGUge1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIGNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50O1xufVxuXG50aGVhZCxcbnRib2R5LFxudGZvb3QsXG50cixcbnRkLFxudGgge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbltyb2xlPWJ1dHRvbl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuc2VsZWN0OmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuW2xpc3RdOm5vdChbdHlwZT1kYXRlXSk6bm90KFt0eXBlPWRhdGV0aW1lLWxvY2FsXSk6bm90KFt0eXBlPW1vbnRoXSk6bm90KFt0eXBlPXdlZWtdKTpub3QoW3R5cGU9dGltZV0pOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5idXR0b246bm90KDpkaXNhYmxlZCksXG5bdHlwZT1idXR0b25dOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9cmVzZXRdOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9c3VibWl0XTpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cbmxlZ2VuZCArICoge1xuICBjbGVhcjogbGVmdDtcbn1cblxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0LFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBmb250OiBpbmhlcml0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5pZnJhbWUge1xuICBib3JkZXI6IDA7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaW1nLWZsdWlkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7XG4gIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5maWd1cmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbn1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnRleHQtYmctcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtcHJpbWFyeS1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmctc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLWluZm8ge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLWJzLWluZm8tcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLXdhcm5pbmcge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLWJzLXdhcm5pbmctcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1iZy1saWdodCB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLWRhcmsge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLWJzLWRhcmstcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXByaW1hcnkge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1wcmltYXJ5LXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1wcmltYXJ5LXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstcHJpbWFyeTpob3ZlciwgLmxpbmstcHJpbWFyeTpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDAsIDk3LCAxNTQsIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSgwLCA5NywgMTU0LCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstc2Vjb25kYXJ5IHtcbiAgY29sb3I6IFJHQkEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG4ubGluay1zZWNvbmRhcnk6aG92ZXIsIC5saW5rLXNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDI1NSwgMTEzLCA4OCwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDI1NSwgMTEzLCA4OCwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXN1Y2Nlc3Mge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1zdWNjZXNzLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1zdWNjZXNzLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstc3VjY2Vzczpob3ZlciwgLmxpbmstc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDgzLCAxODUsIDEwNiwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDgzLCAxODUsIDEwNiwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWluZm8ge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstaW5mbzpob3ZlciwgLmxpbmstaW5mbzpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDY5LCAxODEsIDE5OCwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDY5LCAxODEsIDE5OCwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXdhcm5pbmcge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstd2FybmluZzpob3ZlciwgLmxpbmstd2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDI1NSwgMjA1LCA1NywgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDI1NSwgMjA1LCA1NywgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWRhbmdlciB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLWJzLWRhbmdlci1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstZGFuZ2VyOmhvdmVyLCAubGluay1kYW5nZXI6Zm9jdXMge1xuICBjb2xvcjogUkdCQSgyNiwgNzAsIDExMCwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDI2LCA3MCwgMTEwLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstbGlnaHQge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1saWdodC1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG4ubGluay1saWdodDpob3ZlciwgLmxpbmstbGlnaHQ6Zm9jdXMge1xuICBjb2xvcjogUkdCQSgyNDksIDI1MCwgMjUxLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEoMjQ5LCAyNTAsIDI1MSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWRhcmsge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstZGFyazpob3ZlciwgLmxpbmstZGFyazpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDQyLCA0NiwgNTEsIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSg0MiwgNDYsIDUxLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cbi5saW5rLWJvZHktZW1waGFzaXM6aG92ZXIsIC5saW5rLWJvZHktZW1waGFzaXM6Zm9jdXMge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDAuNzUpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMC43NSkpICFpbXBvcnRhbnQ7XG59XG5cbi5mb2N1cy1yaW5nOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtZm9jdXMtcmluZy14LCAwKSB2YXIoLS1icy1mb2N1cy1yaW5nLXksIDApIHZhcigtLWJzLWZvY3VzLXJpbmctYmx1ciwgMCkgdmFyKC0tYnMtZm9jdXMtcmluZy13aWR0aCkgdmFyKC0tYnMtZm9jdXMtcmluZy1jb2xvcik7XG59XG5cbi5pY29uLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiAwLjM3NXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpbmstY29sb3ItcmdiKSwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAwLjUpKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjI1ZW07XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5pY29uLWxpbmsgPiAuYmkge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dCB0cmFuc2Zvcm07XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuaWNvbi1saW5rID4gLmJpIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5pY29uLWxpbmstaG92ZXI6aG92ZXIgPiAuYmksIC5pY29uLWxpbmstaG92ZXI6Zm9jdXMtdmlzaWJsZSA+IC5iaSB7XG4gIHRyYW5zZm9ybTogdmFyKC0tYnMtaWNvbi1saW5rLXRyYW5zZm9ybSwgdHJhbnNsYXRlM2QoMC4yNWVtLCAwLCAwKSk7XG59XG5cbi5yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucmF0aW86OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tYnMtYXNwZWN0LXJhdGlvKTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5yYXRpbyA+ICoge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJhdGlvLTF4MSB7XG4gIC0tYnMtYXNwZWN0LXJhdGlvOiAxMDAlO1xufVxuXG4ucmF0aW8tNHgzIHtcbiAgLS1icy1hc3BlY3QtcmF0aW86IDc1JTtcbn1cblxuLnJhdGlvLTE2eDkge1xuICAtLWJzLWFzcGVjdC1yYXRpbzogNTYuMjUlO1xufVxuXG4ucmF0aW8tMjF4OSB7XG4gIC0tYnMtYXNwZWN0LXJhdGlvOiA0Mi44NTcxNDI4NTcxJTtcbn1cblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLnN0aWNreS10b3Age1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMjA7XG59XG5cbi5zdGlja3ktYm90dG9tIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDIwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnN0aWNreS1zbS10b3Age1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbiAgLnN0aWNreS1zbS1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3RpY2t5LW1kLXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxuICAuc3RpY2t5LW1kLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zdGlja3ktbGctdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG4gIC5zdGlja3ktbGctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zdGlja3kteGwtdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG4gIC5zdGlja3kteGwtYm90dG9tIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zdGlja3kteHhsLXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxuICAuc3RpY2t5LXh4bC1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbn1cbi5oc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4udnN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuLnZpc3VhbGx5LWhpZGRlbjpub3QoY2FwdGlvbiksXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbik6bm90KGNhcHRpb24pIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbi5zdHJldGNoZWQtbGluazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnZyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6IDAuMjU7XG59XG5cbi50YWJsZSB7XG4gIC0tYnMtdGFibGUtY29sb3ItdHlwZTogaW5pdGlhbDtcbiAgLS1icy10YWJsZS1iZy10eXBlOiBpbml0aWFsO1xuICAtLWJzLXRhYmxlLWNvbG9yLXN0YXRlOiBpbml0aWFsO1xuICAtLWJzLXRhYmxlLWJnLXN0YXRlOiBpbml0aWFsO1xuICAtLWJzLXRhYmxlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtdGFibGUtYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgLS1icy10YWJsZS1hY2NlbnQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiByZ2JhKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIDAuMDUpO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjEpO1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6IHJnYmEodmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiKSwgMC4wNzUpO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy10YWJsZS1ib3JkZXItY29sb3IpO1xufVxuLnRhYmxlID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgcGFkZGluZzogMC41cmVtIDAuNXJlbTtcbiAgY29sb3I6IHZhcigtLWJzLXRhYmxlLWNvbG9yLXN0YXRlLCB2YXIoLS1icy10YWJsZS1jb2xvci10eXBlLCB2YXIoLS1icy10YWJsZS1jb2xvcikpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdGFibGUtYmcpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTk5cHggdmFyKC0tYnMtdGFibGUtYmctc3RhdGUsIHZhcigtLWJzLXRhYmxlLWJnLXR5cGUsIHZhcigtLWJzLXRhYmxlLWFjY2VudC1iZykpKTtcbn1cbi50YWJsZSA+IHRib2R5IHtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG4udGFibGUgPiB0aGVhZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi50YWJsZS1ncm91cC1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikgc29saWQgY3VycmVudGNvbG9yO1xufVxuXG4uY2FwdGlvbi10b3Age1xuICBjYXB0aW9uLXNpZGU6IHRvcDtcbn1cblxuLnRhYmxlLXNtID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjI1cmVtO1xufVxuXG4udGFibGUtYm9yZGVyZWQgPiA6bm90KGNhcHRpb24pID4gKiB7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAwO1xufVxuLnRhYmxlLWJvcmRlcmVkID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgYm9yZGVyLXdpZHRoOiAwIHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi50YWJsZS1ib3JkZXJsZXNzID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cblxuLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkgPiAqIHtcbiAgLS1icy10YWJsZS1jb2xvci10eXBlOiB2YXIoLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yKTtcbiAgLS1icy10YWJsZS1iZy10eXBlOiB2YXIoLS1icy10YWJsZS1zdHJpcGVkLWJnKTtcbn1cblxuLnRhYmxlLXN0cmlwZWQtY29sdW1ucyA+IDpub3QoY2FwdGlvbikgPiB0ciA+IDpudGgtY2hpbGQoZXZlbikge1xuICAtLWJzLXRhYmxlLWNvbG9yLXR5cGU6IHZhcigtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAtLWJzLXRhYmxlLWJnLXR5cGU6IHZhcigtLWJzLXRhYmxlLXN0cmlwZWQtYmcpO1xufVxuXG4udGFibGUtYWN0aXZlIHtcbiAgLS1icy10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yKTtcbiAgLS1icy10YWJsZS1iZy1zdGF0ZTogdmFyKC0tYnMtdGFibGUtYWN0aXZlLWJnKTtcbn1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+ICoge1xuICAtLWJzLXRhYmxlLWNvbG9yLXN0YXRlOiB2YXIoLS1icy10YWJsZS1ob3Zlci1jb2xvcik7XG4gIC0tYnMtdGFibGUtYmctc3RhdGU6IHZhcigtLWJzLXRhYmxlLWhvdmVyLWJnKTtcbn1cblxuLnRhYmxlLXByaW1hcnkge1xuICAtLWJzLXRhYmxlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWJnOiAjY2NlNGYyO1xuICAtLWJzLXRhYmxlLWJvcmRlci1jb2xvcjogI2EzYjZjMjtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjYzJkOWU2O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjYjhjZGRhO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2JkZDNlMDtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzAwMDtcbiAgY29sb3I6IHZhcigtLWJzLXRhYmxlLWNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy10YWJsZS1ib3JkZXItY29sb3IpO1xufVxuXG4udGFibGUtc2Vjb25kYXJ5IHtcbiAgLS1icy10YWJsZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1iZzogI2ZmZGNkNTtcbiAgLS1icy10YWJsZS1ib3JkZXItY29sb3I6ICNjY2IwYWE7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2YyZDFjYTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2U2YzZjMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNlY2NjYzU7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICMwMDA7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnRhYmxlLXN1Y2Nlc3Mge1xuICAtLWJzLXRhYmxlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWJnOiAjZDRlZGRhO1xuICAtLWJzLXRhYmxlLWJvcmRlci1jb2xvcjogI2FhYmVhZTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjYzllMWNmO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjYmZkNWM0O1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2M0ZGJjYTtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzAwMDtcbiAgY29sb3I6IHZhcigtLWJzLXRhYmxlLWNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy10YWJsZS1ib3JkZXItY29sb3IpO1xufVxuXG4udGFibGUtaW5mbyB7XG4gIC0tYnMtdGFibGUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYmc6ICNkMWVjZjE7XG4gIC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yOiAjYTdiZGMxO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNjN2UwZTU7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNiY2Q0ZDk7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjYzFkYWRmO1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXRhYmxlLWJvcmRlci1jb2xvcik7XG59XG5cbi50YWJsZS13YXJuaW5nIHtcbiAgLS1icy10YWJsZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1iZzogI2ZmZjNjZDtcbiAgLS1icy10YWJsZS1ib3JkZXItY29sb3I6ICNjY2MyYTQ7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2YyZTdjMztcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2U2ZGJiOTtcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNlY2UxYmU7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICMwMDA7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnRhYmxlLWRhbmdlciB7XG4gIC0tYnMtdGFibGUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYmc6ICNkMmRlZTg7XG4gIC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yOiAjYThiMmJhO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNjOGQzZGM7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNiZGM4ZDE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjYzJjZGQ3O1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXRhYmxlLWJvcmRlci1jb2xvcik7XG59XG5cbi50YWJsZS1saWdodCB7XG4gIC0tYnMtdGFibGUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYmc6ICNmOGY5ZmE7XG4gIC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yOiAjYzZjN2M4O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNlY2VkZWU7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNkZmUwZTE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjZTVlNmU3O1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXRhYmxlLWJvcmRlci1jb2xvcik7XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgLS1icy10YWJsZS1jb2xvcjogI2ZmZjtcbiAgLS1icy10YWJsZS1iZzogIzM0M2E0MDtcbiAgLS1icy10YWJsZS1ib3JkZXItY29sb3I6ICM1ZDYxNjY7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogIzNlNDQ0YTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjZmZmO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogIzQ4NGU1MztcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICM0MzQ5NGU7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICNmZmY7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1zbSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1tZCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1sZyB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUteGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXh4bCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbi5mb3JtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjM3NXJlbSArIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjM3NXJlbSArIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNXJlbSArIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjVyZW0gKyB2YXIoLS1icy1ib3JkZXItd2lkdGgpKTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjI1cmVtICsgdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjVyZW0gKyB2YXIoLS1icy1ib3JkZXItd2lkdGgpKTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1jb250cm9sW3R5cGU9ZmlsZV0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZvcm0tY29udHJvbFt0eXBlPWZpbGVdOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICBib3JkZXItY29sb3I6ICM4MGJjZTA7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgwLCAxMjEsIDE5MiwgMC4yNSk7XG59XG4uZm9ybS1jb250cm9sOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICBtaW4td2lkdGg6IDg1cHg7XG4gIGhlaWdodDogMS41ZW07XG4gIG1hcmdpbjogMDtcbn1cbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgb3BhY2l0eTogMTtcbn1cbi5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICBvcGFjaXR5OiAxO1xufVxuLmZvcm0tY29udHJvbDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBtYXJnaW46IC0wLjM3NXJlbSAtMC43NXJlbTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZvcm0tY29udHJvbDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLWNvbnRyb2w6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG59XG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgMDtcbn1cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0OmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1zbSwgLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLWxnIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pO1xufVxuLmZvcm0tY29udHJvbC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgbWFyZ2luOiAtMC4yNXJlbSAtMC41cmVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMC41cmVtO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuLmZvcm0tY29udHJvbC1sZzo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgbWFyZ2luOiAtMC41cmVtIC0xcmVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMXJlbTtcbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG59XG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEuNWVtICsgMC41cmVtICsgY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikpO1xufVxudGV4dGFyZWEuZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgcGFkZGluZzogMC4zNzVyZW07XG59XG4uZm9ybS1jb250cm9sLWNvbG9yOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mb3JtLWNvbnRyb2wtY29sb3I6Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xufVxuLmZvcm0tY29udHJvbC1jb2xvcjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG4uZm9ybS1jb250cm9sLWNvbG9yLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbn1cbi5mb3JtLWNvbnRyb2wtY29sb3IuZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbn1cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS1icy1mb3JtLXNlbGVjdC1iZy1pbWc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAyLjI1cmVtIDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnMtZm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tYnMtZm9ybS1zZWxlY3QtYmctaWNvbiwgbm9uZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweDtcbiAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1zZWxlY3Qge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzgwYmNlMDtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDAsIDEyMSwgMTkyLCAwLjI1KTtcbn1cbi5mb3JtLXNlbGVjdFttdWx0aXBsZV0sIC5mb3JtLXNlbGVjdFtzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4uZm9ybS1zZWxlY3Q6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xufVxuLmZvcm0tc2VsZWN0Oi1tb3otZm9jdXNyaW5nIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDAgdmFyKC0tYnMtYm9keS1jb2xvcik7XG59XG5cbi5mb3JtLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1zZWxlY3QtbGcge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5mb3JtLXNlbGVjdCB7XG4gIC0tYnMtZm9ybS1zZWxlY3QtYmctaW1nOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNkZWUyZTYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5mb3JtLWNoZWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07XG59XG4uZm9ybS1jaGVjayAuZm9ybS1jaGVjay1pbnB1dCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogLTEuNWVtO1xufVxuXG4uZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uZm9ybS1jaGVjay1yZXZlcnNlIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgLS1icy1mb3JtLWNoZWNrLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBtYXJnaW4tdG9wOiAwLjI1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWZvcm0tY2hlY2stYmcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1mb3JtLWNoZWNrLWJnLWltYWdlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xufVxuLmZvcm0tY2hlY2staW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG59XG4uZm9ybS1jaGVjay1pbnB1dFt0eXBlPXJhZGlvXSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmFjdGl2ZSB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcyg5MCUpO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM4MGJjZTA7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgwLCAxMjEsIDE5MiwgMC4yNSk7XG59XG4uZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzlDMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3OUMwO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZFt0eXBlPWNoZWNrYm94XSB7XG4gIC0tYnMtZm9ybS1jaGVjay1iZy1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nbTYgMTAgMyAzIDYtNicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWRbdHlwZT1yYWRpb10ge1xuICAtLWJzLWZvcm0tY2hlY2stYmctaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzInIGZpbGw9JyUyM2ZmZicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0W3R5cGU9Y2hlY2tib3hdOmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OUMwO1xuICBib3JkZXItY29sb3I6ICMwMDc5QzA7XG4gIC0tYnMtZm9ybS1jaGVjay1iZy1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGZpbHRlcjogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuLmZvcm0tY2hlY2staW5wdXRbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjVlbTtcbn1cbi5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dCB7XG4gIC0tYnMtZm9ybS1zd2l0Y2gtYmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9J3JnYmElMjgwLCAwLCAwLCAwLjI1JTI5Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICB3aWR0aDogMmVtO1xuICBtYXJnaW4tbGVmdDogLTIuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1mb3JtLXN3aXRjaC1iZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpmb2N1cyB7XG4gIC0tYnMtZm9ybS1zd2l0Y2gtYmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyUyMzgwYmNlMCcvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAtLWJzLWZvcm0tc3dpdGNoLWJnOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzZSUzYy9zdmclM2VcIik7XG59XG4uZm9ybS1zd2l0Y2guZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogMi41ZW07XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5mb3JtLXN3aXRjaC5mb3JtLWNoZWNrLXJldmVyc2UgLmZvcm0tY2hlY2staW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IC0yLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uYnRuLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idG4tY2hlY2tbZGlzYWJsZWRdICsgLmJ0biwgLmJ0bi1jaGVjazpkaXNhYmxlZCArIC5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgZmlsdGVyOiBub25lO1xuICBvcGFjaXR5OiAwLjY1O1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQ6bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSB7XG4gIC0tYnMtZm9ybS1zd2l0Y2gtYmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9J3JnYmElMjgyNTUsIDI1NSwgMjU1LCAwLjI1JTI5Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uZm9ybS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZm9ybS1yYW5nZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uZm9ybS1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4yNXJlbSByZ2JhKDAsIDEyMSwgMTkyLCAwLjI1KTtcbn1cbi5mb3JtLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMjVyZW0gcmdiYSgwLCAxMjEsIDE5MiwgMC4yNSk7XG59XG4uZm9ybS1yYW5nZTo6LW1vei1mb2N1cy1vdXRlciB7XG4gIGJvcmRlcjogMDtcbn1cbi5mb3JtLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OUMwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mb3JtLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZWM7XG59XG4uZm9ybS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmZvcm0tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OUMwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mb3JtLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2VjO1xufVxuLmZvcm0tcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmZvcm0tcmFuZ2U6ZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5mb3JtLXJhbmdlOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG59XG4uZm9ybS1yYW5nZTpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG59XG5cbi5mb3JtLWZsb2F0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tc2VsZWN0IHtcbiAgaGVpZ2h0OiBjYWxjKDMuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgbWluLWhlaWdodDogY2FsYygzLjVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuLmZvcm0tZmxvYXRpbmcgPiBsYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW0gMC43NXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1mbG9hdGluZyA+IGxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgcGFkZGluZzogMXJlbSAwLjc1cmVtO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlcixcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOmZvY3VzLCAuZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0OmZvY3VzLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gIHBhZGRpbmctdG9wOiAxLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBwYWRkaW5nLXRvcDogMS42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy10b3A6IDEuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMgfiBsYWJlbCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB+IGxhYmVsLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB+IGxhYmVsLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1zZWxlY3QgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLWJvZHktY29sb3ItcmdiKSwgMC42NSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44NSkgdHJhbnNsYXRlWSgtMC41cmVtKSB0cmFuc2xhdGVYKDAuMTVyZW0pO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOmZvY3VzIH4gbGFiZWw6OmFmdGVyLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIH4gbGFiZWw6OmFmdGVyLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB+IGxhYmVsOjphZnRlcixcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tc2VsZWN0IH4gbGFiZWw6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMXJlbSAwLjM3NXJlbTtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogMS41ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1ib2R5LWNvbG9yLXJnYiksIDAuNjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpIHRyYW5zbGF0ZVkoLTAuNXJlbSkgdHJhbnNsYXRlWCgwLjE1cmVtKTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgfiBsYWJlbCB7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAwO1xufVxuLmZvcm0tZmxvYXRpbmcgPiA6ZGlzYWJsZWQgfiBsYWJlbCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpkaXNhYmxlZCB+IGxhYmVsIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG59XG4uZm9ybS1mbG9hdGluZyA+IDpkaXNhYmxlZCB+IGxhYmVsOjphZnRlcixcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpkaXNhYmxlZCB+IGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB3aWR0aDogMSU7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICB6LWluZGV4OiA1O1xufVxuLmlucHV0LWdyb3VwIC5idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG4uaW5wdXQtZ3JvdXAgLmJ0bjpmb2N1cyB7XG4gIHotaW5kZXg6IDU7XG59XG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cblxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiszKSxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IDpudGgtbGFzdC1jaGlsZChuKzMpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4rNCksXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuKzMpID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4rMykgPiAuZm9ybS1zZWxlY3Qge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiA6bm90KDpmaXJzdC1jaGlsZCk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLnZhbGlkLXRvb2x0aXApOm5vdCgudmFsaWQtZmVlZGJhY2spOm5vdCguaW52YWxpZC10b29sdGlwKTpub3QoLmludmFsaWQtZmVlZGJhY2spIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cCA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtY29sb3IpO1xufVxuXG4udmFsaWQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53YXMtdmFsaWRhdGVkIDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIDp2YWxpZCB+IC52YWxpZC10b29sdGlwLFxuLmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCwgLmZvcm0tY29udHJvbC5pcy12YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS12YWxpZC1ib3JkZXItY29sb3IpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMjhhNzQ1JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1cywgLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS12YWxpZC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgdGV4dGFyZWEuZm9ybS1jb250cm9sOnZhbGlkLCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLXNlbGVjdDp2YWxpZCwgLmZvcm0tc2VsZWN0LmlzLXZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcik7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6dmFsaWQ6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6dmFsaWQ6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdLCAuZm9ybS1zZWxlY3QuaXMtdmFsaWQ6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAuZm9ybS1zZWxlY3QuaXMtdmFsaWQ6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgLS1icy1mb3JtLXNlbGVjdC1iZy1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyMzI4YTc0NScgZD0nTTIuMyA2LjczLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICBwYWRkaW5nLXJpZ2h0OiA0LjEyNXJlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbSBjZW50ZXIsIGNlbnRlciByaWdodCAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweCwgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6dmFsaWQ6Zm9jdXMsIC5mb3JtLXNlbGVjdC5pcy12YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS12YWxpZC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1jb2xvcjp2YWxpZCwgLmZvcm0tY29udHJvbC1jb2xvci5pcy12YWxpZCB7XG4gIHdpZHRoOiBjYWxjKDNyZW0gKyBjYWxjKDEuNWVtICsgMC43NXJlbSkpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkOmNoZWNrZWQsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWNvbG9yKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkOmZvY3VzLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSh2YXIoLS1icy1zdWNjZXNzLXJnYiksIDAuMjUpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWNvbG9yKTtcbn1cblxuLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IH4gLnZhbGlkLWZlZWRiYWNrIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpOnZhbGlkLCAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpLmlzLXZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpOnZhbGlkLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpLmlzLXZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pOnZhbGlkLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pLmlzLXZhbGlkIHtcbiAgei1pbmRleDogMztcbn1cblxuLmludmFsaWQtZmVlZGJhY2sge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTtcbn1cblxuLmludmFsaWQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1kYW5nZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndhcy12YWxpZGF0ZWQgOmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCxcbi5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4uaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyMDU4OEEnJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzMjA1ODhBJyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIDAuMjUpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6aW52YWxpZCwgdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLXNlbGVjdDppbnZhbGlkLCAuZm9ybS1zZWxlY3QuaXMtaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6aW52YWxpZDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC53YXMtdmFsaWRhdGVkIC5mb3JtLXNlbGVjdDppbnZhbGlkOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSwgLmZvcm0tc2VsZWN0LmlzLWludmFsaWQ6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAuZm9ybS1zZWxlY3QuaXMtaW52YWxpZDpub3QoW211bHRpcGxlXSlbc2l6ZT1cIjFcIl0ge1xuICAtLWJzLWZvcm0tc2VsZWN0LWJnLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyMDU4OEEnJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzMjA1ODhBJyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2VcIik7XG4gIHBhZGRpbmctcmlnaHQ6IDQuMTI1cmVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlciwgY2VudGVyIHJpZ2h0IDIuMjVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4LCBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLXNlbGVjdDppbnZhbGlkOmZvY3VzLCAuZm9ybS1zZWxlY3QuaXMtaW52YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgMC4yNSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtY29sb3I6aW52YWxpZCwgLmZvcm0tY29udHJvbC1jb2xvci5pcy1pbnZhbGlkIHtcbiAgd2lkdGg6IGNhbGMoM3JlbSArIGNhbGMoMS41ZW0gKyAwLjc1cmVtKSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZDpjaGVja2VkLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1mb3JtLWludmFsaWQtY29sb3IpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZDpmb2N1cywgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgMC4yNSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1icy1mb3JtLWludmFsaWQtY29sb3IpO1xufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQgfiAuaW52YWxpZC1mZWVkYmFjayB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKTppbnZhbGlkLCAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpLmlzLWludmFsaWQsXG4ud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyk6aW52YWxpZCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLXNlbGVjdDpub3QoOmZvY3VzKS5pcy1pbnZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pOmludmFsaWQsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikuaXMtaW52YWxpZCB7XG4gIHotaW5kZXg6IDQ7XG59XG5cbi5idG4ge1xuICAtLWJzLWJ0bi1wYWRkaW5nLXg6IDAuNzVyZW07XG4gIC0tYnMtYnRuLXBhZGRpbmcteTogMC4zNzVyZW07XG4gIC0tYnMtYnRuLWZvbnQtZmFtaWx5OiA7XG4gIC0tYnMtYnRuLWZvbnQtc2l6ZTogMXJlbTtcbiAgLS1icy1idG4tZm9udC13ZWlnaHQ6IDQwMDtcbiAgLS1icy1idG4tbGluZS1oZWlnaHQ6IDEuNTtcbiAgLS1icy1idG4tY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAwLjY1O1xuICAtLWJzLWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tYnMtYnRuLXBhZGRpbmcteSkgdmFyKC0tYnMtYnRuLXBhZGRpbmcteCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1idG4tZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IHZhcigtLWJzLWJ0bi1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0tYnMtYnRuLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWJzLWJ0bi1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icy1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tYnMtYnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYnRuLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWJnKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5idG4ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbn1cbi5idG4tY2hlY2sgKyAuYnRuOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJzLWJ0bi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJ0bi1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtYnRuLWJvcmRlci1jb2xvcik7XG59XG4uYnRuOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xufVxuLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgLmJ0biB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4sIDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuOmFjdGl2ZSwgLmJ0bjpmaXJzdC1jaGlsZDphY3RpdmUsIC5idG4uYWN0aXZlLCAuYnRuLnNob3cge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWFjdGl2ZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJ0bi1hY3RpdmUtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG46Zm9jdXMtdmlzaWJsZSwgOm5vdCguYnRuLWNoZWNrKSArIC5idG46YWN0aXZlOmZvY3VzLXZpc2libGUsIC5idG46Zmlyc3QtY2hpbGQ6YWN0aXZlOmZvY3VzLXZpc2libGUsIC5idG4uYWN0aXZlOmZvY3VzLXZpc2libGUsIC5idG4uc2hvdzpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xufVxuLmJ0bjpkaXNhYmxlZCwgLmJ0bi5kaXNhYmxlZCwgZmllbGRzZXQ6ZGlzYWJsZWQgLmJ0biB7XG4gIGNvbG9yOiB2YXIoLS1icy1idG4tZGlzYWJsZWQtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWRpc2FibGVkLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgb3BhY2l0eTogdmFyKC0tYnMtYnRuLWRpc2FibGVkLW9wYWNpdHkpO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICAtLWJzLWJ0bi1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tYmc6ICMwMDc5QzA7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjMDA2N2EzO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICMwMDYxOWE7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDM4LCAxNDEsIDIwMTtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICMwMDYxOWE7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMwMDViOTA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjMDA3OUMwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMwMDc5QzA7XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgLS1icy1idG4tY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWJnOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6IHJnYigyNTUsIDc4LCA0Nik7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogI2ZmNjk0ZDtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjZmY2MDQzO1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAyMTcsIDY2LCAzOTtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICNmZjcxNTg7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICNmZjYwNDM7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHJnYigyNTUsIDc4LCA0Nik7XG59XG5cbi5idG4tc3VjY2VzcyB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1iZzogIzI4YTc0NTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICM0OGI0NjE7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzNlYjA1ODtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMzQsIDE0MiwgNTk7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjNTNiOTZhO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjM2ViMDU4O1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogIzI4YTc0NTtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xufVxuXG4uYnRuLWluZm8ge1xuICAtLWJzLWJ0bi1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYmc6ICMxN2EyYjg7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjM2FiMGMzO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICMyZWFiYmY7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDIwLCAxMzgsIDE1NjtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICM0NWI1YzY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMyZWFiYmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjMTdhMmI4O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMxN2EyYjg7XG59XG5cbi5idG4td2FybmluZyB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1iZzogI2ZmYzEwNztcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICNmZmNhMmM7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI2ZmYzcyMDtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjE3LCAxNjQsIDY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjZmZjZDM5O1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjZmZjNzIwO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogI2ZmYzEwNztcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xufVxuXG4uYnRuLWRhbmdlciB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1iZzogIzIwNTg4QTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICMxYjRiNzU7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzFhNDY2ZTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogNjUsIDExMywgMTU2O1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzFhNDY2ZTtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzE4NDI2ODtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6ICMyMDU4OEE7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIzIwNTg4QTtcbn1cblxuLmJ0bi1saWdodCB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1iZzogI2Y4ZjlmYTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICNkM2Q0ZDU7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI2M2YzdjODtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjExLCAyMTIsIDIxMztcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICNjNmM3Yzg7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICNiYWJiYmM7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICNmOGY5ZmE7XG59XG5cbi5idG4tZGFyayB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1iZzogIzM0M2E0MDtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICM1MjU4NWQ7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzQ4NGU1MztcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogODIsIDg4LCA5MztcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICM1ZDYxNjY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICM0ODRlNTM7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjMzQzYTQwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMzNDNhNDA7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgLS1icy1idG4tY29sb3I6ICMwMDc5QzA7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjMDA3OUMwO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICMwMDc5QzA7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDAsIDEyMSwgMTkyO1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzAwNzlDMDtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMwMDc5QzA7XG4gIC0tYnMtZ3JhZGllbnQ6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICAtLWJzLWJ0bi1jb2xvcjogcmdiKDI1NSwgNzgsIDQ2KTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6IHJnYigyNTUsIDc4LCA0Nik7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiKDI1NSwgNzgsIDQ2KTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjU1LCA3OCwgNDY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogcmdiKDI1NSwgNzgsIDQ2KTtcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mge1xuICAtLWJzLWJ0bi1jb2xvcjogIzI4YTc0NTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICMyOGE3NDU7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzI4YTc0NTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogNDAsIDE2NywgNjk7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIzI4YTc0NTtcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICAtLWJzLWJ0bi1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMTdhMmI4O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICMxN2EyYjg7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjMsIDE2MiwgMTg0O1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzE3YTJiODtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMxN2EyYjg7XG4gIC0tYnMtZ3JhZGllbnQ6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS13YXJuaW5nIHtcbiAgLS1icy1idG4tY29sb3I6ICNmZmMxMDc7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogI2ZmYzEwNztcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjZmZjMTA3O1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICNmZmMxMDc7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDI1NSwgMTkzLCA3O1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogI2ZmYzEwNztcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI2ZmYzEwNztcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogI2ZmYzEwNztcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICNmZmMxMDc7XG4gIC0tYnMtZ3JhZGllbnQ6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICAtLWJzLWJ0bi1jb2xvcjogIzIwNTg4QTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICMyMDU4OEE7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMzIsIDg4LCAxMzg7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgLS1icy1idG4tY29sb3I6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDI0OCwgMjQ5LCAyNTA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhcmsge1xuICAtLWJzLWJ0bi1jb2xvcjogIzM0M2E0MDtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICMzNDNhNDA7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzM0M2E0MDtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogNTIsIDU4LCA2NDtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICMzNDNhNDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMzNDNhNDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMzNDNhNDA7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xuICAtLWJzLWdyYWRpZW50OiBub25lO1xufVxuXG4uYnRuLWxpbmsge1xuICAtLWJzLWJ0bi1mb250LXdlaWdodDogNDAwO1xuICAtLWJzLWJ0bi1jb2xvcjogdmFyKC0tYnMtbGluay1jb2xvcik7XG4gIC0tYnMtYnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4taG92ZXItY29sb3I6IHZhcigtLWJzLWxpbmstaG92ZXItY29sb3IpO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWxpbmstaG92ZXItY29sb3IpO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICM2Yzc1N2Q7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWJveC1zaGFkb3c6IDAgMCAwICMwMDA7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDM4LCAxNDEsIDIwMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bi1saW5rOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWNvbG9yKTtcbn1cbi5idG4tbGluazpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItY29sb3IpO1xufVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XG4gIC0tYnMtYnRuLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLWJ0bi1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtYnRuLWZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgLS1icy1idG4tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20sIC5idG4tZ3JvdXAtc20gPiAuYnRuIHtcbiAgLS1icy1idG4tcGFkZGluZy15OiAwLjI1cmVtO1xuICAtLWJzLWJ0bi1wYWRkaW5nLXg6IDAuNXJlbTtcbiAgLS1icy1idG4tZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLS1icy1idG4tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mYWRlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZmFkZSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZhZGU6bm90KC5zaG93KSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jb2xsYXBzZTpub3QoLnNob3cpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjM1cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNvbGxhcHNpbmcge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jb2xsYXBzaW5nLmNvbGxhcHNlLWhvcml6b250YWwge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjM1cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNvbGxhcHNpbmcuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uZHJvcHVwLFxuLmRyb3BlbmQsXG4uZHJvcGRvd24sXG4uZHJvcHN0YXJ0LFxuLmRyb3B1cC1jZW50ZXIsXG4uZHJvcGRvd24tY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIC0tYnMtZHJvcGRvd24temluZGV4OiAxMDAwO1xuICAtLWJzLWRyb3Bkb3duLW1pbi13aWR0aDogMTByZW07XG4gIC0tYnMtZHJvcGRvd24tcGFkZGluZy14OiAwO1xuICAtLWJzLWRyb3Bkb3duLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLWRyb3Bkb3duLXNwYWNlcjogMC4xMjVyZW07XG4gIC0tYnMtZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLWRyb3Bkb3duLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgLS1icy1kcm9wZG93bi1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWRyb3Bkb3duLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJzLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSk7XG4gIC0tYnMtZHJvcGRvd24tZGl2aWRlci1iZzogdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTtcbiAgLS1icy1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAwLjVyZW07XG4gIC0tYnMtZHJvcGRvd24tYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdyk7XG4gIC0tYnMtZHJvcGRvd24tbGluay1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIC0tYnMtZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIC0tYnMtZHJvcGRvd24tbGluay1ob3Zlci1iZzogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjMDA3OUMwO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLWJzLXRlcnRpYXJ5LWNvbG9yKTtcbiAgLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteDogMXJlbTtcbiAgLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteTogMC4yNXJlbTtcbiAgLS1icy1kcm9wZG93bi1oZWFkZXItY29sb3I6ICM2Yzc1N2Q7XG4gIC0tYnMtZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogMXJlbTtcbiAgLS1icy1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAwLjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tYnMtZHJvcGRvd24temluZGV4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiB2YXIoLS1icy1kcm9wZG93bi1taW4td2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS1icy1kcm9wZG93bi1wYWRkaW5nLXkpIHZhcigtLWJzLWRyb3Bkb3duLXBhZGRpbmcteCk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1kcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tYnMtZHJvcGRvd24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1kcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbn1cbi5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tYnMtZHJvcGRvd24tc3BhY2VyKTtcbn1cblxuLmRyb3Bkb3duLW1lbnUtc3RhcnQge1xuICAtLWJzLXBvc2l0aW9uOiBzdGFydDtcbn1cbi5kcm9wZG93bi1tZW51LXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuXG4uZHJvcGRvd24tbWVudS1lbmQge1xuICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG59XG4uZHJvcGRvd24tbWVudS1lbmRbZGF0YS1icy1wb3BwZXJdIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZHJvcGRvd24tbWVudS1zbS1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUtc20tc3RhcnRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXNtLWVuZCB7XG4gICAgLS1icy1wb3NpdGlvbjogZW5kO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXNtLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZHJvcGRvd24tbWVudS1tZC1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUtbWQtc3RhcnRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LW1kLWVuZCB7XG4gICAgLS1icy1wb3NpdGlvbjogZW5kO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LW1kLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZHJvcGRvd24tbWVudS1sZy1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUtbGctc3RhcnRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LWxnLWVuZCB7XG4gICAgLS1icy1wb3NpdGlvbjogZW5kO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LWxnLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUteGwtc3RhcnQge1xuICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXhsLXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS14bC1lbmQge1xuICAgIC0tYnMtcG9zaXRpb246IGVuZDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS14bC1lbmRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5kcm9wZG93bi1tZW51LXh4bC1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteHhsLXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS14eGwtZW5kIHtcbiAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteHhsLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbi5kcm9wdXAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWJzLWRyb3Bkb3duLXNwYWNlcik7XG59XG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkO1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5kcm9wZW5kIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1icy1kcm9wZG93bi1zcGFjZXIpO1xufVxuLmRyb3BlbmQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZDtcbn1cbi5kcm9wZW5kIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4uZHJvcHN0YXJ0IC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tYnMtZHJvcGRvd24tc3BhY2VyKTtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmRyb3BzdGFydCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IHZhcigtLWJzLWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1icy1kcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tbGluay1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWRyb3Bkb3duLWl0ZW0tYm9yZGVyLXJhZGl1cywgMCk7XG59XG4uZHJvcGRvd24taXRlbTpob3ZlciwgLmRyb3Bkb3duLWl0ZW06Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xufVxuLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUge1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbn1cbi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCAuZHJvcGRvd24taXRlbTpkaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tYnMtZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tYnMtZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1saW5rLWNvbG9yKTtcbn1cblxuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC0tYnMtZHJvcGRvd24tY29sb3I6ICNkZWUyZTY7XG4gIC0tYnMtZHJvcGRvd24tYmc6ICMzNDNhNDA7XG4gIC0tYnMtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLWRyb3Bkb3duLWJveC1zaGFkb3c6IDtcbiAgLS1icy1kcm9wZG93bi1saW5rLWNvbG9yOiAjZGVlMmU2O1xuICAtLWJzLWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICNmZmY7XG4gIC0tYnMtZHJvcGRvd24tZGl2aWRlci1iZzogdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTtcbiAgLS1icy1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjMDA3OUMwO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICNhZGI1YmQ7XG4gIC0tYnMtZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjYWRiNWJkO1xufVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuLmJ0bi1ncm91cCA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsXG4uYnRuLWdyb3VwID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uYnRuLWdyb3VwIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG4uYnRuLWdyb3VwID4gOm5vdCguYnRuLWNoZWNrOmZpcnN0LWNoaWxkKSArIC5idG4sXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAtMSk7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG46bnRoLWNoaWxkKG4rMyksXG4uYnRuLWdyb3VwID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogMC41NjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNTYyNXJlbTtcbn1cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLCAuZHJvcHVwIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLCAuZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyb3BzdGFydCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAtMSk7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLm5hdiB7XG4gIC0tYnMtbmF2LWxpbmstcGFkZGluZy14OiAxcmVtO1xuICAtLWJzLW5hdi1saW5rLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLW5hdi1saW5rLWZvbnQtd2VpZ2h0OiA7XG4gIC0tYnMtbmF2LWxpbmstY29sb3I6IHZhcigtLWJzLWxpbmstY29sb3IpO1xuICAtLWJzLW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1saW5rLWhvdmVyLWNvbG9yKTtcbiAgLS1icy1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS1icy1uYXYtbGluay1wYWRkaW5nLXkpIHZhcigtLWJzLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtbmF2LWxpbmstZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWJzLW5hdi1saW5rLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi1saW5rLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm5hdi1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ubmF2LWxpbms6aG92ZXIsIC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXYtbGluay1ob3Zlci1jb2xvcik7XG59XG4ubmF2LWxpbms6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgwLCAxMjEsIDE5MiwgMC4yNSk7XG59XG4ubmF2LWxpbmsuZGlzYWJsZWQsIC5uYXYtbGluazpkaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5uYXYtdGFicyB7XG4gIC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLW5hdi10YWJzLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgLS1icy1uYXYtdGFicy1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKSB2YXIoLS1icy1zZWNvbmRhcnktYmcpIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIC0tYnMtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgdmFyKC0tYnMtYm9keS1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcbn1cbi5uYXYtdGFicyAubmF2LWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7XG4gIGJvcmRlcjogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1uYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcbn1cbi5uYXYtdGFicyAubmF2LWxpbms6aG92ZXIsIC5uYXYtdGFicyAubmF2LWxpbms6Zm9jdXMge1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IpO1xufVxuLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXG4ubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbmF2LXRhYnMtbGluay1hY3RpdmUtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcik7XG59XG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4ubmF2LXBpbGxzIHtcbiAgLS1icy1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogIzAwNzlDMDtcbn1cbi5uYXYtcGlsbHMgLm5hdi1saW5rIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xufVxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi1waWxscyAuc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmcpO1xufVxuXG4ubmF2LXVuZGVybGluZSB7XG4gIC0tYnMtbmF2LXVuZGVybGluZS1nYXA6IDFyZW07XG4gIC0tYnMtbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICAtLWJzLW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgZ2FwOiB2YXIoLS1icy1uYXYtdW5kZXJsaW5lLWdhcCk7XG59XG4ubmF2LXVuZGVybGluZSAubmF2LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5uYXYtdW5kZXJsaW5lIC5uYXYtbGluazpob3ZlciwgLm5hdi11bmRlcmxpbmUgLm5hdi1saW5rOmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xufVxuLm5hdi11bmRlcmxpbmUgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtdW5kZXJsaW5lIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3IpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG59XG5cbi5uYXYtZmlsbCA+IC5uYXYtbGluayxcbi5uYXYtZmlsbCAubmF2LWl0ZW0ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LWp1c3RpZmllZCA+IC5uYXYtbGluayxcbi5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbSB7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LWZpbGwgLm5hdi1pdGVtIC5uYXYtbGluayxcbi5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdmJhciB7XG4gIC0tYnMtbmF2YmFyLXBhZGRpbmcteDogMDtcbiAgLS1icy1uYXZiYXItcGFkZGluZy15OiAwLjVyZW07XG4gIC0tYnMtbmF2YmFyLWNvbG9yOiByZ2JhKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIDAuNjUpO1xuICAtLWJzLW5hdmJhci1ob3Zlci1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjgpO1xuICAtLWJzLW5hdmJhci1kaXNhYmxlZC1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjMpO1xuICAtLWJzLW5hdmJhci1hY3RpdmUtY29sb3I6IHJnYmEodmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiKSwgMSk7XG4gIC0tYnMtbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogMC4zMTI1cmVtO1xuICAtLWJzLW5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAxcmVtO1xuICAtLWJzLW5hdmJhci1icmFuZC1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtbmF2YmFyLWJyYW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpO1xuICAtLWJzLW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAxKTtcbiAgLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAwLjVyZW07XG4gIC0tYnMtbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAwLjI1cmVtO1xuICAtLWJzLW5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogMC43NXJlbTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtbmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSUyODUyLCA1OCwgNjQsIDAuNzUlMjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAtLWJzLW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjE1KTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogMC4yNXJlbTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS1icy1uYXZiYXItcGFkZGluZy15KSB2YXIoLS1icy1uYXZiYXItcGFkZGluZy14KTtcbn1cbi5uYXZiYXIgPiAuY29udGFpbmVyLXh4bCwgLm5hdmJhciA+IC5jb250YWluZXIteGwsIC5uYXZiYXIgPiAuY29udGFpbmVyLWxnLCAubmF2YmFyID4gLmNvbnRhaW5lci1tZCwgLm5hdmJhciA+IC5jb250YWluZXItc20sIC5uYXZiYXIgPiAuY29udGFpbmVyLFxuLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5uYXZiYXItYnJhbmQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tYnMtbmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1icy1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXZiYXItYnJhbmQtY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXZiYXItYnJhbmQtaG92ZXItY29sb3IpO1xufVxuXG4ubmF2YmFyLW5hdiB7XG4gIC0tYnMtbmF2LWxpbmstcGFkZGluZy14OiAwO1xuICAtLWJzLW5hdi1saW5rLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLW5hdi1saW5rLWZvbnQtd2VpZ2h0OiA7XG4gIC0tYnMtbmF2LWxpbmstY29sb3I6IHZhcigtLWJzLW5hdmJhci1jb2xvcik7XG4gIC0tYnMtbmF2LWxpbmstaG92ZXItY29sb3I6IHZhcigtLWJzLW5hdmJhci1ob3Zlci1jb2xvcik7XG4gIC0tYnMtbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLWJzLW5hdmJhci1kaXNhYmxlZC1jb2xvcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsIC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93IHtcbiAgY29sb3I6IHZhcigtLWJzLW5hdmJhci1hY3RpdmUtY29sb3IpO1xufVxuLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ubmF2YmFyLXRleHQge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBjb2xvcjogdmFyKC0tYnMtbmF2YmFyLWNvbG9yKTtcbn1cbi5uYXZiYXItdGV4dCBhLFxuLm5hdmJhci10ZXh0IGE6aG92ZXIsXG4ubmF2YmFyLXRleHQgYTpmb2N1cyB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbn1cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS1icy1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXgpO1xuICBmb250LXNpemU6IHZhcigtLWJzLW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tYnMtbmF2YmFyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbik7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5uYXZiYXItdG9nZ2xlcjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGgpO1xufVxuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1uYXZiYXItdG9nZ2xlci1pY29uLWJnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLWJzLXNjcm9sbC1oZWlnaHQsIDc1dmgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtc20ge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAub2ZmY2FudmFzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAub2ZmY2FudmFzIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWV4cGFuZC1tZCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLWxnIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm9mZmNhbnZhcyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAub2ZmY2FudmFzIC5vZmZjYW52YXMtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXhsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm9mZmNhbnZhcyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAub2ZmY2FudmFzIC5vZmZjYW52YXMtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXh4bCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAub2ZmY2FudmFzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgfVxufVxuLm5hdmJhci1leHBhbmQge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmF2YmFyLWV4cGFuZCAub2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgei1pbmRleDogYXV0bztcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4ubmF2YmFyLWV4cGFuZCAub2ZmY2FudmFzIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5uYXZiYXItZXhwYW5kIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy15OiB2aXNpYmxlO1xufVxuXG4ubmF2YmFyLWRhcmssXG4ubmF2YmFyW2RhdGEtYnMtdGhlbWU9ZGFya10ge1xuICAtLWJzLW5hdmJhci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiAgLS1icy1uYXZiYXItaG92ZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIC0tYnMtbmF2YmFyLWRpc2FibGVkLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAtLWJzLW5hdmJhci1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtbmF2YmFyLWJyYW5kLWNvbG9yOiAjZmZmO1xuICAtLWJzLW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4MjU1LCAyNTUsIDI1NSwgMC41NSUyOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4MjU1LCAyNTUsIDI1NSwgMC41NSUyOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5jYXJkIHtcbiAgLS1icy1jYXJkLXNwYWNlci15OiAxcmVtO1xuICAtLWJzLWNhcmQtc3BhY2VyLXg6IDFyZW07XG4gIC0tYnMtY2FyZC10aXRsZS1zcGFjZXIteTogMC41cmVtO1xuICAtLWJzLWNhcmQtdGl0bGUtY29sb3I6IDtcbiAgLS1icy1jYXJkLXN1YnRpdGxlLWNvbG9yOiA7XG4gIC0tYnMtY2FyZC1ib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIC0tYnMtY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIC0tYnMtY2FyZC1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1jYXJkLWJveC1zaGFkb3c6IDtcbiAgLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgLSAodmFyKC0tYnMtYm9yZGVyLXdpZHRoKSkpO1xuICAtLWJzLWNhcmQtY2FwLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLWNhcmQtY2FwLXBhZGRpbmcteDogMXJlbTtcbiAgLS1icy1jYXJkLWNhcC1iZzogcmdiYSh2YXIoLS1icy1ib2R5LWNvbG9yLXJnYiksIDAuMDMpO1xuICAtLWJzLWNhcmQtY2FwLWNvbG9yOiA7XG4gIC0tYnMtY2FyZC1oZWlnaHQ6IDtcbiAgLS1icy1jYXJkLWNvbG9yOiA7XG4gIC0tYnMtY2FyZC1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAxcmVtO1xuICAtLWJzLWNhcmQtZ3JvdXAtbWFyZ2luOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiB2YXIoLS1icy1jYXJkLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLWJzLWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1jYXJkLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWNhcmQtYm9yZGVyLXJhZGl1cyk7XG59XG4uY2FyZCA+IGhyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5jYXJkID4gLmxpc3QtZ3JvdXAge1xuICBib3JkZXItdG9wOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xufVxuLmNhcmQgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLmNhcmQgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG4uY2FyZCA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuLmNhcmQgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi5jYXJkLWJvZHkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tYnMtY2FyZC1zcGFjZXIteSkgdmFyKC0tYnMtY2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1icy1jYXJkLXRpdGxlLXNwYWNlci15KTtcbiAgY29sb3I6IHZhcigtLWJzLWNhcmQtdGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTAuNSAqIHZhcigtLWJzLWNhcmQtdGl0bGUtc3BhY2VyLXkpKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLWJzLWNhcmQtc3VidGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rICsgLmNhcmQtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1icy1jYXJkLXNwYWNlci14KTtcbn1cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tYnMtY2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1jYXJkLWJvcmRlci1jb2xvcik7XG59XG4uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLWJzLWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tYnMtY2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWNhcmQtYm9yZGVyLWNvbG9yKTtcbn1cbi5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLWJzLWNhcmQtY2FwLXBhZGRpbmcteCkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy15KSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXgpKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5jYXJkLWhlYWRlci10YWJzIC5uYXYtbGluay5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1jYXJkLWJnKTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYnMtY2FyZC1iZyk7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMC41ICogdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy14KSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXgpKTtcbn1cblxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tYnMtY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWdyb3VwID4gLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1icy1jYXJkLWdyb3VwLW1hcmdpbik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNhcmQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkICsgLmNhcmQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1oZWFkZXIge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1pbWctdG9wLFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWhlYWRlciB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG59XG5cbi5hY2NvcmRpb24ge1xuICAtLWJzLWFjY29yZGlvbi1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIC0tYnMtYWNjb3JkaW9uLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy1hY2NvcmRpb24tdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAwLjE1cyBlYXNlO1xuICAtLWJzLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIC0tYnMtYWNjb3JkaW9uLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgLSAodmFyKC0tYnMtYm9yZGVyLXdpZHRoKSkpO1xuICAtLWJzLWFjY29yZGlvbi1idG4tcGFkZGluZy14OiAxLjI1cmVtO1xuICAtLWJzLWFjY29yZGlvbi1idG4tcGFkZGluZy15OiAxcmVtO1xuICAtLWJzLWFjY29yZGlvbi1idG4tY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWFjY29yZGlvbi1idG4tYmc6IHZhcigtLWJzLWFjY29yZGlvbi1iZyk7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSclMjMzNDNhNDAnJTNlJTNjcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLyUzZSUzYy9zdmclM2VcIik7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoOiAxLjI1cmVtO1xuICAtLWJzLWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgLS1icy1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzMDAzMDRkJyUzZSUzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAtLWJzLWFjY29yZGlvbi1idG4tZm9jdXMtYm9yZGVyLWNvbG9yOiAjODBiY2UwO1xuICAtLWJzLWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDAsIDEyMSwgMTkyLCAwLjI1KTtcbiAgLS1icy1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6IDEuMjVyZW07XG4gIC0tYnMtYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAxcmVtO1xuICAtLWJzLWFjY29yZGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLXByaW1hcnktdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWNjb3JkaW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpO1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWFjY29yZGlvbi1idG4tcGFkZGluZy15KSB2YXIoLS1icy1hY2NvcmRpb24tYnRuLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6IHZhcigtLWJzLWFjY29yZGlvbi1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gIHRyYW5zaXRpb246IHZhcigtLWJzLWFjY29yZGlvbi10cmFuc2l0aW9uKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uYWNjb3JkaW9uLWJ1dHRvbjpub3QoLmNvbGxhcHNlZCkge1xuICBjb2xvcjogdmFyKC0tYnMtYWNjb3JkaW9uLWFjdGl2ZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWFjY29yZGlvbi1hY3RpdmUtYmcpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIGNhbGMoLTEgKiB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSkgMCB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcbn1cbi5hY2NvcmRpb24tYnV0dG9uOm5vdCguY29sbGFwc2VkKTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgdHJhbnNmb3JtOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbn1cbi5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogdmFyKC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbik7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5hY2NvcmRpb24tYnV0dG9uOmhvdmVyIHtcbiAgei1pbmRleDogMjtcbn1cbi5hY2NvcmRpb24tYnV0dG9uOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWZvY3VzLWJvcmRlci1jb2xvcik7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG59XG5cbi5hY2NvcmRpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgY29sb3I6IHZhcigtLWJzLWFjY29yZGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWFjY29yZGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG59XG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbn1cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1vZi10eXBlIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLmFjY29yZGlvbi1pdGVtOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBib3JkZXItdG9wOiAwO1xufVxuLmFjY29yZGlvbi1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbn1cbi5hY2NvcmRpb24taXRlbTpsYXN0LW9mLXR5cGUgLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLmFjY29yZGlvbi1pdGVtOmxhc3Qtb2YtdHlwZSAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS1icy1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXkpIHZhcigtLWJzLWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteCk7XG59XG5cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1pdGVtIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLmFjY29yZGlvbi1mbHVzaCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1idXR0b24sIC5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tYnV0dG9uLmNvbGxhcHNlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSclMjM2NmFmZDknJTNlJTNjcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLyUzZSUzYy9zdmclM2VcIik7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzNjZhZmQ5JyUzZSUzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uYnJlYWRjcnVtYiB7XG4gIC0tYnMtYnJlYWRjcnVtYi1wYWRkaW5nLXg6IDA7XG4gIC0tYnMtYnJlYWRjcnVtYi1wYWRkaW5nLXk6IDA7XG4gIC0tYnMtYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAxcmVtO1xuICAtLWJzLWJyZWFkY3J1bWItYmc6IDtcbiAgLS1icy1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6IDtcbiAgLS1icy1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG4gIC0tYnMtYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogMC41cmVtO1xuICAtLWJzLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tYnMtYnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLWJzLWJyZWFkY3J1bWItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYnMtYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJyZWFkY3J1bWItYmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1icmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG59XG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJzLWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgY29udGVudDogdmFyKC0tYnMtYnJlYWRjcnVtYi1kaXZpZGVyLCBcIi9cIikgLyogcnRsOiB2YXIoLS1icy1icmVhZGNydW1iLWRpdmlkZXIsIFwiL1wiKSAqLztcbn1cbi5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWJzLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXg6IDAuNzVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuMzc1cmVtO1xuICAtLWJzLXBhZ2luYXRpb24tZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLXBhZ2luYXRpb24tY29sb3I6IHZhcigtLWJzLWxpbmstY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtbGluay1ob3Zlci1jb2xvcik7XG4gIC0tYnMtcGFnaW5hdGlvbi1ob3Zlci1iZzogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICAtLWJzLXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tZm9jdXMtY29sb3I6IHZhcigtLWJzLWxpbmstaG92ZXItY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tZm9jdXMtYmc6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG4gIC0tYnMtcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoMCwgMTIxLCAxOTIsIDAuMjUpO1xuICAtLWJzLXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLXBhZ2luYXRpb24tYWN0aXZlLWJnOiAjMDA3OUMwO1xuICAtLWJzLXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tZGlzYWJsZWQtYmc6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG4gIC0tYnMtcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLWJzLXBhZ2luYXRpb24tcGFkZGluZy15KSB2YXIoLS1icy1wYWdpbmF0aW9uLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtcGFnaW5hdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tYnMtcGFnaW5hdGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucGFnZS1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ucGFnZS1saW5rOmhvdmVyIHtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG59XG4ucGFnZS1saW5rOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93KTtcbn1cbi5wYWdlLWxpbmsuYWN0aXZlLCAuYWN0aXZlID4gLnBhZ2UtbGluayB7XG4gIHotaW5kZXg6IDM7XG4gIGNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tYWN0aXZlLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xufVxuLnBhZ2UtbGluay5kaXNhYmxlZCwgLmRpc2FibGVkID4gLnBhZ2UtbGluayB7XG4gIGNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tZGlzYWJsZWQtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnBhZ2UtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIC0xKTtcbn1cbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cyk7XG59XG4ucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnBhZ2luYXRpb24tbGcge1xuICAtLWJzLXBhZ2luYXRpb24tcGFkZGluZy14OiAxLjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuNzVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICAtLWJzLXBhZ2luYXRpb24tcGFkZGluZy14OiAwLjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuMjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1mb250LXNpemU6IDAuODc1cmVtO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5iYWRnZSB7XG4gIC0tYnMtYmFkZ2UtcGFkZGluZy14OiAwLjY1ZW07XG4gIC0tYnMtYmFkZ2UtcGFkZGluZy15OiAwLjM1ZW07XG4gIC0tYnMtYmFkZ2UtZm9udC1zaXplOiAwLjc1ZW07XG4gIC0tYnMtYmFkZ2UtZm9udC13ZWlnaHQ6IDcwMDtcbiAgLS1icy1iYWRnZS1jb2xvcjogI2ZmZjtcbiAgLS1icy1iYWRnZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS1icy1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLWJzLWJhZGdlLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWJzLWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1icy1iYWRnZS1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1iYWRnZS1ib3JkZXItcmFkaXVzKTtcbn1cbi5iYWRnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi5hbGVydCB7XG4gIC0tYnMtYWxlcnQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWFsZXJ0LXBhZGRpbmcteDogMXJlbTtcbiAgLS1icy1hbGVydC1wYWRkaW5nLXk6IDFyZW07XG4gIC0tYnMtYWxlcnQtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLS1icy1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS1icy1hbGVydC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWJzLWFsZXJ0LWJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tYnMtYWxlcnQtcGFkZGluZy15KSB2YXIoLS1icy1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1icy1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLWJzLWFsZXJ0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLWFsZXJ0LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYWxlcnQtaGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1icy1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cbi5hbGVydC1kaXNtaXNzaWJsZSAuYnRuLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG59XG5cbi5hbGVydC1wcmltYXJ5IHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1hbGVydC1iZzogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXMpO1xufVxuXG4uYWxlcnQtc2Vjb25kYXJ5IHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWFsZXJ0LWJnOiB2YXIoLS1icy1zZWNvbmRhcnktYmctc3VidGxlKTtcbiAgLS1icy1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktdGV4dC1lbXBoYXNpcyk7XG59XG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1hbGVydC1iZzogdmFyKC0tYnMtc3VjY2Vzcy1iZy1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXMpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIC0tYnMtYWxlcnQtY29sb3I6IHZhcigtLWJzLWluZm8tdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWxlcnQtYmc6IHZhcigtLWJzLWluZm8tYmctc3VidGxlKTtcbiAgLS1icy1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWluZm8tYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtbGluay1jb2xvcjogdmFyKC0tYnMtaW5mby10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICAtLWJzLWFsZXJ0LWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWFsZXJ0LWJnOiB2YXIoLS1icy13YXJuaW5nLWJnLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLWJzLXdhcm5pbmctdGV4dC1lbXBoYXNpcyk7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICAtLWJzLWFsZXJ0LWNvbG9yOiB2YXIoLS1icy1kYW5nZXItdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWxlcnQtYmc6IHZhcigtLWJzLWRhbmdlci1iZy1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLWJzLWRhbmdlci10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmFsZXJ0LWxpZ2h0IHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWxlcnQtYmc6IHZhcigtLWJzLWxpZ2h0LWJnLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1saWdodC1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1saWdodC10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmFsZXJ0LWRhcmsge1xuICAtLWJzLWFsZXJ0LWNvbG9yOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWFsZXJ0LWJnOiB2YXIoLS1icy1kYXJrLWJnLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1kYXJrLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLWJzLWRhcmstdGV4dC1lbXBoYXNpcyk7XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAxcmVtO1xuICB9XG59XG4ucHJvZ3Jlc3MsXG4ucHJvZ3Jlc3Mtc3RhY2tlZCB7XG4gIC0tYnMtcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuICAtLWJzLXByb2dyZXNzLWZvbnQtc2l6ZTogMC43NXJlbTtcbiAgLS1icy1wcm9ncmVzcy1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgLS1icy1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1wcm9ncmVzcy1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93LWluc2V0KTtcbiAgLS1icy1wcm9ncmVzcy1iYXItY29sb3I6ICNmZmY7XG4gIC0tYnMtcHJvZ3Jlc3MtYmFyLWJnOiAjMDA3OUMwO1xuICAtLWJzLXByb2dyZXNzLWJhci10cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tYnMtcHJvZ3Jlc3MtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1wcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wcm9ncmVzcy1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLXByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS1icy1wcm9ncmVzcy1iYXItY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXByb2dyZXNzLWJhci1iZyk7XG4gIHRyYW5zaXRpb246IHZhcigtLWJzLXByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tYnMtcHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS1icy1wcm9ncmVzcy1oZWlnaHQpO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogMXMgbGluZWFyIGluZmluaXRlIHByb2dyZXNzLWJhci1zdHJpcGVzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbi5saXN0LWdyb3VwIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLXRlcnRpYXJ5LWJnKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgLS1icy1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjMDA3OUMwO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ubGlzdC1ncm91cC1udW1iZXJlZCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogc2VjdGlvbjtcbn1cbi5saXN0LWdyb3VwLW51bWJlcmVkID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgY291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnKTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmcpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tYnMtbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSkgdmFyKC0tYnMtbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yKTtcbn1cbi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbn1cbi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwgLmxpc3QtZ3JvdXAtaXRlbTpkaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmcpO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpO1xuICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG59XG5cbi5saXN0LWdyb3VwLWhvcml6b250YWwge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5saXN0LWdyb3VwLWhvcml6b250YWwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpO1xuICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gIH1cbn1cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5saXN0LWdyb3VwLWZsdXNoID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci13aWR0aDogMCAwIHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbn1cbi5saXN0LWdyb3VwLWZsdXNoID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5IHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLXByaW1hcnktYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtcHJpbWFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkge1xuICAtLWJzLWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWJnOiB2YXIoLS1icy1zZWNvbmRhcnktYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLXNlY29uZGFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6IHZhcigtLWJzLXNlY29uZGFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLWJzLXNlY29uZGFyeS10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLXN1Y2Nlc3MtYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy1zdWNjZXNzLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1pbmZvLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLWluZm8tYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtaW5mby1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy1pbmZvLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtaW5mby1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtaW5mby1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy1pbmZvLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtaW5mby10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLXdhcm5pbmctYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtd2FybmluZy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtd2FybmluZy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtd2FybmluZy1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtd2FybmluZy10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIge1xuICAtLWJzLWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLWJzLWRhbmdlci10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWJnOiB2YXIoLS1icy1kYW5nZXItYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLWRhbmdlci1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6IHZhcigtLWJzLWRhbmdlci1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJnLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLWJzLWRhbmdlci10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLWJzLWRhbmdlci10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodCB7XG4gIC0tYnMtbGlzdC1ncm91cC1jb2xvcjogdmFyKC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1iZzogdmFyKC0tYnMtbGlnaHQtYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtbGlnaHQtYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tYnMtbGlnaHQtYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS1icy1saWdodC1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtbGlnaHQtYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1iZzogdmFyKC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1saWdodC10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLWRhcmstYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFyay1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy1kYXJrLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtZGFyay1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZGFyay1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFyay10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmJ0bi1jbG9zZSB7XG4gIC0tYnMtYnRuLWNsb3NlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1jbG9zZS1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzMDAwJyUzZSUzY3BhdGggZD0nTS4yOTMuMjkzYTEgMSAwIDAgMSAxLjQxNCAwTDggNi41ODYgMTQuMjkzLjI5M2ExIDEgMCAxIDEgMS40MTQgMS40MTRMOS40MTQgOGw2LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQgMS40MTRMOCA5LjQxNGwtNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0LTEuNDE0TDYuNTg2IDggLjI5MyAxLjcwN2ExIDEgMCAwIDEgMC0xLjQxNHonLyUzZSUzYy9zdmclM2VcIik7XG4gIC0tYnMtYnRuLWNsb3NlLW9wYWNpdHk6IDAuNTtcbiAgLS1icy1idG4tY2xvc2UtaG92ZXItb3BhY2l0eTogMC43NTtcbiAgLS1icy1idG4tY2xvc2UtZm9jdXMtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoMCwgMTIxLCAxOTIsIDAuMjUpO1xuICAtLWJzLWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAxO1xuICAtLWJzLWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAwLjI1O1xuICAtLWJzLWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6IGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC4yNWVtO1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWNsb3NlLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdmFyKC0tYnMtYnRuLWNsb3NlLWJnKSBjZW50ZXIvMWVtIGF1dG8gbm8tcmVwZWF0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBvcGFjaXR5OiB2YXIoLS1icy1idG4tY2xvc2Utb3BhY2l0eSk7XG59XG4uYnRuLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJzLWJ0bi1jbG9zZS1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogdmFyKC0tYnMtYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHkpO1xufVxuLmJ0bi1jbG9zZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3cpO1xuICBvcGFjaXR5OiB2YXIoLS1icy1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eSk7XG59XG4uYnRuLWNsb3NlOmRpc2FibGVkLCAuYnRuLWNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvcGFjaXR5OiB2YXIoLS1icy1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbi5idG4tY2xvc2Utd2hpdGUge1xuICBmaWx0ZXI6IHZhcigtLWJzLWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXIpO1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSAuYnRuLWNsb3NlIHtcbiAgZmlsdGVyOiB2YXIoLS1icy1idG4tY2xvc2Utd2hpdGUtZmlsdGVyKTtcbn1cblxuLnRvYXN0IHtcbiAgLS1icy10b2FzdC16aW5kZXg6IDEwOTA7XG4gIC0tYnMtdG9hc3QtcGFkZGluZy14OiAwLjc1cmVtO1xuICAtLWJzLXRvYXN0LXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLXRvYXN0LXNwYWNpbmc6IDEuNXJlbTtcbiAgLS1icy10b2FzdC1tYXgtd2lkdGg6IDM1MHB4O1xuICAtLWJzLXRvYXN0LWZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC0tYnMtdG9hc3QtY29sb3I6IDtcbiAgLS1icy10b2FzdC1iZzogcmdiYSh2YXIoLS1icy1ib2R5LWJnLXJnYiksIDAuODUpO1xuICAtLWJzLXRvYXN0LWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy10b2FzdC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIC0tYnMtdG9hc3QtYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtdG9hc3QtYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdyk7XG4gIC0tYnMtdG9hc3QtaGVhZGVyLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLXRvYXN0LWhlYWRlci1iZzogcmdiYSh2YXIoLS1icy1ib2R5LWJnLXJnYiksIDAuODUpO1xuICAtLWJzLXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIHdpZHRoOiB2YXIoLS1icy10b2FzdC1tYXgtd2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLWJzLXRvYXN0LWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRvYXN0LWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS1icy10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLXRvYXN0LWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLXRvYXN0LWJveC1zaGFkb3cpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy10b2FzdC1ib3JkZXItcmFkaXVzKTtcbn1cbi50b2FzdC5zaG93aW5nIHtcbiAgb3BhY2l0eTogMDtcbn1cbi50b2FzdDpub3QoLnNob3cpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvYXN0LWNvbnRhaW5lciB7XG4gIC0tYnMtdG9hc3QtemluZGV4OiAxMDkwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLWJzLXRvYXN0LXppbmRleCk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50b2FzdC1jb250YWluZXIgPiA6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWJzLXRvYXN0LXNwYWNpbmcpO1xufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tYnMtdG9hc3QtcGFkZGluZy15KSB2YXIoLS1icy10b2FzdC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtdG9hc3QtaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdG9hc3QtaGVhZGVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtdG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1icy10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJzLXRvYXN0LWJvcmRlci13aWR0aCkpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1icy10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJzLXRvYXN0LWJvcmRlci13aWR0aCkpO1xufVxuLnRvYXN0LWhlYWRlciAuYnRuLWNsb3NlIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy10b2FzdC1wYWRkaW5nLXgpKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWJzLXRvYXN0LXBhZGRpbmcteCk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tYnMtdG9hc3QtcGFkZGluZy14KTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ubW9kYWwge1xuICAtLWJzLW1vZGFsLXppbmRleDogMTA1NTtcbiAgLS1icy1tb2RhbC13aWR0aDogNTAwcHg7XG4gIC0tYnMtbW9kYWwtcGFkZGluZzogMXJlbTtcbiAgLS1icy1tb2RhbC1tYXJnaW46IDAuNXJlbTtcbiAgLS1icy1tb2RhbC1jb2xvcjogO1xuICAtLWJzLW1vZGFsLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy1tb2RhbC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIC0tYnMtbW9kYWwtYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLW1vZGFsLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpO1xuICAtLWJzLW1vZGFsLWJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3ctc20pO1xuICAtLWJzLW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZykgLSAodmFyKC0tYnMtYm9yZGVyLXdpZHRoKSkpO1xuICAtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogMXJlbTtcbiAgLS1icy1tb2RhbC1oZWFkZXItcGFkZGluZzogMXJlbSAxcmVtO1xuICAtLWJzLW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIC0tYnMtbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS41O1xuICAtLWJzLW1vZGFsLWZvb3Rlci1nYXA6IDAuNXJlbTtcbiAgLS1icy1tb2RhbC1mb290ZXItYmc6IDtcbiAgLS1icy1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS1icy1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLWJzLW1vZGFsLW1hcmdpbik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTBweCk7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLm1vZGFsLm1vZGFsLXN0YXRpYyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1icy1tb2RhbC1tYXJnaW4pICogMik7XG59XG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1ib2R5IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWJzLW1vZGFsLW1hcmdpbikgKiAyKTtcbn1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogdmFyKC0tYnMtbW9kYWwtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLWJzLW1vZGFsLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbW9kYWwtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtbW9kYWwtYm9yZGVyLXJhZGl1cyk7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIC0tYnMtYmFja2Ryb3AtemluZGV4OiAxMDUwO1xuICAtLWJzLWJhY2tkcm9wLWJnOiAjMDAwO1xuICAtLWJzLWJhY2tkcm9wLW9wYWNpdHk6IDAuNTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLWJzLWJhY2tkcm9wLXppbmRleCk7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYmFja2Ryb3AtYmcpO1xufVxuLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICBvcGFjaXR5OiAwO1xufVxuLm1vZGFsLWJhY2tkcm9wLnNob3cge1xuICBvcGFjaXR5OiB2YXIoLS1icy1iYWNrZHJvcC1vcGFjaXR5KTtcbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IHZhcigtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtbW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG4ubW9kYWwtaGVhZGVyIC5idG4tY2xvc2Uge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogMC41KSBjYWxjKHZhcigtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogMC41KTtcbiAgbWFyZ2luOiBjYWxjKC0wLjUgKiB2YXIoLS1icy1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgY2FsYygtMC41ICogdmFyKC0tYnMtbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkpIGNhbGMoLTAuNSAqIHZhcigtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKSBhdXRvO1xufVxuXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tYnMtbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLWJzLW1vZGFsLXBhZGRpbmcpO1xufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1icy1tb2RhbC1wYWRkaW5nKSAtIHZhcigtLWJzLW1vZGFsLWZvb3Rlci1nYXApICogMC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbW9kYWwtZm9vdGVyLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tYnMtbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG4ubW9kYWwtZm9vdGVyID4gKiB7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1icy1tb2RhbC1mb290ZXItZ2FwKSAqIDAuNSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubW9kYWwge1xuICAgIC0tYnMtbW9kYWwtbWFyZ2luOiAxLjc1cmVtO1xuICAgIC0tYnMtbW9kYWwtYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdyk7XG4gIH1cbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1icy1tb2RhbC13aWR0aCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIC5tb2RhbC1zbSB7XG4gICAgLS1icy1tb2RhbC13aWR0aDogMzAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS1icy1tb2RhbC13aWR0aDogODAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1vZGFsLXhsIHtcbiAgICAtLWJzLW1vZGFsLXdpZHRoOiAxMTQwcHg7XG4gIH1cbn1cbi5tb2RhbC1mdWxsc2NyZWVuIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuLm1vZGFsLWZ1bGxzY3JlZW4gLm1vZGFsLWNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5tb2RhbC1mdWxsc2NyZWVuIC5tb2RhbC1oZWFkZXIsXG4ubW9kYWwtZnVsbHNjcmVlbiAubW9kYWwtZm9vdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5tb2RhbC1mdWxsc2NyZWVuIC5tb2RhbC1ib2R5IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXNtLWRvd24ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1zbS1kb3duIC5tb2RhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tc20tZG93biAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZnVsbHNjcmVlbi1zbS1kb3duIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tc20tZG93biAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5tb2RhbC1mdWxsc2NyZWVuLW1kLWRvd24ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1tZC1kb3duIC5tb2RhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbWQtZG93biAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZnVsbHNjcmVlbi1tZC1kb3duIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbWQtZG93biAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5tb2RhbC1mdWxsc2NyZWVuLWxnLWRvd24ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1sZy1kb3duIC5tb2RhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbGctZG93biAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZnVsbHNjcmVlbi1sZy1kb3duIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbGctZG93biAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubW9kYWwtZnVsbHNjcmVlbi14bC1kb3duIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4teGwtZG93biAubW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXhsLWRvd24gLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZ1bGxzY3JlZW4teGwtZG93biAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXhsLWRvd24gLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIHtcbiAgLm1vZGFsLWZ1bGxzY3JlZW4teHhsLWRvd24ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi14eGwtZG93biAubW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXh4bC1kb3duIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mdWxsc2NyZWVuLXh4bC1kb3duIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4teHhsLWRvd24gLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cbi50b29sdGlwIHtcbiAgLS1icy10b29sdGlwLXppbmRleDogMTA4MDtcbiAgLS1icy10b29sdGlwLW1heC13aWR0aDogMjAwcHg7XG4gIC0tYnMtdG9vbHRpcC1wYWRkaW5nLXg6IDAuNXJlbTtcbiAgLS1icy10b29sdGlwLXBhZGRpbmcteTogMC4yNXJlbTtcbiAgLS1icy10b29sdGlwLW1hcmdpbjogO1xuICAtLWJzLXRvb2x0aXAtZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLS1icy10b29sdGlwLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy10b29sdGlwLWJnOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtdG9vbHRpcC1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy10b29sdGlwLW9wYWNpdHk6IDAuOTtcbiAgLS1icy10b29sdGlwLWFycm93LXdpZHRoOiAwLjhyZW07XG4gIC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQ6IDAuNHJlbTtcbiAgei1pbmRleDogdmFyKC0tYnMtdG9vbHRpcC16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiB2YXIoLS1icy10b29sdGlwLW1hcmdpbik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1mb250LXNhbnMtc2VyaWYpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgZm9udC1zaXplOiB2YXIoLS1icy10b29sdGlwLWZvbnQtc2l6ZSk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcbn1cbi50b29sdGlwLnNob3cge1xuICBvcGFjaXR5OiB2YXIoLS1icy10b29sdGlwLW9wYWNpdHkpO1xufVxuLnRvb2x0aXAgLnRvb2x0aXAtYXJyb3cge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbn1cbi50b29sdGlwIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi5icy10b29sdGlwLXRvcCAudG9vbHRpcC1hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCkpO1xufVxuLmJzLXRvb2x0aXAtdG9wIC50b29sdGlwLWFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICB0b3A6IC0xcHg7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tYnMtdG9vbHRpcC1hcnJvdy13aWR0aCkgKiAwLjUpIDA7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWJzLXRvb2x0aXAtYmcpO1xufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1lbmQgLnRvb2x0aXAtYXJyb3csIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gLnRvb2x0aXAtYXJyb3cge1xuICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpKTtcbiAgd2lkdGg6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKTtcbn1cbi5icy10b29sdGlwLWVuZCAudG9vbHRpcC1hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICByaWdodDogLTFweDtcbiAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpICogMC41KSB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKSAqIDAuNSkgMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS1icy10b29sdGlwLWJnKTtcbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cbi5icy10b29sdGlwLWJvdHRvbSAudG9vbHRpcC1hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCkpO1xufVxuLmJzLXRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICBib3R0b206IC0xcHg7XG4gIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpICogMC41KSB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJzLXRvb2x0aXAtYmcpO1xufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1zdGFydCAudG9vbHRpcC1hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdIC50b29sdGlwLWFycm93IHtcbiAgcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCkpO1xuICB3aWR0aDogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xufVxuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICBsZWZ0OiAtMXB4O1xuICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tYnMtdG9vbHRpcC1hcnJvdy13aWR0aCkgKiAwLjUpIDAgY2FsYyh2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKSAqIDAuNSkgdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tYnMtdG9vbHRpcC1iZyk7XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tYnMtdG9vbHRpcC1tYXgtd2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS1icy10b29sdGlwLXBhZGRpbmcteSkgdmFyKC0tYnMtdG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtdG9vbHRpcC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdG9vbHRpcC1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5wb3BvdmVyIHtcbiAgLS1icy1wb3BvdmVyLXppbmRleDogMTA3MDtcbiAgLS1icy1wb3BvdmVyLW1heC13aWR0aDogMjc2cHg7XG4gIC0tYnMtcG9wb3Zlci1mb250LXNpemU6IDAuODc1cmVtO1xuICAtLWJzLXBvcG92ZXItYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLXBvcG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLXBvcG92ZXItYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZyk7XG4gIC0tYnMtcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpIC0gdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSk7XG4gIC0tYnMtcG9wb3Zlci1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93KTtcbiAgLS1icy1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAwLjVyZW07XG4gIC0tYnMtcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLXBvcG92ZXItaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuICAtLWJzLXBvcG92ZXItaGVhZGVyLWJnOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICAtLWJzLXBvcG92ZXItYm9keS1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogMXJlbTtcbiAgLS1icy1wb3BvdmVyLWJvZHktY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGg6IDFyZW07XG4gIC0tYnMtcG9wb3Zlci1hcnJvdy1oZWlnaHQ6IDAuNXJlbTtcbiAgLS1icy1wb3BvdmVyLWFycm93LWJvcmRlcjogdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICB6LWluZGV4OiB2YXIoLS1icy1wb3BvdmVyLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtc2Fucy1zZXJpZik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBmb250LXNpemU6IHZhcigtLWJzLXBvcG92ZXItZm9udC1zaXplKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLnBvcG92ZXIgLnBvcG92ZXItYXJyb3cge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbn1cbi5wb3BvdmVyIC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5wb3BvdmVyIC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuLmJzLXBvcG92ZXItdG9wID4gLnBvcG92ZXItYXJyb3csIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdID4gLnBvcG92ZXItYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiAodmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7XG59XG4uYnMtcG9wb3Zlci10b3AgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49dG9wXSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLXRvcCA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpICogMC41KSAwO1xufVxuLmJzLXBvcG92ZXItdG9wID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWFycm93LWJvcmRlcik7XG59XG4uYnMtcG9wb3Zlci10b3AgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgYm90dG9tOiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWJzLXBvcG92ZXItYmcpO1xufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1lbmQgPiAucG9wb3Zlci1hcnJvdywgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSA+IC5wb3BvdmVyLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqICh2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpKTtcbiAgd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1icy1wb3BvdmVyLWFycm93LXdpZHRoKTtcbn1cbi5icy1wb3BvdmVyLWVuZCA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1lbmQgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tYnMtcG9wb3Zlci1hcnJvdy13aWR0aCkgKiAwLjUpIHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpICogMC41KSAwO1xufVxuLmJzLXBvcG92ZXItZW5kID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbn1cbi5icy1wb3BvdmVyLWVuZCA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIGxlZnQ6IHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWJnKTtcbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cbi5icy1wb3BvdmVyLWJvdHRvbSA+IC5wb3BvdmVyLWFycm93LCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93IHtcbiAgdG9wOiBjYWxjKC0xICogKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkpO1xufVxuLmJzLXBvcG92ZXItYm90dG9tID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1ib3R0b20gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tYnMtcG9wb3Zlci1hcnJvdy13aWR0aCkgKiAwLjUpIHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbn1cbi5icy1wb3BvdmVyLWJvdHRvbSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xufVxuLmJzLXBvcG92ZXItYm90dG9tID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHRvcDogdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWJnKTtcbn1cbi5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMC41ICogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy13aWR0aCkpO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtcG9wb3Zlci1oZWFkZXItYmcpO1xufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1zdGFydCA+IC5wb3BvdmVyLWFycm93LCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49bGVmdF0gPiAucG9wb3Zlci1hcnJvdyB7XG4gIHJpZ2h0OiBjYWxjKC0xICogKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkpO1xuICB3aWR0aDogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpO1xufVxuLmJzLXBvcG92ZXItc3RhcnQgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49bGVmdF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1zdGFydCA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpICogMC41KSAwIGNhbGModmFyKC0tYnMtcG9wb3Zlci1hcnJvdy13aWR0aCkgKiAwLjUpIHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbn1cbi5icy1wb3BvdmVyLXN0YXJ0ID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xufVxuLmJzLXBvcG92ZXItc3RhcnQgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHJpZ2h0OiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWJnKTtcbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLWJzLXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tYnMtcG9wb3Zlci1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLnBvcG92ZXItaGVhZGVyOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLWJzLXBvcG92ZXItYm9keS1wYWRkaW5nLXkpIHZhcigtLWJzLXBvcG92ZXItYm9keS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1ib2R5LWNvbG9yKTtcbn1cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2Fyb3VzZWwtaW5uZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tc3RhcnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tZW5kKSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDE7XG59XG4uY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4uY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgei1pbmRleDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwLjZzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxNSU7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyLCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpob3Zlcixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLyogcnRsOm9wdGlvbnM6IHtcbiAgXCJhdXRvUmVuYW1lXCI6IHRydWUsXG4gIFwic3RyaW5nTWFwXCI6WyB7XG4gICAgXCJuYW1lXCIgICAgOiBcInByZXYtbmV4dFwiLFxuICAgIFwic2VhcmNoXCIgIDogXCJwcmV2XCIsXG4gICAgXCJyZXBsYWNlXCIgOiBcIm5leHRcIlxuICB9IF1cbn0gKi9cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyUyM2ZmZiclM2UlM2NwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzZmZmJyUzZSUzY3BhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDE1JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDE1JTtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDNweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWluZGljYXRvcnMgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDEuMjVyZW07XG4gIGxlZnQ6IDE1JTtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBmaWx0ZXI6IGludmVydCgxKSBncmF5c2NhbGUoMTAwKTtcbn1cbi5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWNhcHRpb24ge1xuICBjb2xvcjogIzAwMDtcbn1cblxuW2RhdGEtYnMtdGhlbWU9ZGFya10gLmNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sIFtkYXRhLWJzLXRoZW1lPWRhcmtdLmNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbltkYXRhLWJzLXRoZW1lPWRhcmtdLmNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGZpbHRlcjogaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDApO1xufVxuW2RhdGEtYnMtdGhlbWU9ZGFya10gLmNhcm91c2VsIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0sIFtkYXRhLWJzLXRoZW1lPWRhcmtdLmNhcm91c2VsIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuW2RhdGEtYnMtdGhlbWU9ZGFya10gLmNhcm91c2VsIC5jYXJvdXNlbC1jYXB0aW9uLCBbZGF0YS1icy10aGVtZT1kYXJrXS5jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4uc3Bpbm5lci1ncm93LFxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogdmFyKC0tYnMtc3Bpbm5lci13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tYnMtc3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tYnMtc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS1icy1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZCkgbGluZWFyIGluZmluaXRlIHZhcigtLWJzLXNwaW5uZXItYW5pbWF0aW9uLW5hbWUpO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgLyogcnRsOmlnbm9yZSAqLztcbiAgfVxufVxuLnNwaW5uZXItYm9yZGVyIHtcbiAgLS1icy1zcGlubmVyLXdpZHRoOiAycmVtO1xuICAtLWJzLXNwaW5uZXItaGVpZ2h0OiAycmVtO1xuICAtLWJzLXNwaW5uZXItdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xuICAtLWJzLXNwaW5uZXItYm9yZGVyLXdpZHRoOiAwLjI1ZW07XG4gIC0tYnMtc3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6IDAuNzVzO1xuICAtLWJzLXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICBib3JkZXI6IHZhcigtLWJzLXNwaW5uZXItYm9yZGVyLXdpZHRoKSBzb2xpZCBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIC0tYnMtc3Bpbm5lci13aWR0aDogMXJlbTtcbiAgLS1icy1zcGlubmVyLWhlaWdodDogMXJlbTtcbiAgLS1icy1zcGlubmVyLWJvcmRlci13aWR0aDogMC4yZW07XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnNwaW5uZXItZ3JvdyB7XG4gIC0tYnMtc3Bpbm5lci13aWR0aDogMnJlbTtcbiAgLS1icy1zcGlubmVyLWhlaWdodDogMnJlbTtcbiAgLS1icy1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcbiAgLS1icy1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogMC43NXM7XG4gIC0tYnMtc3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICAtLWJzLXNwaW5uZXItd2lkdGg6IDFyZW07XG4gIC0tYnMtc3Bpbm5lci1oZWlnaHQ6IDFyZW07XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zcGlubmVyLWJvcmRlcixcbiAgLnNwaW5uZXItZ3JvdyB7XG4gICAgLS1icy1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogMS41cztcbiAgfVxufVxuLm9mZmNhbnZhcywgLm9mZmNhbnZhcy14eGwsIC5vZmZjYW52YXMteGwsIC5vZmZjYW52YXMtbGcsIC5vZmZjYW52YXMtbWQsIC5vZmZjYW52YXMtc20ge1xuICAtLWJzLW9mZmNhbnZhcy16aW5kZXg6IDEwNDU7XG4gIC0tYnMtb2ZmY2FudmFzLXdpZHRoOiA0MDBweDtcbiAgLS1icy1vZmZjYW52YXMtaGVpZ2h0OiAzMHZoO1xuICAtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteTogMXJlbTtcbiAgLS1icy1vZmZjYW52YXMtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLW9mZmNhbnZhcy1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLW9mZmNhbnZhcy1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93LXNtKTtcbiAgLS1icy1vZmZjYW52YXMtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC0tYnMtb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAub2ZmY2FudmFzLXNtIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1jb2xvcik7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub2ZmY2FudmFzLXNtIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy1zbS5vZmZjYW52YXMtc3RhcnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLXNtLm9mZmNhbnZhcy1lbmQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtc20ub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1zbS5vZmZjYW52YXMtYm90dG9tIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1zbS5zaG93aW5nLCAub2ZmY2FudmFzLXNtLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1zbS5zaG93aW5nLCAub2ZmY2FudmFzLXNtLmhpZGluZywgLm9mZmNhbnZhcy1zbS5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm9mZmNhbnZhcy1zbSB7XG4gICAgLS1icy1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgIC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG4gIC5vZmZjYW52YXMtc20gLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1zbSAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAub2ZmY2FudmFzLW1kIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1jb2xvcik7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub2ZmY2FudmFzLW1kIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy1tZC5vZmZjYW52YXMtc3RhcnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLW1kLm9mZmNhbnZhcy1lbmQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtbWQub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1tZC5vZmZjYW52YXMtYm90dG9tIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1tZC5zaG93aW5nLCAub2ZmY2FudmFzLW1kLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1tZC5zaG93aW5nLCAub2ZmY2FudmFzLW1kLmhpZGluZywgLm9mZmNhbnZhcy1tZC5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm9mZmNhbnZhcy1tZCB7XG4gICAgLS1icy1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgIC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG4gIC5vZmZjYW52YXMtbWQgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1tZCAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAub2ZmY2FudmFzLWxnIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1jb2xvcik7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub2ZmY2FudmFzLWxnIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLm9mZmNhbnZhcy1sZy5vZmZjYW52YXMtc3RhcnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLWxnLm9mZmNhbnZhcy1lbmQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtbGcub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1sZy5vZmZjYW52YXMtYm90dG9tIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1sZy5zaG93aW5nLCAub2ZmY2FudmFzLWxnLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1sZy5zaG93aW5nLCAub2ZmY2FudmFzLWxnLmhpZGluZywgLm9mZmNhbnZhcy1sZy5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm9mZmNhbnZhcy1sZyB7XG4gICAgLS1icy1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgIC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG4gIC5vZmZjYW52YXMtbGcgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1sZyAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy14bCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiB2YXIoLS1icy1vZmZjYW52YXMtemluZGV4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtY29sb3IpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtYmcpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3V0bGluZTogMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1icy1vZmZjYW52YXMtdHJhbnNpdGlvbik7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5vZmZjYW52YXMteGwge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy14bC5vZmZjYW52YXMtc3RhcnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLXhsLm9mZmNhbnZhcy1lbmQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMteGwub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14bC5vZmZjYW52YXMtYm90dG9tIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14bC5zaG93aW5nLCAub2ZmY2FudmFzLXhsLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy14bC5zaG93aW5nLCAub2ZmY2FudmFzLXhsLmhpZGluZywgLm9mZmNhbnZhcy14bC5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5vZmZjYW52YXMteGwge1xuICAgIC0tYnMtb2ZmY2FudmFzLWhlaWdodDogYXV0bztcbiAgICAtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuICAub2ZmY2FudmFzLXhsIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMteGwgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC5vZmZjYW52YXMteHhsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1jb2xvcik7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTkuOThweCkgYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm9mZmNhbnZhcy14eGwge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy14eGwub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwub2ZmY2FudmFzLWVuZCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMteHhsLnNob3dpbmcsIC5vZmZjYW52YXMteHhsLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwuc2hvd2luZywgLm9mZmNhbnZhcy14eGwuaGlkaW5nLCAub2ZmY2FudmFzLXh4bC5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5vZmZjYW52YXMteHhsIHtcbiAgICAtLWJzLW9mZmNhbnZhcy1oZWlnaHQ6IGF1dG87XG4gICAgLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ub2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtY29sb3IpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIG91dGxpbmU6IDA7XG4gIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5vZmZjYW52YXMge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5vZmZjYW52YXMub2ZmY2FudmFzLXN0YXJ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cbi5vZmZjYW52YXMub2ZmY2FudmFzLWVuZCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cbi5vZmZjYW52YXMub2ZmY2FudmFzLXRvcCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuLm9mZmNhbnZhcy5vZmZjYW52YXMtYm90dG9tIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci10b3A6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG4ub2ZmY2FudmFzLnNob3dpbmcsIC5vZmZjYW52YXMuc2hvdzpub3QoLmhpZGluZykge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4ub2ZmY2FudmFzLnNob3dpbmcsIC5vZmZjYW52YXMuaGlkaW5nLCAub2ZmY2FudmFzLnNob3cge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ub2ZmY2FudmFzLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cbi5vZmZjYW52YXMtYmFja2Ryb3AuZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4ub2ZmY2FudmFzLWJhY2tkcm9wLnNob3cge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS1icy1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS1icy1vZmZjYW52YXMtcGFkZGluZy14KTtcbn1cbi5vZmZjYW52YXMtaGVhZGVyIC5idG4tY2xvc2Uge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXkpICogMC41KSBjYWxjKHZhcigtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXgpICogMC41KTtcbiAgbWFyZ2luLXRvcDogY2FsYygtMC41ICogdmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMC41ICogdmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteSkpO1xufVxuXG4ub2ZmY2FudmFzLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodCk7XG59XG5cbi5vZmZjYW52YXMtYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogdmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5wbGFjZWhvbGRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHdhaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMC41O1xufVxuLnBsYWNlaG9sZGVyLmJ0bjo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAwLjZlbTtcbn1cblxuLnBsYWNlaG9sZGVyLXNtIHtcbiAgbWluLWhlaWdodDogMC44ZW07XG59XG5cbi5wbGFjZWhvbGRlci1sZyB7XG4gIG1pbi1oZWlnaHQ6IDEuMmVtO1xufVxuXG4ucGxhY2Vob2xkZXItZ2xvdyAucGxhY2Vob2xkZXIge1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLWdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG59XG4ucGxhY2Vob2xkZXItd2F2ZSB7XG4gIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMzBkZWcsICMwMDAgNTUlLCByZ2JhKDAsIDAsIDAsIDAuOCkgNzUlLCAjMDAwIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgfVxufVxuLmFsaWduLWJhc2VsaW5lIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi10ZXh0LWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tdGV4dC10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LXN0YXJ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LWVuZCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5vYmplY3QtZml0LWNvbnRhaW4ge1xuICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG59XG5cbi5vYmplY3QtZml0LWNvdmVyIHtcbiAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbn1cblxuLm9iamVjdC1maXQtZmlsbCB7XG4gIG9iamVjdC1maXQ6IGZpbGwgIWltcG9ydGFudDtcbn1cblxuLm9iamVjdC1maXQtc2NhbGUge1xuICBvYmplY3QtZml0OiBzY2FsZS1kb3duICFpbXBvcnRhbnQ7XG59XG5cbi5vYmplY3QtZml0LW5vbmUge1xuICBvYmplY3QtZml0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5vcGFjaXR5LTAge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5vcGFjaXR5LTI1IHtcbiAgb3BhY2l0eTogMC4yNSAhaW1wb3J0YW50O1xufVxuXG4ub3BhY2l0eS01MCB7XG4gIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xufVxuXG4ub3BhY2l0eS03NSB7XG4gIG9wYWNpdHk6IDAuNzUgIWltcG9ydGFudDtcbn1cblxuLm9wYWNpdHktMTAwIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctYXV0byB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy12aXNpYmxlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXNjcm9sbCB7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXgtYXV0byB7XG4gIG92ZXJmbG93LXg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXgtaGlkZGVuIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LXZpc2libGUge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteS1hdXRvIHtcbiAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteS1oaWRkZW4ge1xuICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXktdmlzaWJsZSB7XG4gIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXktc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsICFpbXBvcnRhbnQ7XG59XG5cbi5kLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZC1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUtZ3JpZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkICFpbXBvcnRhbnQ7XG59XG5cbi5kLXRhYmxlIHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbn1cblxuLmQtdGFibGUtcm93IHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG59XG5cbi5kLXRhYmxlLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG59XG5cbi5kLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5kLWlubGluZS1mbGV4IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbn1cblxuLmQtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3cpICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3ctc20ge1xuICBib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93LXNtKSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93LWxnIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdy1sZykgIWltcG9ydGFudDtcbn1cblxuLnNoYWRvdy1ub25lIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZm9jdXMtcmluZy1wcmltYXJ5IHtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5mb2N1cy1yaW5nLXNlY29uZGFyeSB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5mb2N1cy1yaW5nLXN1Y2Nlc3Mge1xuICAtLWJzLWZvY3VzLXJpbmctY29sb3I6IHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCB2YXIoLS1icy1mb2N1cy1yaW5nLW9wYWNpdHkpKTtcbn1cblxuLmZvY3VzLXJpbmctaW5mbyB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWZvY3VzLXJpbmctb3BhY2l0eSkpO1xufVxuXG4uZm9jdXMtcmluZy13YXJuaW5nIHtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKHZhcigtLWJzLXdhcm5pbmctcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5mb2N1cy1yaW5nLWRhbmdlciB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5mb2N1cy1yaW5nLWxpZ2h0IHtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpZ2h0LXJnYiksIHZhcigtLWJzLWZvY3VzLXJpbmctb3BhY2l0eSkpO1xufVxuXG4uZm9jdXMtcmluZy1kYXJrIHtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhcmstcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5wb3NpdGlvbi1zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtMCB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4udG9wLTUwIHtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnRvcC0xMDAge1xuICB0b3A6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS0wIHtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tNTAge1xuICBib3R0b206IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uYm90dG9tLTEwMCB7XG4gIGJvdHRvbTogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uc3RhcnQtMCB7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnN0YXJ0LTUwIHtcbiAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5zdGFydC0xMDAge1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5lbmQtMCB7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5lbmQtNTAge1xuICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5lbmQtMTAwIHtcbiAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnRyYW5zbGF0ZS1taWRkbGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNsYXRlLW1pZGRsZS14IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2xhdGUtbWlkZGxlLXkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlciB7XG4gIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci0wIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItdG9wIHtcbiAgYm9yZGVyLXRvcDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci10b3AtMCB7XG4gIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1lbmQge1xuICBib3JkZXItcmlnaHQ6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZW5kLTAge1xuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHZhcigtLWJzLWJvcmRlci1zdHlsZSkgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWJvdHRvbS0wIHtcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXN0YXJ0IHtcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc3RhcnQtMCB7XG4gIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcHJpbWFyeSB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1wcmltYXJ5LXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zZWNvbmRhcnkge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zdWNjZXNzIHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtYm9yZGVyLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWluZm8ge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtaW5mby1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItd2FybmluZyB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYW5nZXIge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1saWdodCB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1saWdodC1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZGFyayB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ibGFjayB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1ibGFjay1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtd2hpdGUtcmdiKSwgdmFyKC0tYnMtYm9yZGVyLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXByaW1hcnktc3VidGxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc2Vjb25kYXJ5LXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc3VjY2Vzcy1zdWJ0bGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXN1Y2Nlc3MtYm9yZGVyLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1pbmZvLXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtaW5mby1ib3JkZXItc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdhcm5pbmctc3VidGxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZGFuZ2VyLXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGlnaHQtc3VidGxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1saWdodC1ib3JkZXItc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhcmstc3VidGxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1kYXJrLWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItMSB7XG4gIGJvcmRlci13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItMiB7XG4gIGJvcmRlci13aWR0aDogMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItMyB7XG4gIGJvcmRlci13aWR0aDogM3B4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItNCB7XG4gIGJvcmRlci13aWR0aDogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItNSB7XG4gIGJvcmRlci13aWR0aDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItb3BhY2l0eS0xMCB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDAuMTtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTI1IHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMC4yNTtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTUwIHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMC41O1xufVxuXG4uYm9yZGVyLW9wYWNpdHktNzUge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAwLjc1O1xufVxuXG4uYm9yZGVyLW9wYWNpdHktMTAwIHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMTtcbn1cblxuLnctMjUge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4udy03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnctYXV0byB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tdy0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnZ3LTEwMCB7XG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xufVxuXG4ubWluLXZ3LTEwMCB7XG4gIG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbn1cblxuLmgtMjUge1xuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4uaC01MCB7XG4gIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5oLTc1IHtcbiAgaGVpZ2h0OiA3NSUgIWltcG9ydGFudDtcbn1cblxuLmgtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5oLWF1dG8ge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1oLTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnZoLTEwMCB7XG4gIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuLm1pbi12aC0xMDAge1xuICBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1maWxsIHtcbiAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWdyb3ctMCB7XG4gIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1ncm93LTEge1xuICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtc2hyaW5rLTAge1xuICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1zaHJpbmstMSB7XG4gIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtbm93cmFwIHtcbiAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtc3RhcnQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWVuZCB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWNlbnRlciB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1iZXR3ZWVuIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1hcm91bmQge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtc3RyZXRjaCB7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtYXV0byB7XG4gIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtc3RhcnQge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWVuZCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWNlbnRlciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1iYXNlbGluZSB7XG4gIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci1maXJzdCB7XG4gIG9yZGVyOiAtMSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMCB7XG4gIG9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xIHtcbiAgb3JkZXI6IDEgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTIge1xuICBvcmRlcjogMiAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMyB7XG4gIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci00IHtcbiAgb3JkZXI6IDQgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTUge1xuICBvcmRlcjogNSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItbGFzdCB7XG4gIG9yZGVyOiA2ICFpbXBvcnRhbnQ7XG59XG5cbi5tLTAge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLm0tMSB7XG4gIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS0yIHtcbiAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tMyB7XG4gIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS00IHtcbiAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tNSB7XG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1hdXRvIHtcbiAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5teC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5teC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXgtMyB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXgtNCB7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm14LTUge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm15LTAge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm15LTEge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm15LTIge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teS0zIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teS00IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXktNSB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXktYXV0byB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubXQtMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm10LTEge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0yIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0zIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtNCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtNSB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LWF1dG8ge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tZS0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tZS0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZS0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLTMge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLTQge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWUtNSB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWUtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubWItMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm1iLTEge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0zIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItNCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItNSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLWF1dG8ge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tcy0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm1zLTEge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtMiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLTMge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtNCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLTUge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5wLTAge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wLTEge1xuICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTIge1xuICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtMyB7XG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtNCB7XG4gIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucC01IHtcbiAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucHgtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5weC0xIHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTMge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHgtNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHgtNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weS0wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnB5LTEge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktMiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktMyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weS00IHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weS01IHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTAge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ucHQtMSB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0yIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtMyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC00IHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtNSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wZS0wIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ucGUtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBlLTIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBlLTMge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wZS00IHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wZS01IHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0xIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTIge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0zIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTQge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi01IHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBzLTAge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnBzLTEge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBzLTIge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHMtMyB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHMtNCB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wcy01IHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtMCB7XG4gIGdhcDogMCAhaW1wb3J0YW50O1xufVxuXG4uZ2FwLTEge1xuICBnYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmdhcC0yIHtcbiAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmdhcC0zIHtcbiAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtNCB7XG4gIGdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtNSB7XG4gIGdhcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucm93LWdhcC0wIHtcbiAgcm93LWdhcDogMCAhaW1wb3J0YW50O1xufVxuXG4ucm93LWdhcC0xIHtcbiAgcm93LWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm93LWdhcC0yIHtcbiAgcm93LWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3ctZ2FwLTMge1xuICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3ctZ2FwLTQge1xuICByb3ctZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdy1nYXAtNSB7XG4gIHJvdy1nYXA6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbi1nYXAtMCB7XG4gIGNvbHVtbi1nYXA6IDAgIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbi1nYXAtMSB7XG4gIGNvbHVtbi1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbi1nYXAtMiB7XG4gIGNvbHVtbi1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uY29sdW1uLWdhcC0zIHtcbiAgY29sdW1uLWdhcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4uY29sdW1uLWdhcC00IHtcbiAgY29sdW1uLWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5jb2x1bW4tZ2FwLTUge1xuICBjb2x1bW4tZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LW1vbm9zcGFjZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1mb250LW1vbm9zcGFjZSkgIWltcG9ydGFudDtcbn1cblxuLmZzLTEge1xuICBmb250LXNpemU6IGNhbGMoMS4zNzVyZW0gKyAxLjV2dykgIWltcG9ydGFudDtcbn1cblxuLmZzLTIge1xuICBmb250LXNpemU6IGNhbGMoMS4zMjVyZW0gKyAwLjl2dykgIWltcG9ydGFudDtcbn1cblxuLmZzLTMge1xuICBmb250LXNpemU6IGNhbGMoMS4zcmVtICsgMC42dncpICFpbXBvcnRhbnQ7XG59XG5cbi5mcy00IHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpICFpbXBvcnRhbnQ7XG59XG5cbi5mcy01IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mcy02IHtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mc3QtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbi5mc3Qtbm9ybWFsIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1saWdodGVyIHtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXIgIWltcG9ydGFudDtcbn1cblxuLmZ3LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctYm9sZGVyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlciAhaW1wb3J0YW50O1xufVxuXG4ubGgtMSB7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG59XG5cbi5saC1zbSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1ICFpbXBvcnRhbnQ7XG59XG5cbi5saC1iYXNlIHtcbiAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xufVxuXG4ubGgtbGcge1xuICBsaW5lLWhlaWdodDogMiAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdGFydCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZW5kIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbGluZS10aHJvdWdoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDtcbn1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuLyogcnRsOmVuZDpyZW1vdmUgKi9cbi50ZXh0LXByaW1hcnkge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtcHJpbWFyeS1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1pbmZvIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLWluZm8tcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2FybmluZyB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhbmdlciB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGlnaHQge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFyayB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJsYWNrIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLWJsYWNrLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdoaXRlIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLXdoaXRlLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJvZHkge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtYm9keS1jb2xvci1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1tdXRlZCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ibGFjay01MCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdoaXRlLTUwIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYm9keS1zZWNvbmRhcnkge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYm9keS10ZXJ0aWFyeSB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogdmFyKC0tYnMtdGVydGlhcnktY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJvZHktZW1waGFzaXMge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1yZXNldCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1vcGFjaXR5LTI1IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDAuMjU7XG59XG5cbi50ZXh0LW9wYWNpdHktNTAge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMC41O1xufVxuXG4udGV4dC1vcGFjaXR5LTc1IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDAuNzU7XG59XG5cbi50ZXh0LW9wYWNpdHktMTAwIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG59XG5cbi50ZXh0LXByaW1hcnktZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtcHJpbWFyeS10ZXh0LWVtcGhhc2lzKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zZWNvbmRhcnktZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXN1Y2Nlc3MtZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1pbmZvLWVtcGhhc2lzIHtcbiAgY29sb3I6IHZhcigtLWJzLWluZm8tdGV4dC1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2FybmluZy1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhbmdlci1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS1icy1kYW5nZXItdGV4dC1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGlnaHQtZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFyay1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLW9wYWNpdHktMTAge1xuICAtLWJzLWxpbmstb3BhY2l0eTogMC4xO1xufVxuXG4ubGluay1vcGFjaXR5LTEwLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuMTtcbn1cblxuLmxpbmstb3BhY2l0eS0yNSB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAwLjI1O1xufVxuXG4ubGluay1vcGFjaXR5LTI1LWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuMjU7XG59XG5cbi5saW5rLW9wYWNpdHktNTAge1xuICAtLWJzLWxpbmstb3BhY2l0eTogMC41O1xufVxuXG4ubGluay1vcGFjaXR5LTUwLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuNTtcbn1cblxuLmxpbmstb3BhY2l0eS03NSB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAwLjc1O1xufVxuXG4ubGluay1vcGFjaXR5LTc1LWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuNzU7XG59XG5cbi5saW5rLW9wYWNpdHktMTAwIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDE7XG59XG5cbi5saW5rLW9wYWNpdHktMTAwLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDE7XG59XG5cbi5saW5rLW9mZnNldC0xIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjEyNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLW9mZnNldC0xLWhvdmVyOmhvdmVyIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjEyNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLW9mZnNldC0yIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjI1ZW0gIWltcG9ydGFudDtcbn1cblxuLmxpbmstb2Zmc2V0LTItaG92ZXI6aG92ZXIge1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMjVlbSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1vZmZzZXQtMyB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zNzVlbSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1vZmZzZXQtMy1ob3Zlcjpob3ZlciB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zNzVlbSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtcHJpbWFyeSB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1zZWNvbmRhcnkge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1zdWNjZXNzIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAxO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstdW5kZXJsaW5lLWluZm8ge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtd2FybmluZyB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLXdhcm5pbmctcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1kYW5nZXIge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1saWdodCB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpZ2h0LXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtZGFyayB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhcmstcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZSB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpbmstY29sb3ItcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTAge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDA7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTAtaG92ZXI6aG92ZXIge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDA7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTEwIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjE7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTEwLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjE7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTI1IHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjI1O1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0yNS1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMC4yNTtcbn1cblxuLmxpbmstdW5kZXJsaW5lLW9wYWNpdHktNTAge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDAuNTtcbn1cblxuLmxpbmstdW5kZXJsaW5lLW9wYWNpdHktNTAtaG92ZXI6aG92ZXIge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDAuNTtcbn1cblxuLmxpbmstdW5kZXJsaW5lLW9wYWNpdHktNzUge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDAuNzU7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTc1LWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjc1O1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0xMDAge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTEwMC1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbn1cblxuLmJnLXByaW1hcnkge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtcHJpbWFyeS1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJnLXNlY29uZGFyeSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zdWNjZXNzIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1pbmZvIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWluZm8tcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13YXJuaW5nIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXdhcm5pbmctcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1kYW5nZXIge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHQge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1kYXJrIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhcmstcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ibGFjayB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1ibGFjay1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXdoaXRlLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctYm9keSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1ib2R5LWJnLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ib2R5LXNlY29uZGFyeSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1zZWNvbmRhcnktYmctcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ib2R5LXRlcnRpYXJ5IHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXRlcnRpYXJ5LWJnLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctb3BhY2l0eS0xMCB7XG4gIC0tYnMtYmctb3BhY2l0eTogMC4xO1xufVxuXG4uYmctb3BhY2l0eS0yNSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMC4yNTtcbn1cblxuLmJnLW9wYWNpdHktNTAge1xuICAtLWJzLWJnLW9wYWNpdHk6IDAuNTtcbn1cblxuLmJnLW9wYWNpdHktNzUge1xuICAtLWJzLWJnLW9wYWNpdHk6IDAuNzU7XG59XG5cbi5iZy1vcGFjaXR5LTEwMCB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbn1cblxuLmJnLXByaW1hcnktc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zZWNvbmRhcnktc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJnLXN1Y2Nlc3Mtc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy1iZy1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1pbmZvLXN1YnRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWluZm8tYmctc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYmctd2FybmluZy1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLWJnLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhbmdlci1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1kYW5nZXItYmctc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHQtc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbGlnaHQtYmctc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFyay1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1kYXJrLWJnLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJnLWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnMtZ3JhZGllbnQpICFpbXBvcnRhbnQ7XG59XG5cbi51c2VyLXNlbGVjdC1hbGwge1xuICB1c2VyLXNlbGVjdDogYWxsICFpbXBvcnRhbnQ7XG59XG5cbi51c2VyLXNlbGVjdC1hdXRvIHtcbiAgdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVzZXItc2VsZWN0LW5vbmUge1xuICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucGUtbm9uZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wZS1hdXRvIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0xIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMiB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTMge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC00IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14bCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtNSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcC0wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtMSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtMiB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtMyB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtNCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtNSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14eGwpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcC1jaXJjbGUge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtcGlsbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtZW5kIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtMCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZC0xIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtMiB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtZW5kLTMge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZykgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZC00IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtNSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtY2lyY2xlIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZC1waWxsIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbS0wIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tMSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tMiB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tMyB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tNCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tNSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14eGwpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbS1jaXJjbGUge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tcGlsbCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc3RhcnQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC0wIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXN0YXJ0LTEge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC0yIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc3RhcnQtMyB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXN0YXJ0LTQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC01IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14eGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC1jaXJjbGUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXN0YXJ0LXBpbGwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnotbjEge1xuICB6LWluZGV4OiAtMSAhaW1wb3J0YW50O1xufVxuXG4uei0wIHtcbiAgei1pbmRleDogMCAhaW1wb3J0YW50O1xufVxuXG4uei0xIHtcbiAgei1pbmRleDogMSAhaW1wb3J0YW50O1xufVxuXG4uei0yIHtcbiAgei1pbmRleDogMiAhaW1wb3J0YW50O1xufVxuXG4uei0zIHtcbiAgei1pbmRleDogMyAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZsb2F0LXNtLXN0YXJ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1zbS1lbmQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1zbS1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXNtLWNvbnRhaW4ge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1zbS1jb3ZlciB7XG4gICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1zbS1maWxsIHtcbiAgICBvYmplY3QtZml0OiBmaWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtc20tc2NhbGUge1xuICAgIG9iamVjdC1maXQ6IHNjYWxlLWRvd24gIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1zbS1ub25lIHtcbiAgICBvYmplY3QtZml0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1pbmxpbmUtZ3JpZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20taW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20tbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20td3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1ldmVubHkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXNtLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1zbS1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1zbS1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLXN0YXJ0IHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtc20tZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbiB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLWF1dG8ge1xuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1jZW50ZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItc20tZmlyc3Qge1xuICAgIG9yZGVyOiAtMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS0wIHtcbiAgICBvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS0yIHtcbiAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS01IHtcbiAgICBvcmRlcjogNSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS1sYXN0IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXgtc20tMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXgtc20tMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtc20tMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXNtLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXNtLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1zbS01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1zbS0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1zbS0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1zbS0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktc20tMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktc20tNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXNtLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXNtLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXNtLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1zbS0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtc20tMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtc20tMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXNtLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXNtLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXMtc20tMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXMtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1zbS0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXNtLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1zbS0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1zbS0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1zbS0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXNtLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtc20tMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1zbS00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1zbS01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXNtLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHktc20tMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1zbS0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1zbS0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXNtLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1zbS0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1zbS00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXNtLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGUtc20tMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1zbS0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1zbS00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtc20tNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItc20tNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtc20tMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXNtLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1zbS0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1zbS0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtc20tNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtc20tNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1zbS0wIHtcbiAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXNtLTEge1xuICAgIGdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtc20tMiB7XG4gICAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXNtLTMge1xuICAgIGdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtc20tNCB7XG4gICAgZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXNtLTUge1xuICAgIGdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXNtLTAge1xuICAgIHJvdy1nYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1zbS0xIHtcbiAgICByb3ctZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtc20tMiB7XG4gICAgcm93LWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtc20tMyB7XG4gICAgcm93LWdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXNtLTQge1xuICAgIHJvdy1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXNtLTUge1xuICAgIHJvdy1nYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1zbS0wIHtcbiAgICBjb2x1bW4tZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtc20tMSB7XG4gICAgY29sdW1uLWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXNtLTIge1xuICAgIGNvbHVtbi1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXNtLTMge1xuICAgIGNvbHVtbi1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1zbS00IHtcbiAgICBjb2x1bW4tZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1zbS01IHtcbiAgICBjb2x1bW4tZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtc20tc3RhcnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1zbS1lbmQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtc20tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbG9hdC1tZC1zdGFydCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtbWQtZW5kIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtbWQtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1tZC1jb250YWluIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbWQtY292ZXIge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbWQtZmlsbCB7XG4gICAgb2JqZWN0LWZpdDogZmlsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LW1kLXNjYWxlIHtcbiAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbWQtbm9uZSB7XG4gICAgb2JqZWN0LWZpdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtaW5saW5lLWdyaWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLW1kLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtMCB7XG4gICAgb3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtMSB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtNCB7XG4gICAgb3JkZXI6IDQgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtbGFzdCB7XG4gICAgb3JkZXI6IDYgIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LW1kLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LW1kLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LW1kLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1tZC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1tZC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbWQtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbWQtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXktbWQtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXktbWQtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbWQtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LW1kLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LW1kLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1tZC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1tZC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1tZC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWUtbWQtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLW1kLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLW1kLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1tZC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1tZC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbWQtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLW1kLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLW1kLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLW1kLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbWQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbWQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1tZC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucC1tZC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbWQtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbWQtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtbWQtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1tZC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LW1kLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LW1kLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtbWQtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1tZC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LW1kLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbWQtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbWQtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1tZC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1tZC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbWQtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbWQtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1tZC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLW1kLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtbWQtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLW1kLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLW1kLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1tZC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1tZC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLW1kLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1tZC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtbWQtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtbWQtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLW1kLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLW1kLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbWQtMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1tZC0xIHtcbiAgICBnYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLW1kLTIge1xuICAgIGdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1tZC0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLW1kLTQge1xuICAgIGdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1tZC01IHtcbiAgICBnYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1tZC0wIHtcbiAgICByb3ctZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbWQtMSB7XG4gICAgcm93LWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLW1kLTIge1xuICAgIHJvdy1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLW1kLTMge1xuICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1tZC00IHtcbiAgICByb3ctZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1tZC01IHtcbiAgICByb3ctZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbWQtMCB7XG4gICAgY29sdW1uLWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLW1kLTEge1xuICAgIGNvbHVtbi1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1tZC0yIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1tZC0zIHtcbiAgICBjb2x1bW4tZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbWQtNCB7XG4gICAgY29sdW1uLWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbWQtNSB7XG4gICAgY29sdW1uLWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LW1kLXN0YXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtbWQtZW5kIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmxvYXQtbGctc3RhcnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LWxnLWVuZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LWxnLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbGctY29udGFpbiB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LWxnLWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LWxnLWZpbGwge1xuICAgIG9iamVjdC1maXQ6IGZpbGwgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1sZy1zY2FsZSB7XG4gICAgb2JqZWN0LWZpdDogc2NhbGUtZG93biAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LWxnLW5vbmUge1xuICAgIG9iamVjdC1maXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWlubGluZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbGctc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLWxnLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLWxnLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1sZy1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1sZy1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy1maXJzdCB7XG4gICAgb3JkZXI6IC0xICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTAge1xuICAgIG9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTEge1xuICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTIge1xuICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTMge1xuICAgIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTUge1xuICAgIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLWxhc3Qge1xuICAgIG9yZGVyOiA2ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1sZy0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1sZy0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1sZy0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbGctMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbGctNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LWxnLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LWxnLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LWxnLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LWxnLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LWxnLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1sZy0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1sZy00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbGctNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbGctYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbGctMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLWxnLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1sZy0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1sZy0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbGctNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbGctNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLWxnLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1sZy0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1sZy0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbGctYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbGctMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLWxnLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLWxnLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LWxnLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHgtbGctMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1sZy0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1sZy0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LWxnLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LWxnLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbGctMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1sZy0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LWxnLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbGctNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbGctNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LWxnLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtbGctMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1sZy0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLWxnLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1sZy0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLWxnLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1sZy01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbGctMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbGctNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1sZy0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHMtbGctMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLWxnLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLWxnLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1sZy00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1sZy01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLWxnLTAge1xuICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbGctMSB7XG4gICAgZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1sZy0yIHtcbiAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbGctMyB7XG4gICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1sZy00IHtcbiAgICBnYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbGctNSB7XG4gICAgZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbGctMCB7XG4gICAgcm93LWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLWxnLTEge1xuICAgIHJvdy1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1sZy0yIHtcbiAgICByb3ctZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1sZy0zIHtcbiAgICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbGctNCB7XG4gICAgcm93LWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbGctNSB7XG4gICAgcm93LWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLWxnLTAge1xuICAgIGNvbHVtbi1nYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1sZy0xIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbGctMiB7XG4gICAgY29sdW1uLWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbGctMyB7XG4gICAgY29sdW1uLWdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLWxnLTQge1xuICAgIGNvbHVtbi1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLWxnLTUge1xuICAgIGNvbHVtbi1nYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1sZy1zdGFydCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LWxnLWVuZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1sZy1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbG9hdC14bC1zdGFydCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQteGwtZW5kIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQteGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC14bC1jb250YWluIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteGwtY292ZXIge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteGwtZmlsbCB7XG4gICAgb2JqZWN0LWZpdDogZmlsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXhsLXNjYWxlIHtcbiAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteGwtbm9uZSB7XG4gICAgb2JqZWN0LWZpdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtaW5saW5lLWdyaWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14bC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14bC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14bC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteGwtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteGwtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXhsLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXhsLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtMCB7XG4gICAgb3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtMSB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtNCB7XG4gICAgb3JkZXI6IDQgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtbGFzdCB7XG4gICAgb3JkZXI6IDYgIWltcG9ydGFudDtcbiAgfVxuICAubS14bC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS14bC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14bC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXhsLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXhsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgteGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXkteGwtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXkteGwtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXkteGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXhsLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXhsLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14bC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14bC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWUteGwtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXhsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXhsLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14bC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14bC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucC14bC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteGwtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteGwtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteGwtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXhsLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteGwtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14bC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteGwtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14bC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXhsLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteGwtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteGwtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXhsLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXhsLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXhsLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14bC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMteGwtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMteGwtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXhsLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteGwtMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14bC0xIHtcbiAgICBnYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXhsLTIge1xuICAgIGdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14bC0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXhsLTQge1xuICAgIGdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14bC01IHtcbiAgICBnYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14bC0wIHtcbiAgICByb3ctZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteGwtMSB7XG4gICAgcm93LWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXhsLTIge1xuICAgIHJvdy1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXhsLTMge1xuICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14bC00IHtcbiAgICByb3ctZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14bC01IHtcbiAgICByb3ctZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteGwtMCB7XG4gICAgY29sdW1uLWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXhsLTEge1xuICAgIGNvbHVtbi1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14bC0yIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14bC0zIHtcbiAgICBjb2x1bW4tZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteGwtNCB7XG4gICAgY29sdW1uLWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteGwtNSB7XG4gICAgY29sdW1uLWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXhsLXN0YXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQteGwtZW5kIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXhsLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmZsb2F0LXh4bC1zdGFydCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQteHhsLWVuZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LXh4bC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXh4bC1jb250YWluIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteHhsLWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXh4bC1maWxsIHtcbiAgICBvYmplY3QtZml0OiBmaWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteHhsLXNjYWxlIHtcbiAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteHhsLW5vbmUge1xuICAgIG9iamVjdC1maXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtaW5saW5lLWdyaWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXh4bC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXh4bC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXh4bC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXh4bC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXh4bC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14eGwtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXh4bC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXh4bC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14eGwtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14eGwtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXh4bC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14eGwtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXh4bC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXh4bC1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXh4bC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXh4bC1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteHhsLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteHhsLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14eGwtYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14eGwtc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXh4bC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteHhsLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteHhsLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14eGwtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14eGwtYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteHhsLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLTAge1xuICAgIG9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXh4bC0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci14eGwtMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLTMge1xuICAgIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXh4bC00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci14eGwtNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLWxhc3Qge1xuICAgIG9yZGVyOiA2ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teHhsLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXh4bC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14eGwtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14eGwtMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teHhsLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teHhsLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXh4bC1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXgteHhsLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXh4bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14eGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXh4bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14eGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXh4bC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14eGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXkteHhsLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXh4bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14eGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXh4bC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14eGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXh4bC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14eGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXQteHhsLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXQteHhsLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteHhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14eGwtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14eGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXh4bC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXh4bC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXh4bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWUteHhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14eGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteHhsLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14eGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteHhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14eGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXh4bC0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXh4bC0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXh4bC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteHhsLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteHhsLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14eGwtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14eGwtYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14eGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXMteHhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXh4bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXh4bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14eGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14eGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteHhsLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteHhsLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucC14eGwtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXh4bC0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14eGwtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXh4bC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14eGwtNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14eGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14eGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14eGwtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteHhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteHhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXh4bC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXh4bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXh4bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXh4bC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14eGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14eGwtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteHhsLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteHhsLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXh4bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14eGwtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14eGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteHhsLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteHhsLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXh4bC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXh4bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXh4bC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteHhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteHhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14eGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14eGwtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGIteHhsLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXh4bC0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXh4bC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14eGwtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14eGwtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMteHhsLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14eGwtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXh4bC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14eGwtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXh4bC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14eGwtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14eGwtMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14eGwtMSB7XG4gICAgZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14eGwtMiB7XG4gICAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXh4bC0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXh4bC00IHtcbiAgICBnYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteHhsLTUge1xuICAgIGdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXh4bC0wIHtcbiAgICByb3ctZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteHhsLTEge1xuICAgIHJvdy1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14eGwtMiB7XG4gICAgcm93LWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteHhsLTMge1xuICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14eGwtNCB7XG4gICAgcm93LWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteHhsLTUge1xuICAgIHJvdy1nYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14eGwtMCB7XG4gICAgY29sdW1uLWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXh4bC0xIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteHhsLTIge1xuICAgIGNvbHVtbi1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXh4bC0zIHtcbiAgICBjb2x1bW4tZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteHhsLTQge1xuICAgIGNvbHVtbi1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXh4bC01IHtcbiAgICBjb2x1bW4tZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQteHhsLXN0YXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQteHhsLWVuZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC14eGwtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZnMtMSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZnMtMiB7XG4gICAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZzLTMge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5mcy00IHtcbiAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAuZC1wcmludC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWlubGluZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HRU5FUkFMIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBzdHlsZSB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkltYWdlIHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGltYWdlIGZpbGUgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TaG93IGNvbXBpbGUgd2FybmluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgU2FzcyB3YXJuaW5ncyB3aGVuIGZ1bmN0aW9ucyBhbmRcbm1peGlucyB1c2Ugbm9uLXN0YW5kYXJkIHRva2Vucy5cbkFORFxuU2hvdyB1cGRhdGVzIGFuZCBub3RpZmljYXRpb25zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5OYW1lc3BhY2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUHJlZml4IHNlcGFyYXRvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSBjaGFyYWN0ZXIgdGhlIHNlcGFyYXRlc1xucmVzcG9uc2l2ZSBhbmQgc3RhdGUgcHJlZml4ZXMgZnJvbSB0aGVcbm1haW4gY2xhc3MgbmFtZS5cblRoZSBkZWZhdWx0IChcIjpcIikgbmVlZHMgdG8gYmUgcHJlY2VkZWRcbmJ5IHR3byBiYWNrc2xhc2hlcyB0byBiZSBwcm9wZXJseVxuZXNjYXBlZC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3VsZCB0aGUgbGF5b3V0IGdyaWQgY2xhc3NlcyBvdXRwdXRcbndpdGggIWltcG9ydGFudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Cb3JkZXIgYm94IHNpemluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hlbiBzZXQgdG8gdHJ1ZSwgc2V0cyB0aGUgYm94LXNpemluZ1xucHJvcGVydHkgb2YgYWxsIHNpdGUgZWxlbWVudHMgdG9cbmBib3JkZXItYm94YC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9jdXMgc3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRZUE9HUkFQSFkgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHR5cG9ncmFwaHkgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy90eXBlc2V0dGluZy9vdmVydmlldy9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUm9vdCBmb250IHNpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldHRpbmcgJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgdG9cbnRydWUgc2V0cyB0aGUgcm9vdCBmb250IHNpemUgdG8gMTAwJSBhbmRcbnVzZXMgZW1zIGZvciBtZWRpYSBxdWVyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGhlbWUtcm9vdC1mb250LXNpemUgb25seSBhcHBsaWVzIHdoZW5cbiR0aGVtZS1yZXNwZWN0LXVzZXItZm9udC1zaXplIGlzIHNldCB0b1xuZmFsc2UuXG5cblRoaXMgd2lsbCBzZXQgdGhlIHJvb3QgZm9udCBzaXplXG5hcyBhIHNwZWNpZmljIHB4IHZhbHVlIGFuZCB1c2UgcHggdmFsdWVzXG5mb3IgbWVkaWEgcXVlcmllcy5cblxuQWNjZXB0cyB0cnVlIG9yIGZhbHNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdsb2JhbCBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZHMgYmFzaWMgc3R5bGluZyBmb3IgdGhlIGZvbGxvd2luZ1xudW5jbGFzc2VkIGVsZW1lbnRzOlxuXG4tIHBhcmFncmFwaDogcGFyYWdyYXBoIHRleHRcbi0gbGluazogbGlua3Ncbi0gY29udGVudDogcGFyYWdyYXBoIHRleHQsIGxpbmtzLFxuICBoZWFkaW5ncywgbGlzdHMsIGFuZCB0YWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQnJvc3dlciBjb21wYXRpYmlsaXR5IG1vZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldoZW4gdHJ1ZSwgb3V0cHV0cyB3b2ZmIGFuZCB0dGYgZm9udCBcbmZvcm1hdHMgaW4gYWRkaXRpb24gdG8gd29mZjJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWxhdGl2ZSBmb250IGZpbGUgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gdHlwZWZhY2UgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuZXcgY3VzdG9tIHR5cGVmYWNlIHRva2VuIGlmXG55b3VyIHByb2plY3QgdXNlcyBhIHR5cGVmYWNlIG5vdCBhbHJlYWR5XG5kZWZpbmVkIGJ5IFVTV0RTLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgZGVmaW5lcyB0aGUgZm9sbG93aW5nIHRva2Vuc1xuYnkgZGVmYXVsdDpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbidnZW9yZ2lhJ1xuJ2hlbHZldGljYSdcbidtZXJyaXdlYXRoZXInXG4nb3Blbi1zYW5zJ1xuJ3B1YmxpYy1zYW5zJ1xuJ3JvYm90by1tb25vJ1xuJ3NvdXJjZS1zYW5zLXBybydcbidzeXN0ZW0nXG4ndGFob21hJ1xuJ3ZlcmRhbmEnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYXMgbWFueSBuZXcgdG9rZW5zIGFzIHlvdSBoYXZlXG5jdXN0b20gdHlwZWZhY2VzLiBSZWZlcmVuY2UgeW91ciBuZXdcbnRva2VuKHMpIGluIHRoZSB0eXBlLWJhc2VkIGZvbnQgc2V0dGluZ3NcbnVzaW5nIHRoZSBxdW90ZWQgbmFtZSBvZiB0aGUgdG9rZW4uXG5cbkZvciBleGFtcGxlOlxuXG4kdGhlbWUtZm9udC10eXBlLWNvbmQ6ICdleGFtcGxlLWZvbnQtdG9rZW4nO1xuXG5kaXNwbGF5LW5hbWU6XG5UaGUgZGlzcGxheSBuYW1lIG9mIHlvdXIgZm9udFxuXG5jYXAtaGVpZ2h0OlxuVGhlIGhlaWdodCBvZiBhIDUwMHB4IGBOYCBpbiBTa2V0Y2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbllvdSBzaG91bGQgY2hhbmdlIGBleGFtcGxlLVtzdHlsZV0tdG9rZW5gXG5uYW1lcyB0byBzb21ldGhpbmcgbW9yZSBkZXNjcmlwdGl2ZS5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHlwZS1iYXNlZCBmb250IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIHR5cGUtYmFzZWQgdG9rZW5zIGZvciB5b3VyXG5wcm9qZWN0IGZyb20gdGhlIGZvbGxvd2luZyB0b2tlbnMsXG5vciBmcm9tIGFueSBuZXcgZm9udCB0b2tlbnMgeW91IGFkZGVkIGluXG4kdGhlbWUtdHlwZWZhY2UtdG9rZW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2dlb3JnaWEnXG4naGVsdmV0aWNhJ1xuJ21lcnJpd2VhdGhlcidcbidvcGVuLXNhbnMnXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuJ3N5c3RlbSdcbid0YWhvbWEnXG4ndmVyZGFuYSdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ3VzdG9tIGZvbnQgc3RhY2tzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgY3VzdG9tIGZvbnQgc3RhY2tzIHRvIGFueSBvZiB0aGVcbnR5cGUtYmFzZWQgZm9udHMuIEFueSBVU1dEUyB0eXBlZmFjZVxudG9rZW4gYWxyZWFkeSBoYXMgYSBkZWZhdWx0IHN0YWNrLlxuXG5DdXN0b20gc3RhY2tzIGRvbid0IG5lZWQgdG8gaW5jbHVkZSB0aGVcbmZvbnQncyBkaXNwbGF5IG5hbWUuIEl0IHdpbGxcbmF1dG9tYXRpY2FsbHkgYXBwZWFyIGF0IHRoZSBzdGFydCBvZlxudGhlIHN0YWNrLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRXhhbXBsZTpcbiR0aGVtZS1mb250LXR5cGUtc2FuczogJ3NvdXJjZS1zYW5zLXBybyc7XG4kdGhlbWUtZm9udC1zYW5zLWN1c3RvbS1zdGFjazogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zO1xuXG5PdXRwdXQ6XG5mb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zO1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYW55IGN1c3RvbSBmb250IHNvdXJjZSBmaWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSWYgeW91IHdhbnQgVVNXRFMgdG8gZ2VuZXJhdGUgYWRkaXRpb25hbFxuQGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMsIGFkZCB5b3VyIGZvbnRcbmRhdGEgYmVsb3csIGZvbGxvd2luZyB0aGUgZXhhbXBsZSB0aGF0XG5mb2xsb3dzLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgQGZvbnQtZmFjZVxuZGVjbGFyYXRpb25zIGZvciB0aGUgZm9sbG93aW5nXG5cbidtZXJyaXdlYXRoZXInXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuXG5UaGVzZSB0eXBlZmFjZXMgbm90IHJlcXVpcmUgY3VzdG9tXG5zb3VyY2UgZmlsZXMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FWEFNUExFXG5cbi0gZGlyOlxuICBEaXJlY3RvcnkgcmVsYXRpdmUgdG8gJHRoZW1lLWZvbnQtcGF0aFxuLSBUaGlzIGRpcmVjdG9yeSBzaG91bGQgaW5jbHVkZSBmb250cyBzYXZlZCBhc1xuICAud29mZjJcbiAgRXhhbXBsZVNlcmlmLU5vcm1hbC53b2ZmMlxuXG4kdGhlbWUtZm9udC1zZXJpZi1jdXN0b20tc3JjOiAoXG4gIGRpcjogJ2N1c3RvbS9leGFtcGxlLXNlcmlmJyxcbiAgcm9tYW46IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0JyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtTm9ybWFsJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGQnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbiAgaXRhbGljOiAoXG4gICAgMTAwOiBmYWxzZSxcbiAgICAyMDA6IGZhbHNlLFxuICAgIDMwMDogJ0V4YW1wbGVTZXJpZi1MaWdodEl0YWxpYycsXG4gICAgNDAwOiAnRXhhbXBsZVNlcmlmLUl0YWxpYycsXG4gICAgNTAwOiBmYWxzZSxcbiAgICA2MDA6IGZhbHNlLFxuICAgIDcwMDogJ0V4YW1wbGVTZXJpZi1Cb2xkSXRhbGljJyxcbiAgICA4MDA6IGZhbHNlLFxuICAgIDkwMDogZmFsc2UsXG4gICksXG4pO1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Sb2xlLWJhc2VkIGZvbnQgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgcm9sZS1iYXNlZCB0b2tlbnMgZm9yIHlvdXJcbnByb2plY3QgZnJvbSB0aGUgZm9sbG93aW5nIGZvbnQtdHlwZVxudG9rZW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2NvbmQnXG4naWNvbidcbidsYW5nJ1xuJ21vbm8nXG4nc2FucydcbidzZXJpZidcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHlwZSBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVmaW5lIHlvdXIgcHJvamVjdCdzIHR5cGUgc2NhbGUgdXNpbmdcbnZhbHVlcyBmcm9tIHRoZSBVU1dEUyBzeXN0ZW0gdHlwZSBzY2FsZVxuXG4xLTIwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkZvbnQgd2VpZ2h0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQXNzaWduIHdlaWdodHMgMTAwLTkwMFxuT3IgdXNlIGBmYWxzZWAgZm9yIHVubmVlZGVkIHdlaWdodHMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgdHlwb2dyYXBoeSBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHlwZSBzY2FsZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1pY3JvOiAgICAgIDEwcHhcbjE6ICAgICAgICAgIDEycHhcbjI6ICAgICAgICAgIDEzcHhcbjM6ICAgICAgICAgIDE0cHhcbjQ6ICAgICAgICAgIDE1cHhcbjU6ICAgICAgICAgIDE2cHhcbjY6ICAgICAgICAgIDE3cHhcbjc6ICAgICAgICAgIDE4cHhcbjg6ICAgICAgICAgIDIwcHhcbjk6ICAgICAgICAgIDIycHhcbjEwOiAgICAgICAgIDI0cHhcbjExOiAgICAgICAgIDI4cHhcbjEyOiAgICAgICAgIDMycHhcbjEzOiAgICAgICAgIDM2cHhcbjE0OiAgICAgICAgIDQwcHhcbjE1OiAgICAgICAgIDQ4cHhcbjE2OiAgICAgICAgIDU2cHhcbjE3OiAgICAgICAgIDY0cHhcbjE4OiAgICAgICAgIDgwcHhcbjE5OiAgICAgICAgIDEyMHB4XG4yMDogICAgICAgICAxNDBweFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTGluZSBoZWlnaHQgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xOiAgICAxXG4yOiAgICAxLjE1XG4zOiAgICAxLjM1XG40OiAgICAxLjVcbjU6ICAgIDEuNjJcbjY6ICAgIDEuNzVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkZvbnQgcm9sZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbid1aSdcbidoZWFkaW5nJ1xuJ2JvZHknXG4nY29kZSdcbidhbHQnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5NZWFzdXJlIChtYXgtd2lkdGgpIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMTogICAgICAgNDRleFxuMjogICAgICAgNjBleFxuMzogICAgICAgNjRleFxuNDogICAgICAgNjhleFxuNTogICAgICAgNzRleFxuNjogICAgICAgODhleFxubm9uZTogICAgbm9uZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DT0xPUiBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgY29sb3IgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy9jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGVtZSBwYWxldHRlIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TdGF0ZSBwYWxldHRlIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZW5lcmFsIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DT01QT05FTlQgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU1BBQ0lORyBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3BhY2luZyB1bml0cyB0b2tlbnMgaW4gdGhlXG5kb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy9zcGFjaW5nLXVuaXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJvcmRlciByYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjJweCAgICAgICAgICAgMnB4XG4wLjUgICAgICAgICAgIDRweFxuMSAgICAgICAgICAgICA4cHhcbjEuNSAgICAgICAgICAgMTJweFxuMiAgICAgICAgICAgICAxNnB4XG4yLjUgICAgICAgICAgIDIwcHhcbjMgICAgICAgICAgICAgMjRweFxuNCAgICAgICAgICAgICAzMnB4XG41ICAgICAgICAgICAgIDQwcHhcbjYgICAgICAgICAgICAgNDhweFxuNyAgICAgICAgICAgICA1NnB4XG44ICAgICAgICAgICAgIDY0cHhcbjkgICAgICAgICAgICAgNzJweFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2x1bW4gZ2FwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ycHggICAgICAgICAycHhcbjAuNSAgICAgICAgIDRweFxuMSAgICAgICAgICAgOHB4XG4yICAgICAgICAgICAxNnB4XG4zICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAzMnB4XG41ICAgICAgICAgICA0MHB4XG42ICAgICAgICAgICA0OHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdyaWQgY29udGFpbmVyIG1heC13aWR0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubW9iaWxlXG5tb2JpbGUtbGdcbnRhYmxldFxudGFibGV0LWxnXG5kZXNrdG9wXG5kZXNrdG9wLWxnXG53aWRlc2NyZWVuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVRJTElUSUVTIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyB1dGlsaXRpZXMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi91dGlsaXRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVXRpbGl0eSBicmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hpY2ggYnJlYWtwb2ludHMgZG9lcyB5b3VyIHByb2plY3Rcbm5lZWQ/IFNlbGVjdCBhcyBgdHJ1ZWAgYW55IGJyZWFrcG9pbnRcbnVzZWQgYnkgdXRpbGl0aWVzIG9yIGxheW91dCBncmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdsb2JhbCBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZSBmb2xsb3dpbmcgcGFsZXR0ZXMgd2lsbCBiZSBhZGRlZCB0b1xuLSBiYWNrZ3JvdW5kLWNvbG9yXG4tIGJvcmRlci1jb2xvclxuLSBjb2xvclxuLSB0ZXh0LWRlY29yYXRpb24tY29sb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYXBwZW5kLWltcG9ydGFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BcHBlbmQgYCFpbXBvcnRhbnRgIHRvIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtbGFzdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gdGhlIGxhc3QgaXRlbSBvZiBhIGxpc3QsXG5SZXR1cm4gbnVsbCBpZiB0aGUgdmFsdWUgaXMgbnVsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5kZS1saXN0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRyYW5zZm9ybSBhIG9uZS1lbGVtZW50IGxpc3Qgb3IgYXJnbGlzdFxuaW50byB0aGF0IHNpbmdsZSBlbGVtZW50LlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKDEpID0+IDFcbigoMSkpID0+ICgxKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5lcnJvci1ub3QtdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyBhIGNvbW1vbiBub3QtYS10b2tlbiBlcnJvci5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXN3ZHMtZXJyb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWxsb3cgdGhlIHN5c3RlbSB0byBwYXNzIGFuIGVycm9yIGFzIHRleHRcbnRvIHRlc3QgZXJyb3Igc3RhdGVzIGluIHVuaXQgdGVzdGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtZGVmYXVsdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBkZWZhdWx0IHZhbHVlIGZyb20gYSBtYXBcbm9mIHByb2plY3QgZGVmYXVsdHNcbmdldC1kZWZhdWx0KFwiYmctY29sb3JcIilcbj4gJHRoZW1lLWJvZHktYmFja2dyb3VuZC1jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5oYXMtaW1wb3J0YW50KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNoZWNrIHRvIHNlZSBpZiBgIWltcG9ydGFudGAgaXNcbmJlaW5nIHBhc3NlZCBpbiBhIG1peGluJ3MgcHJvcHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWFwLWNvbGxlY3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29sbGVjdCBtdWx0aXBsZSBtYXBzIGludG8gYSBzaW5nbGVcbmxhcmdlIG1hcFxuc291cmNlOiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9iaWdnbGVzcm9ja3MvZDc1MDkxNzAwZjhmMmJlNWFiZmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWFwLWRlZXAtZ2V0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBhdXRob3IgSHVnbyBHaXJhdWRlbFxuQGFjY2VzcyBwdWJsaWNcbkBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwXG5AcGFyYW0ge0FyZ2xpc3R9ICRrZXlzIC0gS2V5IGNoYWluXG5AcmV0dXJuIHsqfSAtIERlc2lyZWQgdmFsdWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubXVsdGktY2F0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbmNhdGVuYXRlIHR3byBsaXN0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5yZW1vdmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVtb3ZlIGEgdmFsdWUgZnJvbSBhIGxpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc21hcnQtcXVvdGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUXVvdGVzIHN0cmluZ3Ncbkluc3BlY3RzIGBweGAsIGB4c2AsIGFuZCBgeGxgIG51bWJlcnNcbkxlYXZlcyBib29scyBhcyBpc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHItcmVwbGFjZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXBsYWNlIGFueSBzdWJzdHJpbmcgd2l0aCBhbm90aGVyXG5zdHJpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyLXNwbGl0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNwbGl0IGEgc3RyaW5nIGF0IGEgZ2l2ZW4gc2VwYXJhdG9yXG5hbmQgY29udmVydCBpbnRvIGEgbGlzdCBvZiBzdWJzdHJpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0cmlwLXVuaXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG5AYXV0aG9yIEh1Z28gR2lyYXVkZWxcbkBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbkByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYmFzZS10by1tYXAoKVxuQFRPRE86IERlcHJlY2F0ZSBhbmQgZGVsZXRlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0IGEgc2luZ2xlIGJhc2UgdG8gYSBVU1dEU1xudmFsdWUgbWFwLlxuXG5DYW5kaWRhdGUgZm9yIGRlcHJlY2F0aW9uIGlmIHdlIHJlbW92ZVxuaXNSZWFkYWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50by1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuQHJldHVybiB7TnVtYmVyfVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG51bnBhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ3JlYXRlIGxpc3RzIG9mIHNpbmdsZSBpdGVtcyBmcm9tIGxpc3RzXG5vZiBsaXN0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbigxLCAoMi4xLCAyLjIpLCAzKSAtLT5cbigxLCAyLjEsIDIuMiwgMylcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3Igc2hvcnRjb2RlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc2V0LXRoZW1lLWNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBzeXN0ZW0gY29sb3IgdG9rZW5cbm9yIGEgaGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnB4LXRvLXJlbSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHZhbHVlIGluIHB4IHRvIGEgdmFsdWUgaW4gcmVtXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbS10by1weCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHZhbHVlIGluIHJlbSB0byBhIHZhbHVlIGluIHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbS10by11c2VyLWVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW5cblt1c2VyLXNldHRpbmdzXSBlbSBmb3IgdXNlIGluIG1lZGlhXG5xdWVyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNwYWNpbmctbXVsdGlwbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBzcGFjaW5nIHVuaXQgbXVsdGlwbGUgaW50b1xudGhlIGRlc2lyZWQgZmluYWwgdW5pdHMgKGN1cnJlbnRseSByZW0pXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVuaXRzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgc3BhY2luZyB1bml0IGludG9cbnRoZSBkZXNpcmVkIGZpbmFsIHVuaXRzIChjdXJyZW50bHkgcmVtKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5udW1iZXItdG8tdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYW4gaW50ZWdlciBvciBudW1lcmljIHZhbHVlXG5pbnRvIGEgc3lzdGVtIHZhbHVlXG5cbkV4OiAwLjUgICAtLT4gJzA1J1xuICAgIC0xcHggIC0tPiAnbmVnLTFweCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUHJvamVjdCBmb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29sbGVjdHMgZm9udCBzZXR0aW5ncyBpbiBhIG1hcCBmb3Jcbmxvb3BpbmcuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkx1bWluYW5jZSByYW5nZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWRkIGEgbmFtZXNzcGFjZSBvZiAkdHlwZSBpZiB0aGF0XG5uYW1lc3BhY2UgaXMgc2V0IHRvIG91dHB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtc3lzdGVtLWNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIHN5c3RlbSBjb2xvciBmcm9tIGl0c1xuZmFtaWx5LCB2YWx1ZSwgYW5kIHZpdmlkIG9yIGEgcGFzc2VkXG52YXJpYWJsZSB0aGF0IGlzLCBpdHNlbGYsIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MaW5lIGhlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5NZWFzdXJlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNhcC1oZWlnaHQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHRoZSBjYXAgaGVpZ2h0IG9mIGEgdmFsaWQgdHlwZWZhY2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFsaWRhdGUtdHlwZWZhY2UtdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGEgdHlwZWZhY2UtdG9rZW4gZXhpc3RzLlxuVGhyb3cgYW4gZXJyb3IgaWYgYSBwYXNzZWQgdG9rZW4gZG9lc1xubm90IGV4aXN0IGluIHRoZSB0eXBlZmFjZS10b2tlbiBtYXAuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbnZlcnQtdG8tZm9udC10eXBlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgZm9udC1yb2xlIHRva2VuIGludG8gYVxuZm9udC10eXBlIHRva2VuLiBMZWF2ZXMgZm9udC10eXBlIHRva2Vuc1xudW5jaGFuZ2VkLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXNvdXJjZXMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuT3V0cHV0cyBhIGxpc3Qgb2YgZm9udCBzb3VyY2VzIHVzZWQgaW5cbmEgQGZvbnQtZmFjZSBkZWNsYXJhdGlvbi5cblxuJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5OiB0cnVlIC0gb3V0cHV0IHdvZmYyLCB3b2ZmLCB0dGZcbiR0aGVtZS1mb250LWJyb3dzZXItY29tcGF0aWJpbGl0eTogZmFsc2UgLSBvdXRwdXQgd29mZjJcblxuQHBhcmFtIHN0ZW06IHN0cmluZyAtIFtmb250IHBhdGhdL1tjdXN0b20tc3JjLmRpcl0vW2N1c3RvbS1zcmMuW3N0eWxlXS5bd2VpZ2h0XV1cbkBvdXRwdXQ6IHN0cmluZ1xuXG5maWxldHlwZXMgbXVzdCBiZSBvbmUgb2YgdGhlIGZpbGV0eXBlcyBzZXQgaW4gdmFyaWFibGVzLyRwcm9qZWN0LWZvbnQtZmFjZS1maWxldHlwZXMgKHdvZmYsIHdvZmYyLCB0dGYpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1mb250LXN0YWNrKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQgc3RhY2sgZnJvbSBhIHN0eWxlLSBvclxucm9sZS1iYXNlZCBmb250IHRva2VuLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdHlwZWZhY2UtdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdHlwZWZhY2UgdG9rZW4gZnJvbSBhIGZvbnQtdHlwZSBvclxuZm9udC1yb2xlIHRva2VuLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ub3JtYWxpemUtdHlwZS1zY2FsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ob3JtYWxpemVzIGEgc3BlY2lmaWMgZmFjZSdzIG9wdGljYWwgc2l6ZVxudG8gYSBzZXQgdGFyZ2V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN5c3RlbS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIHZhbHVlIGZyb20gdGhlIHN5c3RlbSB0eXBlIHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVhc2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qICBkZXByZWNhdGVkLnNjc3NcbiAgICAtLS1cbiAgICBPY2Nhc2lvbmFsbHkgdGhlIGRlc2lnbiBzeXN0ZW0gd2lsbCBkZXByZWNhdGVcbiAgICBvbGQgdmFyaWFibGVzIG9yIGZ1bmN0aW9uYWxpdHkuIElmIHdlIHJlcGxhY2VcbiAgICB0aGUgb2xkIGZ1bmN0aW9uYWxpdHkgd2l0aCBzb21ldGhpbmcgbmV3LCB0aGlzIGlzIGFcbiAgICBwbGFjZSB0byBjb25uZWN0IHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB0byB0aGVcbiAgICBuZXcgZnVuY3Rpb25hbGl0eSwgaW4gdGhlIHNlcnZpY2Ugb2YgYmV0dGVyXG4gICAgY29udGludWl0eSBhbmQgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aGluIGFcbiAgICBtYWpvciByZWxlYXNlIGN5Y2xlLlxuXG4gICAgTm90ZSB0aGUgVVNXRFMgdmVyc2lvbiB3aGVyZSB3ZSBkZXByZWNhdGVkIHRoZVxuICAgIG9sZCBmdW5jdGlvbmFsaXR5IGluIGEgY29tbWVudC5cblxuICAgIEJlIHN1cmUgdG8gdXBkYXRlIG5vdGlmaWNhdGlvbnMuc2Nzcy5cblxuICAgIFRoaXMgZmlsZSBzaG91bGQgc3RhcnRlZCBmcmVzaCBhdCBlYWNoXG4gICAgbWFqb3IgdmVyc2lvbi5cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYWR2YW5jZWQtY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHRyaXBsZXQ6XG5bZmFtaWx5XSwgW2dyYWRlXSwgW3ZhcmlhbnRdXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNhbGN1bGF0ZS1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgdGhlIGdyYWRlIGVxdWl2YWxlbnQgYW55IGNvbG9yLFxuZXZlbiBub24tdG9rZW4gY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWFzc2lnbm1lbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHRoZSBzeXN0ZW0gdG9rZW4gZXF1aXZhbGVudCBvZiBhbnlcbnRoZW1lIGNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXN5c3RlbS1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gd2hldGhlciBhIHRva2VuIGlzIGEgc3lzdGVtXG5jb2xvciB0b2tlblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy10aGVtZS1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gd2hldGhlciBhIHRva2VuIGlzIGEgdGhlbWVcbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBmYW1pbHkgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWZhbWlseVxuY29sb3ItdG9rZW4tZmFtaWx5KFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJhY2NlbnQtd2FybVwiXG5jb2xvci10b2tlbi1mYW1pbHkoXCJyZWQtNTB2XCIpXG4+IFwicmVkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiBcInJlZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlY29tcG9zZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0IGEgY29sb3IgdG9rZW4gaW50byBpbnRvIGEgbGlzdFxub2YgZm9ybSBbZmFtaWx5XSwgW2dyYWRlXSwgW3ZhcmlhbnRdXG5WaXZpZCB2YXJpYW50cyByZXR1cm4gXCJ2aXZpZFwiIGFzIHRoZVxudmFyaWFudC5cbklmIG5laXRoZXIgZ3JhZGUgbm9yIHZhcmlhbnQgZXhpc3RzLFxucmV0dXJucyAnbnVsbCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGZhbWlseSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZmFtaWx5XG5jb2xvci10b2tlbi1mYW1pbHkoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcImFjY2VudC13YXJtXCJcbmNvbG9yLXRva2VuLWZhbWlseShcInJlZC01MHZcIilcbj4gXCJyZWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwicmVkXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZ3JhZGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZ3JhZGUgb2YgYSBVU1dEUyBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWdyYWRlXG5jb2xvci10b2tlbi1ncmFkZShcImFjY2VudC13YXJtXCIpXG4+IFwicm9vdFwiXG5jb2xvci10b2tlbi1ncmFkZShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwicm9vdFwiXG5jb2xvci10b2tlbi1ncmFkZShcImFjY2VudC13YXJtLWRhcmtlclwiKVxuPiBcImRhcmtlclwiXG5jb2xvci10b2tlbi1ncmFkZShcInJlZC01MHZcIilcbj4gNTBcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiA1MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHdoZXRoZXIgYSBnaXZlbiBzdHJpbmcgaXMgYVxuVVNXRFMgY29sb3IgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnBvdygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SYWlzZXMgYSB1bml0bGVzcyBudW1iZXIgdG8gdGhlIHBvd2VyXG5vZiBhbm90aGVyIHVuaXRsZXNzIG51bWJlclxuSW5jbHVkZXMgaGVscGVyIGZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5IZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogZmFjdG9yaWFsKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBzdW1tYXRpb24oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIGV4cC1tYWNsYXVyaW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIGxuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdHlwZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB0eXBlIG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBcInN5c3RlbVwiIHwgXCJ0aGVtZVwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLXZhcmlhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgdmFyaWFudCBvZiBjb2xvciB0b2tlbi5cblJldHVybnM6IFwidml2aWRcIiB8IGZhbHNlXG5jb2xvci10b2tlbi12YXJpYW50KFwiYWNjZW50LXdhcm1cIilcbj4gZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcInZpdmlkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJyZWQtNTB2XCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwidml2aWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIHR3byBjb2xvclxuZ3JhZGVzLiBUYWtlcyBudW1iZXJzIG9yIGNvbG9yIHRva2Vucy5cbm1hZ2ljLW51bWJlcig1MCwgMTApXG5yZXR1cm46IDQwXG5tYWdpYy1udW1iZXIoXCJyZWQtNTBcIiwgXCJyZWQtMTBcIilcbnJldHVybjogNDBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB3aGV0aGVyIHR3byBncmFkZXMgYWNoaWV2ZVxuc3BlY2lmaWVkIHRhcmdldCBjb2xvciBjb250cmFzdFxuUmV0dXJuczogdHJ1ZSB8IGZhbHNlXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigxMCwgNTAsIFwiQUFcIilcbj4gZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA2MCwgXCJBQVwiKVxuPiB0cnVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbndjYWctbWFnaWMtbnVtYmVyKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIG1hZ2ljIG51bWJlciBvZiBhIHNwZWNpZmljXG53Y2FnIGdyYWRlOlxuXCJBQVwiXG5cIkFBLUxhcmdlXCJcblwiQUFBXCJcbndjYWctbWFnaWMtbnVtYmVyKFwiQUFcIilcbj4gNTBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGFjY2Vzc2libGUgbGluayBjb2xvcnMgZm9yIGEgZ2l2ZW5cbmJhY2tncm91bmQgY29sb3JcbnJldHVybnM6IGxpbmstdG9rZW4sIGhvdmVyLXRva2VuXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC02MFwiLFxuICBcInJlZC0xMFwiLFxuICBcIkFBXCIpXG4+IFwicmVkLTEwXCIsIFwicmVkLTVcIlxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gIFwiYmxhY2tcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwicmVkLTEwdlwiLFxuICBcIkFBLWxhcmdlXCIpXG4+IFwicmVkLTYwdlwiLCBcInJlZC01MHZcIlxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gIFwiYmxhY2tcIixcbiAgXCJyZWQtNXZcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwiQUFcIilcbj4gXCJyZWQtNXZcIiwgXCJ3aGl0ZVwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcIndoaXRlXCIsXG4gIFwicmVkLTYwdlwiLFxuICBcIkFBXCIpXG4+IFwid2hpdGVcIiwgXCJ3aGl0ZVwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5leHQtdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyBuZXh0IFwiZGFya2VyXCIgb3IgXCJsaWdodGVyXCIgY29sb3JcbnRva2VuIG9mIHRoZSBzYW1lIHRva2VuIHR5cGUgYW5kIHZhcmlhbnQuXG5SZXR1cm5zOiBjb2xvci10b2tlbiB8IGZhbHNlXG5uZXh0LXRva2VuKFwiYWNjZW50LXdhcm1cIiwgXCJsaWdodGVyXCIpXG4+IFwiYWNjZW50LXdhcm0tbGlnaHRcIlxubmV4dC10b2tlbihcImdyYXktMTBcIiwgXCJsaWdodGVyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJncmF5LTVcIiwgXCJsaWdodGVyXCIpXG4+IFwid2hpdGVcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwibGlnaHRlclwiKVxuPiBmYWxzZVxubmV4dC10b2tlbihcInJlZC01MHZcIiwgXCJkYXJrZXJcIilcbj4gXCJyZWQtNjB2XCJcbm5leHQtdG9rZW4oXCJyZWQtNTBcIiwgXCJkYXJrZXJcIilcbj4gXCJyZWQtNjBcIlxubmV4dC10b2tlbihcInJlZC04MHZcIiwgXCJkYXJrZXJcIilcbj4gXCJyZWQtOTBcIlxubmV4dC10b2tlbihcInJlZC05MFwiLCBcImRhcmtlclwiKVxuPiBcImJsYWNrXCJcbm5leHQtdG9rZW4oXCJ3aGl0ZVwiLCBcImRhcmtlclwiKVxuPiBcImdyYXktNVwiXG5uZXh0LXRva2VuKFwiYmxhY2tcIiwgXCJsaWdodGVyXCIpXG4+IFwiZ3JheS05MFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QtY29sb3JzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNoZWNrIHRvIHNlZSBpZiBhbGwgc3lzdGVtIGNvbG9yc1xuZmFsbCBiZXR3ZWVuIHRoZSBwcm9wZXIgcmVsYXRpdmVcbmx1bWluYW5jZSByYW5nZSBmb3IgdGhlaXIgZ3JhZGUuXG5IYXMgYSBjb3VwbGUgcXVpcmtzLCBhcyB0aGUgbHVtaW5hbmNlKClcbmZ1bmN0aW9uIHJldHVybnMgc2xpZ2h0bHkgZGlmZmVyZW50XG5yZXN1bHRzIHRoYW4gZXhwZWN0ZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbHVtbnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3V0cHV0cyBhIGdyaWQtY29sIG51bWJlciBiYXNlZCBvblxudGhlIG51bWJlciBvZiBkZXNpcmVkIGNvbHVtbnMgaW4gdGhlXG4xMi1jb2x1bW4gZ3JpZFxuXG5FeDogY29sdW1ucygyKSAtLT4gNlxuICAgIGdyaWQtY29sKGNvbHVtbnMoMikpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblVTV0RTIFByb3BlcnRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LXVzd2RzLXZhbHVlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkZpbmRzIGFuZCBvdXRwdXRzIGEgdmFsdWUgZnJvbSB0aGVcblVTV0RTIHN0YW5kYXJkIHZhbHVlcy5cblxuVXNlZCB0byBidWlsZCBvdGhlciBzdGFuZGFyZCB1dGlsaXR5XG5mdW5jdGlvbnMgYW5kIG1peGlucy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LXN0YW5kYXJkLXZhbHVlcygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXRzIGEgbWFwIG9mIFVTV0RTIHN0YW5kYXJkIHZhbHVlc1xuZm9yIGEgcHJvcGVydHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYm9yZGVyLXJhZGl1cygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBib3JkZXItcmFkaXVzIGZyb20gdGhlIHN5c3RlbVxuYm9yZGVyLXJhZGlpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtd2VpZ2h0KClcbmZ3KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtd2VpZ2h0IHZhbHVlIGZyb20gdGhlXG5zeXN0ZW0gZm9udC13ZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmVhdHVyZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXRzIGEgdmFsaWQgVVNXRFMgZm9udCBmZWF0dXJlIHNldHRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmxleCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXRzIGEgdmFsaWQgVVNXRFMgZmxleCB2YWx1ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LWZhbWlseSgpXG5mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC1mYW1pbHkgc3RhY2sgZnJvbSBhXG5yb2xlLWJhc2VkIG9yIHR5cGUtYmFzZWQgZm9udCBmYW1pbHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubGV0dGVyLXNwYWNpbmcoKVxubHMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgbGV0dGVyLXNwYWNpbmcgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBsZXR0ZXItc3BhY2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tZWFzdXJlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyByZWFkaW5nIGxpbmUgbGVuZ3RoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm9wYWNpdHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGFuIG9wYWNpdHkgZnJvbSB0aGUgc3lzdGVtXG5vcGFjaXRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3JkZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGFuIG9yZGVyIHZhbHVlIGZyb20gdGhlXG5zeXN0ZW0gb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJhZGl1cygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBib3JkZXItcmFkaXVzIHZhbHVlIGZyb20gdGhlXG5zeXN0ZW0gbGV0dGVyLXNwYWNpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC1zaXplKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCB0eXBlIHNjYWxlIHZhbHVlIGZyb20gYSBbZmFtaWx5XSBhbmRcbltzY2FsZV1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuei1pbmRleCgpXG56KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIHotaW5kZXggdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSB6LWluZGV4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnV0aWxpdHktZm9udCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBub3JtYWxpemVkIGZvbnQtc2l6ZSBpbiByZW0gZnJvbVxuYSBmYW1pbHkgYW5kIGEgdHlwZSBzaXplIGluIGVpdGhlclxuc3lzdGVtIHNjYWxlIG9yIHByb2plY3Qgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vdCB0aGUgcHVibGljLWZhY2luZyBmdW5jdGlvbi5cblVzZWQgZm9yIGJ1aWxkaW5nIHRoZSB1dGlsaXRpZXMgYW5kXG53aXRoaG9sZHMgY2VydGFpbiBlcnJvcnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFja1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zaXplKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrXG5BTkRcbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50eXBlc2V0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldHM6XG4tIGZhbWlseVxuLSBzaXplXG4tIGxpbmUtaGVpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGggKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXBzZXVkb2NsYXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5CdWlsZCBhIHBzZXVjb2NsYXNzIHV0aWxpeSBmcm9tIHZhbHVlc1xuY2FsY3VsYXRlZCBpbiB0aGUgQHJlbmRlci11dGlsaXRpZXMtaW5cbmxvb3Bcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHJlbmRlci11dGlsaXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5CdWlsZCBhIHV0aWxpdHkgZnJvbSB2YWx1ZXMgY2FsY3VsYXRlZFxuaW4gdGhlIEByZW5kZXItdXRpbGl0aWVzLWluIGxvb3Bcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRPRE86IERldGVybWluZSB0aGUgcHJvcGVyIHVzZSBvZlxudW5xdW90ZSgpIGluIHRoZSBmb2xsb3dpbmcuIENoYW5nZWQgdG9cbmFjY291bnQgZm9yIGEgJ2ludGVycG9sYXRpb24gbmVhclxub3BlcmF0b3JzIHdpbGwgYmUgc2ltcGxpZmllZCBpbiBhXG5mdXR1cmUgdmVyc2lvbiBvZiBTYXNzJyB3YXJuaW5nLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXV0aWxpdGllcy1pblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVGhlIG1hc3RlciBsb29wIHRoYXQgc2V0cyB0aGUgYnVpbGRpbmdcbmJsb2NrcyBvZiB1dGlsaXRpZXMgZnJvbSB0aGUgdmFsdWVzXG5pbiBpbmRpdmlkdWFsIHJ1bGUgc2V0dGluZ3MgYW5kIGxvb3BzXG50aHJvdWdoIGFsbCBwb3NzaWJsZSB2YXJpYW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qICBub3RpZmljYXRpb25zLnNjc3NcbiAgICAtLS1cbiAgICBBZGRzIGEgbm90aWZpY2F0aW9uIGF0IHRoZSB0b3Agb2YgZWFjaCBVU1dEU1xuICAgIGNvbXBpbGUuIFVzZSB0aGlzIGZpbGUgZm9yIGltcG9ydGFudCBub3RpZmljYXRpb25zXG4gICAgYW5kIHVwZGF0ZXMgdG8gdGhlIGRlc2lnbiBzeXN0ZW0uXG5cbiAgICBUaGlzIGZpbGUgc2hvdWxkIHN0YXJ0ZWQgZnJlc2ggYXQgZWFjaFxuICAgIG1ham9yIHZlcnNpb24uXG5cbiovXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkVSQUwgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSW1hZ2UgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVsYXRpdmUgaW1hZ2UgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgY29tcGlsZSB3YXJuaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdyBTYXNzIHdhcm5pbmdzIHdoZW4gZnVuY3Rpb25zIGFuZFxubWl4aW5zIHVzZSBub24tc3RhbmRhcmQgdG9rZW5zLlxuQU5EXG5TaG93IHVwZGF0ZXMgYW5kIG5vdGlmaWNhdGlvbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5hbWVzcGFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5QcmVmaXggc2VwYXJhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIGNoYXJhY3RlciB0aGUgc2VwYXJhdGVzXG5yZXNwb25zaXZlIGFuZCBzdGF0ZSBwcmVmaXhlcyBmcm9tIHRoZVxubWFpbiBjbGFzcyBuYW1lLlxuVGhlIGRlZmF1bHQgKFwiOlwiKSBuZWVkcyB0byBiZSBwcmVjZWRlZFxuYnkgdHdvIGJhY2tzbGFzaGVzIHRvIGJlIHByb3Blcmx5XG5lc2NhcGVkLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MYXlvdXQgZ3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdWxkIHRoZSBsYXlvdXQgZ3JpZCBjbGFzc2VzIG91dHB1dFxud2l0aCAhaW1wb3J0YW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJvcmRlciBib3ggc2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGVuIHNldCB0byB0cnVlLCBzZXRzIHRoZSBib3gtc2l6aW5nXG5wcm9wZXJ0eSBvZiBhbGwgc2l0ZSBlbGVtZW50cyB0b1xuYGJvcmRlci1ib3hgLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb2N1cyBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVFlQT0dSQVBIWSBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgdHlwb2dyYXBoeSB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3R5cGVzZXR0aW5nL292ZXJ2aWV3L1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Sb290IGZvbnQgc2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSB0b1xudHJ1ZSBzZXRzIHRoZSByb290IGZvbnQgc2l6ZSB0byAxMDAlIGFuZFxudXNlcyBlbXMgZm9yIG1lZGlhIHF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aGVtZS1yb290LWZvbnQtc2l6ZSBvbmx5IGFwcGxpZXMgd2hlblxuJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgaXMgc2V0IHRvXG5mYWxzZS5cblxuVGhpcyB3aWxsIHNldCB0aGUgcm9vdCBmb250IHNpemVcbmFzIGEgc3BlY2lmaWMgcHggdmFsdWUgYW5kIHVzZSBweCB2YWx1ZXNcbmZvciBtZWRpYSBxdWVyaWVzLlxuXG5BY2NlcHRzIHRydWUgb3IgZmFsc2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWRkcyBiYXNpYyBzdHlsaW5nIGZvciB0aGUgZm9sbG93aW5nXG51bmNsYXNzZWQgZWxlbWVudHM6XG5cbi0gcGFyYWdyYXBoOiBwYXJhZ3JhcGggdGV4dFxuLSBsaW5rOiBsaW5rc1xuLSBjb250ZW50OiBwYXJhZ3JhcGggdGV4dCwgbGlua3MsXG4gIGhlYWRpbmdzLCBsaXN0cywgYW5kIHRhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ccm9zd2VyIGNvbXBhdGliaWxpdHkgbW9kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hlbiB0cnVlLCBvdXRwdXRzIHdvZmYgYW5kIHR0ZiBmb250IFxuZm9ybWF0cyBpbiBhZGRpdGlvbiB0byB3b2ZmMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGZvbnQgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkN1c3RvbSB0eXBlZmFjZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhIG5ldyBjdXN0b20gdHlwZWZhY2UgdG9rZW4gaWZcbnlvdXIgcHJvamVjdCB1c2VzIGEgdHlwZWZhY2Ugbm90IGFscmVhZHlcbmRlZmluZWQgYnkgVVNXRFMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgdG9rZW5zXG5ieSBkZWZhdWx0OlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2dlb3JnaWEnXG4naGVsdmV0aWNhJ1xuJ21lcnJpd2VhdGhlcidcbidvcGVuLXNhbnMnXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuJ3N5c3RlbSdcbid0YWhvbWEnXG4ndmVyZGFuYSdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhcyBtYW55IG5ldyB0b2tlbnMgYXMgeW91IGhhdmVcbmN1c3RvbSB0eXBlZmFjZXMuIFJlZmVyZW5jZSB5b3VyIG5ld1xudG9rZW4ocykgaW4gdGhlIHR5cGUtYmFzZWQgZm9udCBzZXR0aW5nc1xudXNpbmcgdGhlIHF1b3RlZCBuYW1lIG9mIHRoZSB0b2tlbi5cblxuRm9yIGV4YW1wbGU6XG5cbiR0aGVtZS1mb250LXR5cGUtY29uZDogJ2V4YW1wbGUtZm9udC10b2tlbic7XG5cbmRpc3BsYXktbmFtZTpcblRoZSBkaXNwbGF5IG5hbWUgb2YgeW91ciBmb250XG5cbmNhcC1oZWlnaHQ6XG5UaGUgaGVpZ2h0IG9mIGEgNTAwcHggYE5gIGluIFNrZXRjaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWW91IHNob3VsZCBjaGFuZ2UgYGV4YW1wbGUtW3N0eWxlXS10b2tlbmBcbm5hbWVzIHRvIHNvbWV0aGluZyBtb3JlIGRlc2NyaXB0aXZlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlLWJhc2VkIGZvbnQgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgdHlwZS1iYXNlZCB0b2tlbnMgZm9yIHlvdXJcbnByb2plY3QgZnJvbSB0aGUgZm9sbG93aW5nIHRva2Vucyxcbm9yIGZyb20gYW55IG5ldyBmb250IHRva2VucyB5b3UgYWRkZWQgaW5cbiR0aGVtZS10eXBlZmFjZS10b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nZ2VvcmdpYSdcbidoZWx2ZXRpY2EnXG4nbWVycml3ZWF0aGVyJ1xuJ29wZW4tc2FucydcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG4nc3lzdGVtJ1xuJ3RhaG9tYSdcbid2ZXJkYW5hJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gZm9udCBzdGFja3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBjdXN0b20gZm9udCBzdGFja3MgdG8gYW55IG9mIHRoZVxudHlwZS1iYXNlZCBmb250cy4gQW55IFVTV0RTIHR5cGVmYWNlXG50b2tlbiBhbHJlYWR5IGhhcyBhIGRlZmF1bHQgc3RhY2suXG5cbkN1c3RvbSBzdGFja3MgZG9uJ3QgbmVlZCB0byBpbmNsdWRlIHRoZVxuZm9udCdzIGRpc3BsYXkgbmFtZS4gSXQgd2lsbFxuYXV0b21hdGljYWxseSBhcHBlYXIgYXQgdGhlIHN0YXJ0IG9mXG50aGUgc3RhY2suXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FeGFtcGxlOlxuJHRoZW1lLWZvbnQtdHlwZS1zYW5zOiAnc291cmNlLXNhbnMtcHJvJztcbiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXN0YWNrOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG5cbk91dHB1dDpcbmZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhbnkgY3VzdG9tIGZvbnQgc291cmNlIGZpbGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JZiB5b3Ugd2FudCBVU1dEUyB0byBnZW5lcmF0ZSBhZGRpdGlvbmFsXG5AZm9udC1mYWNlIGRlY2xhcmF0aW9ucywgYWRkIHlvdXIgZm9udFxuZGF0YSBiZWxvdywgZm9sbG93aW5nIHRoZSBleGFtcGxlIHRoYXRcbmZvbGxvd3MuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBAZm9udC1mYWNlXG5kZWNsYXJhdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmdcblxuJ21lcnJpd2VhdGhlcidcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG5cblRoZXNlIHR5cGVmYWNlcyBub3QgcmVxdWlyZSBjdXN0b21cbnNvdXJjZSBmaWxlcy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVYQU1QTEVcblxuLSBkaXI6XG4gIERpcmVjdG9yeSByZWxhdGl2ZSB0byAkdGhlbWUtZm9udC1wYXRoXG4tIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBpbmNsdWRlIGZvbnRzIHNhdmVkIGFzXG4gIC53b2ZmMlxuICBFeGFtcGxlU2VyaWYtTm9ybWFsLndvZmYyXG5cbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IChcbiAgZGlyOiAnY3VzdG9tL2V4YW1wbGUtc2VyaWYnLFxuICByb21hbjogKFxuICAgIDEwMDogZmFsc2UsXG4gICAgMjAwOiBmYWxzZSxcbiAgICAzMDA6ICdFeGFtcGxlU2VyaWYtTGlnaHQnLFxuICAgIDQwMDogJ0V4YW1wbGVTZXJpZi1Ob3JtYWwnLFxuICAgIDUwMDogZmFsc2UsXG4gICAgNjAwOiBmYWxzZSxcbiAgICA3MDA6ICdFeGFtcGxlU2VyaWYtQm9sZCcsXG4gICAgODAwOiBmYWxzZSxcbiAgICA5MDA6IGZhbHNlLFxuICApLFxuICBpdGFsaWM6IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0SXRhbGljJyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtSXRhbGljJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGRJdGFsaWMnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbik7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJvbGUtYmFzZWQgZm9udCBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSByb2xlLWJhc2VkIHRva2VucyBmb3IgeW91clxucHJvamVjdCBmcm9tIHRoZSBmb2xsb3dpbmcgZm9udC10eXBlXG50b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nY29uZCdcbidpY29uJ1xuJ2xhbmcnXG4nbW9ubydcbidzYW5zJ1xuJ3NlcmlmJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZWZpbmUgeW91ciBwcm9qZWN0J3MgdHlwZSBzY2FsZSB1c2luZ1xudmFsdWVzIGZyb20gdGhlIFVTV0RTIHN5c3RlbSB0eXBlIHNjYWxlXG5cbjEtMjBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCB3ZWlnaHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Bc3NpZ24gd2VpZ2h0cyAxMDAtOTAwXG5PciB1c2UgYGZhbHNlYCBmb3IgdW5uZWVkZWQgd2VpZ2h0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2VuZXJhbCB0eXBvZ3JhcGh5IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWljcm86ICAgICAgMTBweFxuMTogICAgICAgICAgMTJweFxuMjogICAgICAgICAgMTNweFxuMzogICAgICAgICAgMTRweFxuNDogICAgICAgICAgMTVweFxuNTogICAgICAgICAgMTZweFxuNjogICAgICAgICAgMTdweFxuNzogICAgICAgICAgMThweFxuODogICAgICAgICAgMjBweFxuOTogICAgICAgICAgMjJweFxuMTA6ICAgICAgICAgMjRweFxuMTE6ICAgICAgICAgMjhweFxuMTI6ICAgICAgICAgMzJweFxuMTM6ICAgICAgICAgMzZweFxuMTQ6ICAgICAgICAgNDBweFxuMTU6ICAgICAgICAgNDhweFxuMTY6ICAgICAgICAgNTZweFxuMTc6ICAgICAgICAgNjRweFxuMTg6ICAgICAgICAgODBweFxuMTk6ICAgICAgICAgMTIwcHhcbjIwOiAgICAgICAgIDE0MHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MaW5lIGhlaWdodCB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjE6ICAgIDFcbjI6ICAgIDEuMTVcbjM6ICAgIDEuMzVcbjQ6ICAgIDEuNVxuNTogICAgMS42MlxuNjogICAgMS43NVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCByb2xlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ3VpJ1xuJ2hlYWRpbmcnXG4nYm9keSdcbidjb2RlJ1xuJ2FsdCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmUgKG1heC13aWR0aCkgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xOiAgICAgICA0NGV4XG4yOiAgICAgICA2MGV4XG4zOiAgICAgICA2NGV4XG40OiAgICAgICA2OGV4XG41OiAgICAgICA3NGV4XG42OiAgICAgICA4OGV4XG5ub25lOiAgICBub25lXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTE9SIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBjb2xvciB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL2NvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZW1lIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblN0YXRlIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTVBPTkVOVCBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3R5bGUgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TUEFDSU5HIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBzcGFjaW5nIHVuaXRzIHRva2VucyBpbiB0aGVcbmRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3NwYWNpbmctdW5pdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIHJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgICAycHhcbjAuNSAgICAgICAgICAgNHB4XG4xICAgICAgICAgICAgIDhweFxuMS41ICAgICAgICAgICAxMnB4XG4yICAgICAgICAgICAgIDE2cHhcbjIuNSAgICAgICAgICAgMjBweFxuMyAgICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgICA0OHB4XG43ICAgICAgICAgICAgIDU2cHhcbjggICAgICAgICAgICAgNjRweFxuOSAgICAgICAgICAgICA3MnB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbHVtbiBnYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjJweCAgICAgICAgIDJweFxuMC41ICAgICAgICAgNHB4XG4xICAgICAgICAgICA4cHhcbjIgICAgICAgICAgIDE2cHhcbjMgICAgICAgICAgIDI0cHhcbjQgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgIDQwcHhcbjYgICAgICAgICAgIDQ4cHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR3JpZCBjb250YWluZXIgbWF4LXdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tb2JpbGVcbm1vYmlsZS1sZ1xudGFibGV0XG50YWJsZXQtbGdcbmRlc2t0b3BcbmRlc2t0b3AtbGdcbndpZGVzY3JlZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VVElMSVRJRVMgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHV0aWxpdGllcyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L3V0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VdGlsaXR5IGJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGljaCBicmVha3BvaW50cyBkb2VzIHlvdXIgcHJvamVjdFxubmVlZD8gU2VsZWN0IGFzIGB0cnVlYCBhbnkgYnJlYWtwb2ludFxudXNlZCBieSB1dGlsaXRpZXMgb3IgbGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVGhlIGZvbGxvd2luZyBwYWxldHRlcyB3aWxsIGJlIGFkZGVkIHRvXG4tIGJhY2tncm91bmQtY29sb3Jcbi0gYm9yZGVyLWNvbG9yXG4tIGNvbG9yXG4tIHRleHQtZGVjb3JhdGlvbi1jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5WYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hcHBlbmQtaW1wb3J0YW50KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFwcGVuZCBgIWltcG9ydGFudGAgdG8gYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1sYXN0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB0aGUgbGFzdCBpdGVtIG9mIGEgbGlzdCxcblJldHVybiBudWxsIGlmIHRoZSB2YWx1ZSBpcyBudWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlLWxpc3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHJhbnNmb3JtIGEgb25lLWVsZW1lbnQgbGlzdCBvciBhcmdsaXN0XG5pbnRvIHRoYXQgc2luZ2xlIGVsZW1lbnQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4oMSkgPT4gMVxuKCgxKSkgPT4gKDEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmVycm9yLW5vdC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIGEgY29tbW9uIG5vdC1hLXRva2VuIGVycm9yLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG51c3dkcy1lcnJvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BbGxvdyB0aGUgc3lzdGVtIHRvIHBhc3MgYW4gZXJyb3IgYXMgdGV4dFxudG8gdGVzdCBlcnJvciBzdGF0ZXMgaW4gdW5pdCB0ZXN0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1kZWZhdWx0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGRlZmF1bHQgdmFsdWUgZnJvbSBhIG1hcFxub2YgcHJvamVjdCBkZWZhdWx0c1xuZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKVxuPiAkdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhhcy1pbXBvcnRhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGAhaW1wb3J0YW50YCBpc1xuYmVpbmcgcGFzc2VkIGluIGEgbWl4aW4ncyBwcm9wc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtY29sbGVjdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0IG11bHRpcGxlIG1hcHMgaW50byBhIHNpbmdsZVxubGFyZ2UgbWFwXG5zb3VyY2U6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2JpZ2dsZXNyb2Nrcy9kNzUwOTE3MDBmOGYyYmU1YWJmZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtZGVlcC1nZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5AYWNjZXNzIHB1YmxpY1xuQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXBcbkBwYXJhbSB7QXJnbGlzdH0gJGtleXMgLSBLZXkgY2hhaW5cbkByZXR1cm4geyp9IC0gRGVzaXJlZCB2YWx1ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tdWx0aS1jYXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29uY2F0ZW5hdGUgdHdvIGxpc3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbW92ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgYSB2YWx1ZSBmcm9tIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zbWFydC1xdW90ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5RdW90ZXMgc3RyaW5nc1xuSW5zcGVjdHMgYHB4YCwgYHhzYCwgYW5kIGB4bGAgbnVtYmVyc1xuTGVhdmVzIGJvb2xzIGFzIGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0ci1yZXBsYWNlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlcGxhY2UgYW55IHN1YnN0cmluZyB3aXRoIGFub3RoZXJcbnN0cmluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHItc3BsaXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU3BsaXQgYSBzdHJpbmcgYXQgYSBnaXZlbiBzZXBhcmF0b3JcbmFuZCBjb252ZXJ0IGludG8gYSBsaXN0IG9mIHN1YnN0cmluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyaXAtdW5pdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbkBhdXRob3IgSHVnbyBHaXJhdWRlbFxuQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5iYXNlLXRvLW1hcCgpXG5AVE9ETzogRGVwcmVjYXRlIGFuZCBkZWxldGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBzaW5nbGUgYmFzZSB0byBhIFVTV0RTXG52YWx1ZSBtYXAuXG5cbkNhbmRpZGF0ZSBmb3IgZGVwcmVjYXRpb24gaWYgd2UgcmVtb3ZlXG5pc1JlYWRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRvLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG5AcmV0dXJuIHtOdW1iZXJ9XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVucGFjaygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DcmVhdGUgbGlzdHMgb2Ygc2luZ2xlIGl0ZW1zIGZyb20gbGlzdHNcbm9mIGxpc3RzLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKDEsICgyLjEsIDIuMiksIDMpIC0tPlxuKDEsIDIuMSwgMi4yLCAzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3Igc2hvcnRjb2RlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zZXQtdGhlbWUtY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIHN5c3RlbSBjb2xvciB0b2tlblxub3IgYSBoZXggdmFsdWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucHgtdG8tcmVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcHggdG8gYSB2YWx1ZSBpbiByZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXB4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW4gcHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXVzZXItZW0oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSB2YWx1ZSBpbiByZW0gdG8gYSB2YWx1ZSBpblxuW3VzZXItc2V0dGluZ3NdIGVtIGZvciB1c2UgaW4gbWVkaWFcbnF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3BhY2luZy1tdWx0aXBsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHNwYWNpbmcgdW5pdCBtdWx0aXBsZSBpbnRvXG50aGUgZGVzaXJlZCBmaW5hbCB1bml0cyAoY3VycmVudGx5IHJlbSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudW5pdHMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBzcGFjaW5nIHVuaXQgaW50b1xudGhlIGRlc2lyZWQgZmluYWwgdW5pdHMgKGN1cnJlbnRseSByZW0pXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm51bWJlci10by10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhbiBpbnRlZ2VyIG9yIG51bWVyaWMgdmFsdWVcbmludG8gYSBzeXN0ZW0gdmFsdWVcblxuRXg6IDAuNSAgIC0tPiAnMDUnXG4gICAgLTFweCAgLS0+ICduZWctMXB4J1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Qcm9qZWN0IGZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0cyBmb250IHNldHRpbmdzIGluIGEgbWFwIGZvclxubG9vcGluZy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTHVtaW5hbmNlIHJhbmdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuYW1lc3NwYWNlIG9mICR0eXBlIGlmIHRoYXRcbm5hbWVzcGFjZSBpcyBzZXQgdG8gb3V0cHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1zeXN0ZW0tY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgc3lzdGVtIGNvbG9yIGZyb20gaXRzXG5mYW1pbHksIHZhbHVlLCBhbmQgdml2aWQgb3IgYSBwYXNzZWRcbnZhcmlhYmxlIHRoYXQgaXMsIGl0c2VsZiwgYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgaGVpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FwLWhlaWdodCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIGNhcCBoZWlnaHQgb2YgYSB2YWxpZCB0eXBlZmFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YWxpZGF0ZS10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DaGVjayB0byBzZWUgaWYgYSB0eXBlZmFjZS10b2tlbiBleGlzdHMuXG5UaHJvdyBhbiBlcnJvciBpZiBhIHBhc3NlZCB0b2tlbiBkb2VzXG5ub3QgZXhpc3QgaW4gdGhlIHR5cGVmYWNlLXRva2VuIG1hcC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29udmVydC10by1mb250LXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBmb250LXJvbGUgdG9rZW4gaW50byBhXG5mb250LXR5cGUgdG9rZW4uIExlYXZlcyBmb250LXR5cGUgdG9rZW5zXG51bmNoYW5nZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtc291cmNlcygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5PdXRwdXRzIGEgbGlzdCBvZiBmb250IHNvdXJjZXMgdXNlZCBpblxuYSBAZm9udC1mYWNlIGRlY2xhcmF0aW9uLlxuXG4kdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IHRydWUgLSBvdXRwdXQgd29mZjIsIHdvZmYsIHR0ZlxuJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5OiBmYWxzZSAtIG91dHB1dCB3b2ZmMlxuXG5AcGFyYW0gc3RlbTogc3RyaW5nIC0gW2ZvbnQgcGF0aF0vW2N1c3RvbS1zcmMuZGlyXS9bY3VzdG9tLXNyYy5bc3R5bGVdLlt3ZWlnaHRdXVxuQG91dHB1dDogc3RyaW5nXG5cbmZpbGV0eXBlcyBtdXN0IGJlIG9uZSBvZiB0aGUgZmlsZXR5cGVzIHNldCBpbiB2YXJpYWJsZXMvJHByb2plY3QtZm9udC1mYWNlLWZpbGV0eXBlcyAod29mZiwgd29mZjIsIHR0Zilcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWZvbnQtc3RhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udCBzdGFjayBmcm9tIGEgc3R5bGUtIG9yXG5yb2xlLWJhc2VkIGZvbnQgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSB0eXBlZmFjZSB0b2tlbiBmcm9tIGEgZm9udC10eXBlIG9yXG5mb250LXJvbGUgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5vcm1hbGl6ZS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vcm1hbGl6ZXMgYSBzcGVjaWZpYyBmYWNlJ3Mgb3B0aWNhbCBzaXplXG50byBhIHNldCB0YXJnZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3lzdGVtLXR5cGUtc2NhbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdmFsdWUgZnJvbSB0aGUgc3lzdGVtIHR5cGUgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRWFzaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogIGRlcHJlY2F0ZWQuc2Nzc1xuICAgIC0tLVxuICAgIE9jY2FzaW9uYWxseSB0aGUgZGVzaWduIHN5c3RlbSB3aWxsIGRlcHJlY2F0ZVxuICAgIG9sZCB2YXJpYWJsZXMgb3IgZnVuY3Rpb25hbGl0eS4gSWYgd2UgcmVwbGFjZVxuICAgIHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB3aXRoIHNvbWV0aGluZyBuZXcsIHRoaXMgaXMgYVxuICAgIHBsYWNlIHRvIGNvbm5lY3QgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IHRvIHRoZVxuICAgIG5ldyBmdW5jdGlvbmFsaXR5LCBpbiB0aGUgc2VydmljZSBvZiBiZXR0ZXJcbiAgICBjb250aW51aXR5IGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoaW4gYVxuICAgIG1ham9yIHJlbGVhc2UgY3ljbGUuXG5cbiAgICBOb3RlIHRoZSBVU1dEUyB2ZXJzaW9uIHdoZXJlIHdlIGRlcHJlY2F0ZWQgdGhlXG4gICAgb2xkIGZ1bmN0aW9uYWxpdHkgaW4gYSBjb21tZW50LlxuXG4gICAgQmUgc3VyZSB0byB1cGRhdGUgbm90aWZpY2F0aW9ucy5zY3NzLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hZHZhbmNlZC1jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3IgdHJpcGxldDpcbltmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FsY3VsYXRlLWdyYWRlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSB0aGUgZ3JhZGUgZXF1aXZhbGVudCBhbnkgY29sb3IsXG5ldmVuIG5vbi10b2tlbiBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tYXNzaWdubWVudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIHN5c3RlbSB0b2tlbiBlcXVpdmFsZW50IG9mIGFueVxudGhlbWUgY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtc3lzdGVtLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSBzeXN0ZW1cbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXRoZW1lLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSB0aGVtZVxuY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGZhbWlseSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZmFtaWx5XG5jb2xvci10b2tlbi1mYW1pbHkoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcImFjY2VudC13YXJtXCJcbmNvbG9yLXRva2VuLWZhbWlseShcInJlZC01MHZcIilcbj4gXCJyZWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwicmVkXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZGVjb21wb3NlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBjb2xvciB0b2tlbiBpbnRvIGludG8gYSBsaXN0XG5vZiBmb3JtIFtmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cblZpdmlkIHZhcmlhbnRzIHJldHVybiBcInZpdmlkXCIgYXMgdGhlXG52YXJpYW50LlxuSWYgbmVpdGhlciBncmFkZSBub3IgdmFyaWFudCBleGlzdHMsXG5yZXR1cm5zICdudWxsJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBncmFkZSBvZiBhIFVTV0RTIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZ3JhZGVcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm1cIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tZGFya2VyXCIpXG4+IFwiZGFya2VyXCJcbmNvbG9yLXRva2VuLWdyYWRlKFwicmVkLTUwdlwiKVxuPiA1MFxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBmYW1pbHkgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWZhbWlseVxuY29sb3ItdG9rZW4tZmFtaWx5KFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJhY2NlbnQtd2FybVwiXG5jb2xvci10b2tlbi1mYW1pbHkoXCJyZWQtNTB2XCIpXG4+IFwicmVkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiBcInJlZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhXG5VU1dEUyBjb2xvciB0b2tlbi5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucG93KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJhaXNlcyBhIHVuaXRsZXNzIG51bWJlciB0byB0aGUgcG93ZXJcbm9mIGFub3RoZXIgdW5pdGxlc3MgbnVtYmVyXG5JbmNsdWRlcyBoZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkhlbHBlciBmdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBmYWN0b3JpYWwoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIHN1bW1hdGlvbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogZXhwLW1hY2xhdXJpbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogbG4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi10eXBlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIHR5cGUgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IFwic3lzdGVtXCIgfCBcInRoZW1lXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdmFyaWFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB2YXJpYW50IG9mIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJ2aXZpZFwiIHwgZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybVwiKVxuPiBmYWxzZVxuY29sb3ItdG9rZW4tdmFyaWFudChcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudChcInJlZC01MHZcIilcbj4gXCJ2aXZpZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJ2aXZpZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBtYWdpYyBudW1iZXIgb2YgdHdvIGNvbG9yXG5ncmFkZXMuIFRha2VzIG51bWJlcnMgb3IgY29sb3IgdG9rZW5zLlxubWFnaWMtbnVtYmVyKDUwLCAxMClcbnJldHVybjogNDBcbm1hZ2ljLW51bWJlcihcInJlZC01MFwiLCBcInJlZC0xMFwiKVxucmV0dXJuOiA0MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHdoZXRoZXIgdHdvIGdyYWRlcyBhY2hpZXZlXG5zcGVjaWZpZWQgdGFyZ2V0IGNvbG9yIGNvbnRyYXN0XG5SZXR1cm5zOiB0cnVlIHwgZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA1MCwgXCJBQVwiKVxuPiBmYWxzZVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoMTAsIDYwLCBcIkFBXCIpXG4+IHRydWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxud2NhZy1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIGEgc3BlY2lmaWNcbndjYWcgZ3JhZGU6XG5cIkFBXCJcblwiQUEtTGFyZ2VcIlxuXCJBQUFcIlxud2NhZy1tYWdpYy1udW1iZXIoXCJBQVwiKVxuPiA1MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYWNjZXNzaWJsZSBsaW5rIGNvbG9ycyBmb3IgYSBnaXZlblxuYmFja2dyb3VuZCBjb2xvclxucmV0dXJuczogbGluay10b2tlbiwgaG92ZXItdG9rZW5cbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTYwXCIsXG4gIFwicmVkLTEwXCIsXG4gIFwiQUFcIilcbj4gXCJyZWQtMTBcIiwgXCJyZWQtNVwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC02MHZcIixcbiAgXCJyZWQtMTB2XCIsXG4gIFwiQUEtbGFyZ2VcIilcbj4gXCJyZWQtNjB2XCIsIFwicmVkLTUwdlwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC01dlwiLFxuICBcInJlZC02MHZcIixcbiAgXCJBQVwiKVxuPiBcInJlZC01dlwiLCBcIndoaXRlXCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwid2hpdGVcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwiQUFcIilcbj4gXCJ3aGl0ZVwiLCBcIndoaXRlXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubmV4dC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIG5leHQgXCJkYXJrZXJcIiBvciBcImxpZ2h0ZXJcIiBjb2xvclxudG9rZW4gb2YgdGhlIHNhbWUgdG9rZW4gdHlwZSBhbmQgdmFyaWFudC5cblJldHVybnM6IGNvbG9yLXRva2VuIHwgZmFsc2Vcbm5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJhY2NlbnQtd2FybS1saWdodFwiXG5uZXh0LXRva2VuKFwiZ3JheS0xMFwiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTVcIlxubmV4dC10b2tlbihcImdyYXktNVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJ3aGl0ZVwiXG5uZXh0LXRva2VuKFwid2hpdGVcIiwgXCJsaWdodGVyXCIpXG4+IGZhbHNlXG5uZXh0LXRva2VuKFwicmVkLTUwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MHZcIlxubmV4dC10b2tlbihcInJlZC01MFwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MFwiXG5uZXh0LXRva2VuKFwicmVkLTgwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC05MFwiXG5uZXh0LXRva2VuKFwicmVkLTkwXCIsIFwiZGFya2VyXCIpXG4+IFwiYmxhY2tcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwiZGFya2VyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJibGFja1wiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTkwXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdC1jb2xvcnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGFsbCBzeXN0ZW0gY29sb3JzXG5mYWxsIGJldHdlZW4gdGhlIHByb3BlciByZWxhdGl2ZVxubHVtaW5hbmNlIHJhbmdlIGZvciB0aGVpciBncmFkZS5cbkhhcyBhIGNvdXBsZSBxdWlya3MsIGFzIHRoZSBsdW1pbmFuY2UoKVxuZnVuY3Rpb24gcmV0dXJucyBzbGlnaHRseSBkaWZmZXJlbnRcbnJlc3VsdHMgdGhhbiBleHBlY3RlZC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sdW1ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vdXRwdXRzIGEgZ3JpZC1jb2wgbnVtYmVyIGJhc2VkIG9uXG50aGUgbnVtYmVyIG9mIGRlc2lyZWQgY29sdW1ucyBpbiB0aGVcbjEyLWNvbHVtbiBncmlkXG5cbkV4OiBjb2x1bW5zKDIpIC0tPiA2XG4gICAgZ3JpZC1jb2woY29sdW1ucygyKSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgUHJvcGVydGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdXN3ZHMtdmFsdWUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRmluZHMgYW5kIG91dHB1dHMgYSB2YWx1ZSBmcm9tIHRoZVxuVVNXRFMgc3RhbmRhcmQgdmFsdWVzLlxuXG5Vc2VkIHRvIGJ1aWxkIG90aGVyIHN0YW5kYXJkIHV0aWxpdHlcbmZ1bmN0aW9ucyBhbmQgbWl4aW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtc3RhbmRhcmQtdmFsdWVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSBtYXAgb2YgVVNXRFMgc3RhbmRhcmQgdmFsdWVzXG5mb3IgYSBwcm9wZXJ0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ib3JkZXItcmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgZnJvbSB0aGUgc3lzdGVtXG5ib3JkZXItcmFkaWlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC13ZWlnaHQoKVxuZncoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC13ZWlnaHQgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBmb250LXdlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mZWF0dXJlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmb250IGZlYXR1cmUgc2V0dGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mbGV4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmbGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtZmFtaWx5KClcbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFjayBmcm9tIGFcbnJvbGUtYmFzZWQgb3IgdHlwZS1iYXNlZCBmb250IGZhbWlseVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXR0ZXItc3BhY2luZygpXG5scygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBsZXR0ZXItc3BhY2luZyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1lYXN1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIHJlYWRpbmcgbGluZSBsZW5ndGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3BhY2l0eSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3BhY2l0eSBmcm9tIHRoZSBzeXN0ZW1cbm9wYWNpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vcmRlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3JkZXIgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBsZXR0ZXItc3BhY2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHR5cGUgc2NhbGUgdmFsdWUgZnJvbSBhIFtmYW1pbHldIGFuZFxuW3NjYWxlXVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG56LWluZGV4KClcbnooKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgei1pbmRleCB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIHotaW5kZXhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXRpbGl0eS1mb250KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTm90IHRoZSBwdWJsaWMtZmFjaW5nIGZ1bmN0aW9uLlxuVXNlZCBmb3IgYnVpbGRpbmcgdGhlIHV0aWxpdGllcyBhbmRcbndpdGhob2xkcyBjZXJ0YWluIGVycm9ycy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC1mYW1pbHkgc3RhY2tcbkFORFxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnR5cGVzZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0czpcbi0gZmFtaWx5XG4tIHNpemVcbi0gbGluZS1oZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItcHNldWRvY2xhc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgcHNldWNvY2xhc3MgdXRpbGl5IGZyb20gdmFsdWVzXG5jYWxjdWxhdGVkIGluIHRoZSBAcmVuZGVyLXV0aWxpdGllcy1pblxubG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXV0aWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgdXRpbGl0eSBmcm9tIHZhbHVlcyBjYWxjdWxhdGVkXG5pbiB0aGUgQHJlbmRlci11dGlsaXRpZXMtaW4gbG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVE9ETzogRGV0ZXJtaW5lIHRoZSBwcm9wZXIgdXNlIG9mXG51bnF1b3RlKCkgaW4gdGhlIGZvbGxvd2luZy4gQ2hhbmdlZCB0b1xuYWNjb3VudCBmb3IgYSAnaW50ZXJwb2xhdGlvbiBuZWFyXG5vcGVyYXRvcnMgd2lsbCBiZSBzaW1wbGlmaWVkIGluIGFcbmZ1dHVyZSB2ZXJzaW9uIG9mIFNhc3MnIHdhcm5pbmcuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItdXRpbGl0aWVzLWluXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGUgbWFzdGVyIGxvb3AgdGhhdCBzZXRzIHRoZSBidWlsZGluZ1xuYmxvY2tzIG9mIHV0aWxpdGllcyBmcm9tIHRoZSB2YWx1ZXNcbmluIGluZGl2aWR1YWwgcnVsZSBzZXR0aW5ncyBhbmQgbG9vcHNcbnRocm91Z2ggYWxsIHBvc3NpYmxlIHZhcmlhbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogIG5vdGlmaWNhdGlvbnMuc2Nzc1xuICAgIC0tLVxuICAgIEFkZHMgYSBub3RpZmljYXRpb24gYXQgdGhlIHRvcCBvZiBlYWNoIFVTV0RTXG4gICAgY29tcGlsZS4gVXNlIHRoaXMgZmlsZSBmb3IgaW1wb3J0YW50IG5vdGlmaWNhdGlvbnNcbiAgICBhbmQgdXBkYXRlcyB0byB0aGUgZGVzaWduIHN5c3RlbS5cblxuICAgIFRoaXMgZmlsZSBzaG91bGQgc3RhcnRlZCBmcmVzaCBhdCBlYWNoXG4gICAgbWFqb3IgdmVyc2lvbi5cblxuKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLyogcHJldHRpZXItaWdub3JlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkVSQUwgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSW1hZ2UgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVsYXRpdmUgaW1hZ2UgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgY29tcGlsZSB3YXJuaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdyBTYXNzIHdhcm5pbmdzIHdoZW4gZnVuY3Rpb25zIGFuZFxubWl4aW5zIHVzZSBub24tc3RhbmRhcmQgdG9rZW5zLlxuQU5EXG5TaG93IHVwZGF0ZXMgYW5kIG5vdGlmaWNhdGlvbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5hbWVzcGFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5QcmVmaXggc2VwYXJhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIGNoYXJhY3RlciB0aGUgc2VwYXJhdGVzXG5yZXNwb25zaXZlIGFuZCBzdGF0ZSBwcmVmaXhlcyBmcm9tIHRoZVxubWFpbiBjbGFzcyBuYW1lLlxuVGhlIGRlZmF1bHQgKFwiOlwiKSBuZWVkcyB0byBiZSBwcmVjZWRlZFxuYnkgdHdvIGJhY2tzbGFzaGVzIHRvIGJlIHByb3Blcmx5XG5lc2NhcGVkLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MYXlvdXQgZ3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdWxkIHRoZSBsYXlvdXQgZ3JpZCBjbGFzc2VzIG91dHB1dFxud2l0aCAhaW1wb3J0YW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJvcmRlciBib3ggc2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGVuIHNldCB0byB0cnVlLCBzZXRzIHRoZSBib3gtc2l6aW5nXG5wcm9wZXJ0eSBvZiBhbGwgc2l0ZSBlbGVtZW50cyB0b1xuYGJvcmRlci1ib3hgLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb2N1cyBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVFlQT0dSQVBIWSBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgdHlwb2dyYXBoeSB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3R5cGVzZXR0aW5nL292ZXJ2aWV3L1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Sb290IGZvbnQgc2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSB0b1xudHJ1ZSBzZXRzIHRoZSByb290IGZvbnQgc2l6ZSB0byAxMDAlIGFuZFxudXNlcyBlbXMgZm9yIG1lZGlhIHF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aGVtZS1yb290LWZvbnQtc2l6ZSBvbmx5IGFwcGxpZXMgd2hlblxuJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgaXMgc2V0IHRvXG5mYWxzZS5cblxuVGhpcyB3aWxsIHNldCB0aGUgcm9vdCBmb250IHNpemVcbmFzIGEgc3BlY2lmaWMgcHggdmFsdWUgYW5kIHVzZSBweCB2YWx1ZXNcbmZvciBtZWRpYSBxdWVyaWVzLlxuXG5BY2NlcHRzIHRydWUgb3IgZmFsc2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWRkcyBiYXNpYyBzdHlsaW5nIGZvciB0aGUgZm9sbG93aW5nXG51bmNsYXNzZWQgZWxlbWVudHM6XG5cbi0gcGFyYWdyYXBoOiBwYXJhZ3JhcGggdGV4dFxuLSBsaW5rOiBsaW5rc1xuLSBjb250ZW50OiBwYXJhZ3JhcGggdGV4dCwgbGlua3MsXG4gIGhlYWRpbmdzLCBsaXN0cywgYW5kIHRhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ccm9zd2VyIGNvbXBhdGliaWxpdHkgbW9kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hlbiB0cnVlLCBvdXRwdXRzIHdvZmYgYW5kIHR0ZiBmb250IFxuZm9ybWF0cyBpbiBhZGRpdGlvbiB0byB3b2ZmMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGZvbnQgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkN1c3RvbSB0eXBlZmFjZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhIG5ldyBjdXN0b20gdHlwZWZhY2UgdG9rZW4gaWZcbnlvdXIgcHJvamVjdCB1c2VzIGEgdHlwZWZhY2Ugbm90IGFscmVhZHlcbmRlZmluZWQgYnkgVVNXRFMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgdG9rZW5zXG5ieSBkZWZhdWx0OlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2dlb3JnaWEnXG4naGVsdmV0aWNhJ1xuJ21lcnJpd2VhdGhlcidcbidvcGVuLXNhbnMnXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuJ3N5c3RlbSdcbid0YWhvbWEnXG4ndmVyZGFuYSdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhcyBtYW55IG5ldyB0b2tlbnMgYXMgeW91IGhhdmVcbmN1c3RvbSB0eXBlZmFjZXMuIFJlZmVyZW5jZSB5b3VyIG5ld1xudG9rZW4ocykgaW4gdGhlIHR5cGUtYmFzZWQgZm9udCBzZXR0aW5nc1xudXNpbmcgdGhlIHF1b3RlZCBuYW1lIG9mIHRoZSB0b2tlbi5cblxuRm9yIGV4YW1wbGU6XG5cbiR0aGVtZS1mb250LXR5cGUtY29uZDogJ2V4YW1wbGUtZm9udC10b2tlbic7XG5cbmRpc3BsYXktbmFtZTpcblRoZSBkaXNwbGF5IG5hbWUgb2YgeW91ciBmb250XG5cbmNhcC1oZWlnaHQ6XG5UaGUgaGVpZ2h0IG9mIGEgNTAwcHggYE5gIGluIFNrZXRjaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWW91IHNob3VsZCBjaGFuZ2UgYGV4YW1wbGUtW3N0eWxlXS10b2tlbmBcbm5hbWVzIHRvIHNvbWV0aGluZyBtb3JlIGRlc2NyaXB0aXZlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlLWJhc2VkIGZvbnQgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgdHlwZS1iYXNlZCB0b2tlbnMgZm9yIHlvdXJcbnByb2plY3QgZnJvbSB0aGUgZm9sbG93aW5nIHRva2Vucyxcbm9yIGZyb20gYW55IG5ldyBmb250IHRva2VucyB5b3UgYWRkZWQgaW5cbiR0aGVtZS10eXBlZmFjZS10b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nZ2VvcmdpYSdcbidoZWx2ZXRpY2EnXG4nbWVycml3ZWF0aGVyJ1xuJ29wZW4tc2FucydcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG4nc3lzdGVtJ1xuJ3RhaG9tYSdcbid2ZXJkYW5hJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gZm9udCBzdGFja3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBjdXN0b20gZm9udCBzdGFja3MgdG8gYW55IG9mIHRoZVxudHlwZS1iYXNlZCBmb250cy4gQW55IFVTV0RTIHR5cGVmYWNlXG50b2tlbiBhbHJlYWR5IGhhcyBhIGRlZmF1bHQgc3RhY2suXG5cbkN1c3RvbSBzdGFja3MgZG9uJ3QgbmVlZCB0byBpbmNsdWRlIHRoZVxuZm9udCdzIGRpc3BsYXkgbmFtZS4gSXQgd2lsbFxuYXV0b21hdGljYWxseSBhcHBlYXIgYXQgdGhlIHN0YXJ0IG9mXG50aGUgc3RhY2suXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FeGFtcGxlOlxuJHRoZW1lLWZvbnQtdHlwZS1zYW5zOiAnc291cmNlLXNhbnMtcHJvJztcbiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXN0YWNrOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG5cbk91dHB1dDpcbmZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhbnkgY3VzdG9tIGZvbnQgc291cmNlIGZpbGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JZiB5b3Ugd2FudCBVU1dEUyB0byBnZW5lcmF0ZSBhZGRpdGlvbmFsXG5AZm9udC1mYWNlIGRlY2xhcmF0aW9ucywgYWRkIHlvdXIgZm9udFxuZGF0YSBiZWxvdywgZm9sbG93aW5nIHRoZSBleGFtcGxlIHRoYXRcbmZvbGxvd3MuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBAZm9udC1mYWNlXG5kZWNsYXJhdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmdcblxuJ21lcnJpd2VhdGhlcidcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG5cblRoZXNlIHR5cGVmYWNlcyBub3QgcmVxdWlyZSBjdXN0b21cbnNvdXJjZSBmaWxlcy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVYQU1QTEVcblxuLSBkaXI6XG4gIERpcmVjdG9yeSByZWxhdGl2ZSB0byAkdGhlbWUtZm9udC1wYXRoXG4tIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBpbmNsdWRlIGZvbnRzIHNhdmVkIGFzXG4gIC53b2ZmMlxuICBFeGFtcGxlU2VyaWYtTm9ybWFsLndvZmYyXG5cbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IChcbiAgZGlyOiAnY3VzdG9tL2V4YW1wbGUtc2VyaWYnLFxuICByb21hbjogKFxuICAgIDEwMDogZmFsc2UsXG4gICAgMjAwOiBmYWxzZSxcbiAgICAzMDA6ICdFeGFtcGxlU2VyaWYtTGlnaHQnLFxuICAgIDQwMDogJ0V4YW1wbGVTZXJpZi1Ob3JtYWwnLFxuICAgIDUwMDogZmFsc2UsXG4gICAgNjAwOiBmYWxzZSxcbiAgICA3MDA6ICdFeGFtcGxlU2VyaWYtQm9sZCcsXG4gICAgODAwOiBmYWxzZSxcbiAgICA5MDA6IGZhbHNlLFxuICApLFxuICBpdGFsaWM6IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0SXRhbGljJyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtSXRhbGljJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGRJdGFsaWMnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbik7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJvbGUtYmFzZWQgZm9udCBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSByb2xlLWJhc2VkIHRva2VucyBmb3IgeW91clxucHJvamVjdCBmcm9tIHRoZSBmb2xsb3dpbmcgZm9udC10eXBlXG50b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nY29uZCdcbidpY29uJ1xuJ2xhbmcnXG4nbW9ubydcbidzYW5zJ1xuJ3NlcmlmJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZWZpbmUgeW91ciBwcm9qZWN0J3MgdHlwZSBzY2FsZSB1c2luZ1xudmFsdWVzIGZyb20gdGhlIFVTV0RTIHN5c3RlbSB0eXBlIHNjYWxlXG5cbjEtMjBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCB3ZWlnaHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Bc3NpZ24gd2VpZ2h0cyAxMDAtOTAwXG5PciB1c2UgYGZhbHNlYCBmb3IgdW5uZWVkZWQgd2VpZ2h0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2VuZXJhbCB0eXBvZ3JhcGh5IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWljcm86ICAgICAgMTBweFxuMTogICAgICAgICAgMTJweFxuMjogICAgICAgICAgMTNweFxuMzogICAgICAgICAgMTRweFxuNDogICAgICAgICAgMTVweFxuNTogICAgICAgICAgMTZweFxuNjogICAgICAgICAgMTdweFxuNzogICAgICAgICAgMThweFxuODogICAgICAgICAgMjBweFxuOTogICAgICAgICAgMjJweFxuMTA6ICAgICAgICAgMjRweFxuMTE6ICAgICAgICAgMjhweFxuMTI6ICAgICAgICAgMzJweFxuMTM6ICAgICAgICAgMzZweFxuMTQ6ICAgICAgICAgNDBweFxuMTU6ICAgICAgICAgNDhweFxuMTY6ICAgICAgICAgNTZweFxuMTc6ICAgICAgICAgNjRweFxuMTg6ICAgICAgICAgODBweFxuMTk6ICAgICAgICAgMTIwcHhcbjIwOiAgICAgICAgIDE0MHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MaW5lIGhlaWdodCB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjE6ICAgIDFcbjI6ICAgIDEuMTVcbjM6ICAgIDEuMzVcbjQ6ICAgIDEuNVxuNTogICAgMS42MlxuNjogICAgMS43NVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCByb2xlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ3VpJ1xuJ2hlYWRpbmcnXG4nYm9keSdcbidjb2RlJ1xuJ2FsdCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmUgKG1heC13aWR0aCkgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xOiAgICAgICA0NGV4XG4yOiAgICAgICA2MGV4XG4zOiAgICAgICA2NGV4XG40OiAgICAgICA2OGV4XG41OiAgICAgICA3NGV4XG42OiAgICAgICA4OGV4XG5ub25lOiAgICBub25lXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTE9SIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBjb2xvciB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL2NvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZW1lIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblN0YXRlIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTVBPTkVOVCBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3R5bGUgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TUEFDSU5HIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBzcGFjaW5nIHVuaXRzIHRva2VucyBpbiB0aGVcbmRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3NwYWNpbmctdW5pdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIHJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgICAycHhcbjAuNSAgICAgICAgICAgNHB4XG4xICAgICAgICAgICAgIDhweFxuMS41ICAgICAgICAgICAxMnB4XG4yICAgICAgICAgICAgIDE2cHhcbjIuNSAgICAgICAgICAgMjBweFxuMyAgICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgICA0OHB4XG43ICAgICAgICAgICAgIDU2cHhcbjggICAgICAgICAgICAgNjRweFxuOSAgICAgICAgICAgICA3MnB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbHVtbiBnYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjJweCAgICAgICAgIDJweFxuMC41ICAgICAgICAgNHB4XG4xICAgICAgICAgICA4cHhcbjIgICAgICAgICAgIDE2cHhcbjMgICAgICAgICAgIDI0cHhcbjQgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgIDQwcHhcbjYgICAgICAgICAgIDQ4cHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR3JpZCBjb250YWluZXIgbWF4LXdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tb2JpbGVcbm1vYmlsZS1sZ1xudGFibGV0XG50YWJsZXQtbGdcbmRlc2t0b3BcbmRlc2t0b3AtbGdcbndpZGVzY3JlZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VVElMSVRJRVMgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHV0aWxpdGllcyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L3V0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VdGlsaXR5IGJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGljaCBicmVha3BvaW50cyBkb2VzIHlvdXIgcHJvamVjdFxubmVlZD8gU2VsZWN0IGFzIGB0cnVlYCBhbnkgYnJlYWtwb2ludFxudXNlZCBieSB1dGlsaXRpZXMgb3IgbGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVGhlIGZvbGxvd2luZyBwYWxldHRlcyB3aWxsIGJlIGFkZGVkIHRvXG4tIGJhY2tncm91bmQtY29sb3Jcbi0gYm9yZGVyLWNvbG9yXG4tIGNvbG9yXG4tIHRleHQtZGVjb3JhdGlvbi1jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5WYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hcHBlbmQtaW1wb3J0YW50KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFwcGVuZCBgIWltcG9ydGFudGAgdG8gYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1sYXN0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB0aGUgbGFzdCBpdGVtIG9mIGEgbGlzdCxcblJldHVybiBudWxsIGlmIHRoZSB2YWx1ZSBpcyBudWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlLWxpc3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHJhbnNmb3JtIGEgb25lLWVsZW1lbnQgbGlzdCBvciBhcmdsaXN0XG5pbnRvIHRoYXQgc2luZ2xlIGVsZW1lbnQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4oMSkgPT4gMVxuKCgxKSkgPT4gKDEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmVycm9yLW5vdC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIGEgY29tbW9uIG5vdC1hLXRva2VuIGVycm9yLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG51c3dkcy1lcnJvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BbGxvdyB0aGUgc3lzdGVtIHRvIHBhc3MgYW4gZXJyb3IgYXMgdGV4dFxudG8gdGVzdCBlcnJvciBzdGF0ZXMgaW4gdW5pdCB0ZXN0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1kZWZhdWx0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGRlZmF1bHQgdmFsdWUgZnJvbSBhIG1hcFxub2YgcHJvamVjdCBkZWZhdWx0c1xuZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKVxuPiAkdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhhcy1pbXBvcnRhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGAhaW1wb3J0YW50YCBpc1xuYmVpbmcgcGFzc2VkIGluIGEgbWl4aW4ncyBwcm9wc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtY29sbGVjdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0IG11bHRpcGxlIG1hcHMgaW50byBhIHNpbmdsZVxubGFyZ2UgbWFwXG5zb3VyY2U6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2JpZ2dsZXNyb2Nrcy9kNzUwOTE3MDBmOGYyYmU1YWJmZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtZGVlcC1nZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5AYWNjZXNzIHB1YmxpY1xuQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXBcbkBwYXJhbSB7QXJnbGlzdH0gJGtleXMgLSBLZXkgY2hhaW5cbkByZXR1cm4geyp9IC0gRGVzaXJlZCB2YWx1ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tdWx0aS1jYXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29uY2F0ZW5hdGUgdHdvIGxpc3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbW92ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgYSB2YWx1ZSBmcm9tIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zbWFydC1xdW90ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5RdW90ZXMgc3RyaW5nc1xuSW5zcGVjdHMgYHB4YCwgYHhzYCwgYW5kIGB4bGAgbnVtYmVyc1xuTGVhdmVzIGJvb2xzIGFzIGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0ci1yZXBsYWNlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlcGxhY2UgYW55IHN1YnN0cmluZyB3aXRoIGFub3RoZXJcbnN0cmluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHItc3BsaXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU3BsaXQgYSBzdHJpbmcgYXQgYSBnaXZlbiBzZXBhcmF0b3JcbmFuZCBjb252ZXJ0IGludG8gYSBsaXN0IG9mIHN1YnN0cmluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyaXAtdW5pdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbkBhdXRob3IgSHVnbyBHaXJhdWRlbFxuQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5iYXNlLXRvLW1hcCgpXG5AVE9ETzogRGVwcmVjYXRlIGFuZCBkZWxldGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBzaW5nbGUgYmFzZSB0byBhIFVTV0RTXG52YWx1ZSBtYXAuXG5cbkNhbmRpZGF0ZSBmb3IgZGVwcmVjYXRpb24gaWYgd2UgcmVtb3ZlXG5pc1JlYWRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRvLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG5AcmV0dXJuIHtOdW1iZXJ9XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVucGFjaygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DcmVhdGUgbGlzdHMgb2Ygc2luZ2xlIGl0ZW1zIGZyb20gbGlzdHNcbm9mIGxpc3RzLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKDEsICgyLjEsIDIuMiksIDMpIC0tPlxuKDEsIDIuMSwgMi4yLCAzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3Igc2hvcnRjb2RlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zZXQtdGhlbWUtY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIHN5c3RlbSBjb2xvciB0b2tlblxub3IgYSBoZXggdmFsdWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucHgtdG8tcmVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcHggdG8gYSB2YWx1ZSBpbiByZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXB4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW4gcHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXVzZXItZW0oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSB2YWx1ZSBpbiByZW0gdG8gYSB2YWx1ZSBpblxuW3VzZXItc2V0dGluZ3NdIGVtIGZvciB1c2UgaW4gbWVkaWFcbnF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3BhY2luZy1tdWx0aXBsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHNwYWNpbmcgdW5pdCBtdWx0aXBsZSBpbnRvXG50aGUgZGVzaXJlZCBmaW5hbCB1bml0cyAoY3VycmVudGx5IHJlbSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudW5pdHMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBzcGFjaW5nIHVuaXQgaW50b1xudGhlIGRlc2lyZWQgZmluYWwgdW5pdHMgKGN1cnJlbnRseSByZW0pXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm51bWJlci10by10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhbiBpbnRlZ2VyIG9yIG51bWVyaWMgdmFsdWVcbmludG8gYSBzeXN0ZW0gdmFsdWVcblxuRXg6IDAuNSAgIC0tPiAnMDUnXG4gICAgLTFweCAgLS0+ICduZWctMXB4J1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Qcm9qZWN0IGZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0cyBmb250IHNldHRpbmdzIGluIGEgbWFwIGZvclxubG9vcGluZy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTHVtaW5hbmNlIHJhbmdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuYW1lc3NwYWNlIG9mICR0eXBlIGlmIHRoYXRcbm5hbWVzcGFjZSBpcyBzZXQgdG8gb3V0cHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1zeXN0ZW0tY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgc3lzdGVtIGNvbG9yIGZyb20gaXRzXG5mYW1pbHksIHZhbHVlLCBhbmQgdml2aWQgb3IgYSBwYXNzZWRcbnZhcmlhYmxlIHRoYXQgaXMsIGl0c2VsZiwgYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgaGVpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FwLWhlaWdodCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIGNhcCBoZWlnaHQgb2YgYSB2YWxpZCB0eXBlZmFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YWxpZGF0ZS10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DaGVjayB0byBzZWUgaWYgYSB0eXBlZmFjZS10b2tlbiBleGlzdHMuXG5UaHJvdyBhbiBlcnJvciBpZiBhIHBhc3NlZCB0b2tlbiBkb2VzXG5ub3QgZXhpc3QgaW4gdGhlIHR5cGVmYWNlLXRva2VuIG1hcC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29udmVydC10by1mb250LXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBmb250LXJvbGUgdG9rZW4gaW50byBhXG5mb250LXR5cGUgdG9rZW4uIExlYXZlcyBmb250LXR5cGUgdG9rZW5zXG51bmNoYW5nZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtc291cmNlcygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5PdXRwdXRzIGEgbGlzdCBvZiBmb250IHNvdXJjZXMgdXNlZCBpblxuYSBAZm9udC1mYWNlIGRlY2xhcmF0aW9uLlxuXG4kdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IHRydWUgLSBvdXRwdXQgd29mZjIsIHdvZmYsIHR0ZlxuJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5OiBmYWxzZSAtIG91dHB1dCB3b2ZmMlxuXG5AcGFyYW0gc3RlbTogc3RyaW5nIC0gW2ZvbnQgcGF0aF0vW2N1c3RvbS1zcmMuZGlyXS9bY3VzdG9tLXNyYy5bc3R5bGVdLlt3ZWlnaHRdXVxuQG91dHB1dDogc3RyaW5nXG5cbmZpbGV0eXBlcyBtdXN0IGJlIG9uZSBvZiB0aGUgZmlsZXR5cGVzIHNldCBpbiB2YXJpYWJsZXMvJHByb2plY3QtZm9udC1mYWNlLWZpbGV0eXBlcyAod29mZiwgd29mZjIsIHR0Zilcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWZvbnQtc3RhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udCBzdGFjayBmcm9tIGEgc3R5bGUtIG9yXG5yb2xlLWJhc2VkIGZvbnQgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSB0eXBlZmFjZSB0b2tlbiBmcm9tIGEgZm9udC10eXBlIG9yXG5mb250LXJvbGUgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5vcm1hbGl6ZS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vcm1hbGl6ZXMgYSBzcGVjaWZpYyBmYWNlJ3Mgb3B0aWNhbCBzaXplXG50byBhIHNldCB0YXJnZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3lzdGVtLXR5cGUtc2NhbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdmFsdWUgZnJvbSB0aGUgc3lzdGVtIHR5cGUgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRWFzaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogIGRlcHJlY2F0ZWQuc2Nzc1xuICAgIC0tLVxuICAgIE9jY2FzaW9uYWxseSB0aGUgZGVzaWduIHN5c3RlbSB3aWxsIGRlcHJlY2F0ZVxuICAgIG9sZCB2YXJpYWJsZXMgb3IgZnVuY3Rpb25hbGl0eS4gSWYgd2UgcmVwbGFjZVxuICAgIHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB3aXRoIHNvbWV0aGluZyBuZXcsIHRoaXMgaXMgYVxuICAgIHBsYWNlIHRvIGNvbm5lY3QgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IHRvIHRoZVxuICAgIG5ldyBmdW5jdGlvbmFsaXR5LCBpbiB0aGUgc2VydmljZSBvZiBiZXR0ZXJcbiAgICBjb250aW51aXR5IGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoaW4gYVxuICAgIG1ham9yIHJlbGVhc2UgY3ljbGUuXG5cbiAgICBOb3RlIHRoZSBVU1dEUyB2ZXJzaW9uIHdoZXJlIHdlIGRlcHJlY2F0ZWQgdGhlXG4gICAgb2xkIGZ1bmN0aW9uYWxpdHkgaW4gYSBjb21tZW50LlxuXG4gICAgQmUgc3VyZSB0byB1cGRhdGUgbm90aWZpY2F0aW9ucy5zY3NzLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hZHZhbmNlZC1jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3IgdHJpcGxldDpcbltmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FsY3VsYXRlLWdyYWRlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSB0aGUgZ3JhZGUgZXF1aXZhbGVudCBhbnkgY29sb3IsXG5ldmVuIG5vbi10b2tlbiBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tYXNzaWdubWVudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIHN5c3RlbSB0b2tlbiBlcXVpdmFsZW50IG9mIGFueVxudGhlbWUgY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtc3lzdGVtLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSBzeXN0ZW1cbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXRoZW1lLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSB0aGVtZVxuY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGZhbWlseSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZmFtaWx5XG5jb2xvci10b2tlbi1mYW1pbHkoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcImFjY2VudC13YXJtXCJcbmNvbG9yLXRva2VuLWZhbWlseShcInJlZC01MHZcIilcbj4gXCJyZWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwicmVkXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZGVjb21wb3NlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBjb2xvciB0b2tlbiBpbnRvIGludG8gYSBsaXN0XG5vZiBmb3JtIFtmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cblZpdmlkIHZhcmlhbnRzIHJldHVybiBcInZpdmlkXCIgYXMgdGhlXG52YXJpYW50LlxuSWYgbmVpdGhlciBncmFkZSBub3IgdmFyaWFudCBleGlzdHMsXG5yZXR1cm5zICdudWxsJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBncmFkZSBvZiBhIFVTV0RTIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZ3JhZGVcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm1cIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tZGFya2VyXCIpXG4+IFwiZGFya2VyXCJcbmNvbG9yLXRva2VuLWdyYWRlKFwicmVkLTUwdlwiKVxuPiA1MFxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBmYW1pbHkgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWZhbWlseVxuY29sb3ItdG9rZW4tZmFtaWx5KFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJhY2NlbnQtd2FybVwiXG5jb2xvci10b2tlbi1mYW1pbHkoXCJyZWQtNTB2XCIpXG4+IFwicmVkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiBcInJlZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhXG5VU1dEUyBjb2xvciB0b2tlbi5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucG93KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJhaXNlcyBhIHVuaXRsZXNzIG51bWJlciB0byB0aGUgcG93ZXJcbm9mIGFub3RoZXIgdW5pdGxlc3MgbnVtYmVyXG5JbmNsdWRlcyBoZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkhlbHBlciBmdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBmYWN0b3JpYWwoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIHN1bW1hdGlvbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogZXhwLW1hY2xhdXJpbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogbG4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi10eXBlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIHR5cGUgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IFwic3lzdGVtXCIgfCBcInRoZW1lXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdmFyaWFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB2YXJpYW50IG9mIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJ2aXZpZFwiIHwgZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybVwiKVxuPiBmYWxzZVxuY29sb3ItdG9rZW4tdmFyaWFudChcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudChcInJlZC01MHZcIilcbj4gXCJ2aXZpZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJ2aXZpZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBtYWdpYyBudW1iZXIgb2YgdHdvIGNvbG9yXG5ncmFkZXMuIFRha2VzIG51bWJlcnMgb3IgY29sb3IgdG9rZW5zLlxubWFnaWMtbnVtYmVyKDUwLCAxMClcbnJldHVybjogNDBcbm1hZ2ljLW51bWJlcihcInJlZC01MFwiLCBcInJlZC0xMFwiKVxucmV0dXJuOiA0MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHdoZXRoZXIgdHdvIGdyYWRlcyBhY2hpZXZlXG5zcGVjaWZpZWQgdGFyZ2V0IGNvbG9yIGNvbnRyYXN0XG5SZXR1cm5zOiB0cnVlIHwgZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA1MCwgXCJBQVwiKVxuPiBmYWxzZVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoMTAsIDYwLCBcIkFBXCIpXG4+IHRydWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxud2NhZy1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIGEgc3BlY2lmaWNcbndjYWcgZ3JhZGU6XG5cIkFBXCJcblwiQUEtTGFyZ2VcIlxuXCJBQUFcIlxud2NhZy1tYWdpYy1udW1iZXIoXCJBQVwiKVxuPiA1MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYWNjZXNzaWJsZSBsaW5rIGNvbG9ycyBmb3IgYSBnaXZlblxuYmFja2dyb3VuZCBjb2xvclxucmV0dXJuczogbGluay10b2tlbiwgaG92ZXItdG9rZW5cbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTYwXCIsXG4gIFwicmVkLTEwXCIsXG4gIFwiQUFcIilcbj4gXCJyZWQtMTBcIiwgXCJyZWQtNVwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC02MHZcIixcbiAgXCJyZWQtMTB2XCIsXG4gIFwiQUEtbGFyZ2VcIilcbj4gXCJyZWQtNjB2XCIsIFwicmVkLTUwdlwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC01dlwiLFxuICBcInJlZC02MHZcIixcbiAgXCJBQVwiKVxuPiBcInJlZC01dlwiLCBcIndoaXRlXCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwid2hpdGVcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwiQUFcIilcbj4gXCJ3aGl0ZVwiLCBcIndoaXRlXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubmV4dC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIG5leHQgXCJkYXJrZXJcIiBvciBcImxpZ2h0ZXJcIiBjb2xvclxudG9rZW4gb2YgdGhlIHNhbWUgdG9rZW4gdHlwZSBhbmQgdmFyaWFudC5cblJldHVybnM6IGNvbG9yLXRva2VuIHwgZmFsc2Vcbm5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJhY2NlbnQtd2FybS1saWdodFwiXG5uZXh0LXRva2VuKFwiZ3JheS0xMFwiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTVcIlxubmV4dC10b2tlbihcImdyYXktNVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJ3aGl0ZVwiXG5uZXh0LXRva2VuKFwid2hpdGVcIiwgXCJsaWdodGVyXCIpXG4+IGZhbHNlXG5uZXh0LXRva2VuKFwicmVkLTUwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MHZcIlxubmV4dC10b2tlbihcInJlZC01MFwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MFwiXG5uZXh0LXRva2VuKFwicmVkLTgwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC05MFwiXG5uZXh0LXRva2VuKFwicmVkLTkwXCIsIFwiZGFya2VyXCIpXG4+IFwiYmxhY2tcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwiZGFya2VyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJibGFja1wiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTkwXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdC1jb2xvcnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGFsbCBzeXN0ZW0gY29sb3JzXG5mYWxsIGJldHdlZW4gdGhlIHByb3BlciByZWxhdGl2ZVxubHVtaW5hbmNlIHJhbmdlIGZvciB0aGVpciBncmFkZS5cbkhhcyBhIGNvdXBsZSBxdWlya3MsIGFzIHRoZSBsdW1pbmFuY2UoKVxuZnVuY3Rpb24gcmV0dXJucyBzbGlnaHRseSBkaWZmZXJlbnRcbnJlc3VsdHMgdGhhbiBleHBlY3RlZC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sdW1ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vdXRwdXRzIGEgZ3JpZC1jb2wgbnVtYmVyIGJhc2VkIG9uXG50aGUgbnVtYmVyIG9mIGRlc2lyZWQgY29sdW1ucyBpbiB0aGVcbjEyLWNvbHVtbiBncmlkXG5cbkV4OiBjb2x1bW5zKDIpIC0tPiA2XG4gICAgZ3JpZC1jb2woY29sdW1ucygyKSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgUHJvcGVydGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdXN3ZHMtdmFsdWUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRmluZHMgYW5kIG91dHB1dHMgYSB2YWx1ZSBmcm9tIHRoZVxuVVNXRFMgc3RhbmRhcmQgdmFsdWVzLlxuXG5Vc2VkIHRvIGJ1aWxkIG90aGVyIHN0YW5kYXJkIHV0aWxpdHlcbmZ1bmN0aW9ucyBhbmQgbWl4aW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtc3RhbmRhcmQtdmFsdWVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSBtYXAgb2YgVVNXRFMgc3RhbmRhcmQgdmFsdWVzXG5mb3IgYSBwcm9wZXJ0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ib3JkZXItcmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgZnJvbSB0aGUgc3lzdGVtXG5ib3JkZXItcmFkaWlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC13ZWlnaHQoKVxuZncoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC13ZWlnaHQgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBmb250LXdlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mZWF0dXJlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmb250IGZlYXR1cmUgc2V0dGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mbGV4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmbGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtZmFtaWx5KClcbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFjayBmcm9tIGFcbnJvbGUtYmFzZWQgb3IgdHlwZS1iYXNlZCBmb250IGZhbWlseVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXR0ZXItc3BhY2luZygpXG5scygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBsZXR0ZXItc3BhY2luZyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1lYXN1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIHJlYWRpbmcgbGluZSBsZW5ndGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3BhY2l0eSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3BhY2l0eSBmcm9tIHRoZSBzeXN0ZW1cbm9wYWNpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vcmRlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3JkZXIgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBsZXR0ZXItc3BhY2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHR5cGUgc2NhbGUgdmFsdWUgZnJvbSBhIFtmYW1pbHldIGFuZFxuW3NjYWxlXVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG56LWluZGV4KClcbnooKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgei1pbmRleCB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIHotaW5kZXhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXRpbGl0eS1mb250KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTm90IHRoZSBwdWJsaWMtZmFjaW5nIGZ1bmN0aW9uLlxuVXNlZCBmb3IgYnVpbGRpbmcgdGhlIHV0aWxpdGllcyBhbmRcbndpdGhob2xkcyBjZXJ0YWluIGVycm9ycy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC1mYW1pbHkgc3RhY2tcbkFORFxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnR5cGVzZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0czpcbi0gZmFtaWx5XG4tIHNpemVcbi0gbGluZS1oZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItcHNldWRvY2xhc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgcHNldWNvY2xhc3MgdXRpbGl5IGZyb20gdmFsdWVzXG5jYWxjdWxhdGVkIGluIHRoZSBAcmVuZGVyLXV0aWxpdGllcy1pblxubG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXV0aWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgdXRpbGl0eSBmcm9tIHZhbHVlcyBjYWxjdWxhdGVkXG5pbiB0aGUgQHJlbmRlci11dGlsaXRpZXMtaW4gbG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVE9ETzogRGV0ZXJtaW5lIHRoZSBwcm9wZXIgdXNlIG9mXG51bnF1b3RlKCkgaW4gdGhlIGZvbGxvd2luZy4gQ2hhbmdlZCB0b1xuYWNjb3VudCBmb3IgYSAnaW50ZXJwb2xhdGlvbiBuZWFyXG5vcGVyYXRvcnMgd2lsbCBiZSBzaW1wbGlmaWVkIGluIGFcbmZ1dHVyZSB2ZXJzaW9uIG9mIFNhc3MnIHdhcm5pbmcuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItdXRpbGl0aWVzLWluXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGUgbWFzdGVyIGxvb3AgdGhhdCBzZXRzIHRoZSBidWlsZGluZ1xuYmxvY2tzIG9mIHV0aWxpdGllcyBmcm9tIHRoZSB2YWx1ZXNcbmluIGluZGl2aWR1YWwgcnVsZSBzZXR0aW5ncyBhbmQgbG9vcHNcbnRocm91Z2ggYWxsIHBvc3NpYmxlIHZhcmlhbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogIG5vdGlmaWNhdGlvbnMuc2Nzc1xuICAgIC0tLVxuICAgIEFkZHMgYSBub3RpZmljYXRpb24gYXQgdGhlIHRvcCBvZiBlYWNoIFVTV0RTXG4gICAgY29tcGlsZS4gVXNlIHRoaXMgZmlsZSBmb3IgaW1wb3J0YW50IG5vdGlmaWNhdGlvbnNcbiAgICBhbmQgdXBkYXRlcyB0byB0aGUgZGVzaWduIHN5c3RlbS5cblxuICAgIFRoaXMgZmlsZSBzaG91bGQgc3RhcnRlZCBmcmVzaCBhdCBlYWNoXG4gICAgbWFqb3IgdmVyc2lvbi5cblxuKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLyogcHJldHRpZXItaWdub3JlICovXG4udXNhLW1lZGlhLWJsb2NrIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi51c2EtbWVkaWEtYmxvY2tfX2ltZyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnVzYS1tZWRpYS1ibG9ja19fYm9keSB7XG4gIGZsZXg6IDEgMSAwJTtcbn1cblxuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkVSQUwgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSW1hZ2UgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVsYXRpdmUgaW1hZ2UgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgY29tcGlsZSB3YXJuaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdyBTYXNzIHdhcm5pbmdzIHdoZW4gZnVuY3Rpb25zIGFuZFxubWl4aW5zIHVzZSBub24tc3RhbmRhcmQgdG9rZW5zLlxuQU5EXG5TaG93IHVwZGF0ZXMgYW5kIG5vdGlmaWNhdGlvbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5hbWVzcGFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5QcmVmaXggc2VwYXJhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIGNoYXJhY3RlciB0aGUgc2VwYXJhdGVzXG5yZXNwb25zaXZlIGFuZCBzdGF0ZSBwcmVmaXhlcyBmcm9tIHRoZVxubWFpbiBjbGFzcyBuYW1lLlxuVGhlIGRlZmF1bHQgKFwiOlwiKSBuZWVkcyB0byBiZSBwcmVjZWRlZFxuYnkgdHdvIGJhY2tzbGFzaGVzIHRvIGJlIHByb3Blcmx5XG5lc2NhcGVkLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MYXlvdXQgZ3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdWxkIHRoZSBsYXlvdXQgZ3JpZCBjbGFzc2VzIG91dHB1dFxud2l0aCAhaW1wb3J0YW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJvcmRlciBib3ggc2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGVuIHNldCB0byB0cnVlLCBzZXRzIHRoZSBib3gtc2l6aW5nXG5wcm9wZXJ0eSBvZiBhbGwgc2l0ZSBlbGVtZW50cyB0b1xuYGJvcmRlci1ib3hgLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb2N1cyBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVFlQT0dSQVBIWSBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgdHlwb2dyYXBoeSB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3R5cGVzZXR0aW5nL292ZXJ2aWV3L1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Sb290IGZvbnQgc2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSB0b1xudHJ1ZSBzZXRzIHRoZSByb290IGZvbnQgc2l6ZSB0byAxMDAlIGFuZFxudXNlcyBlbXMgZm9yIG1lZGlhIHF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aGVtZS1yb290LWZvbnQtc2l6ZSBvbmx5IGFwcGxpZXMgd2hlblxuJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgaXMgc2V0IHRvXG5mYWxzZS5cblxuVGhpcyB3aWxsIHNldCB0aGUgcm9vdCBmb250IHNpemVcbmFzIGEgc3BlY2lmaWMgcHggdmFsdWUgYW5kIHVzZSBweCB2YWx1ZXNcbmZvciBtZWRpYSBxdWVyaWVzLlxuXG5BY2NlcHRzIHRydWUgb3IgZmFsc2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWRkcyBiYXNpYyBzdHlsaW5nIGZvciB0aGUgZm9sbG93aW5nXG51bmNsYXNzZWQgZWxlbWVudHM6XG5cbi0gcGFyYWdyYXBoOiBwYXJhZ3JhcGggdGV4dFxuLSBsaW5rOiBsaW5rc1xuLSBjb250ZW50OiBwYXJhZ3JhcGggdGV4dCwgbGlua3MsXG4gIGhlYWRpbmdzLCBsaXN0cywgYW5kIHRhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ccm9zd2VyIGNvbXBhdGliaWxpdHkgbW9kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hlbiB0cnVlLCBvdXRwdXRzIHdvZmYgYW5kIHR0ZiBmb250IFxuZm9ybWF0cyBpbiBhZGRpdGlvbiB0byB3b2ZmMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGZvbnQgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkN1c3RvbSB0eXBlZmFjZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhIG5ldyBjdXN0b20gdHlwZWZhY2UgdG9rZW4gaWZcbnlvdXIgcHJvamVjdCB1c2VzIGEgdHlwZWZhY2Ugbm90IGFscmVhZHlcbmRlZmluZWQgYnkgVVNXRFMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgdG9rZW5zXG5ieSBkZWZhdWx0OlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2dlb3JnaWEnXG4naGVsdmV0aWNhJ1xuJ21lcnJpd2VhdGhlcidcbidvcGVuLXNhbnMnXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuJ3N5c3RlbSdcbid0YWhvbWEnXG4ndmVyZGFuYSdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhcyBtYW55IG5ldyB0b2tlbnMgYXMgeW91IGhhdmVcbmN1c3RvbSB0eXBlZmFjZXMuIFJlZmVyZW5jZSB5b3VyIG5ld1xudG9rZW4ocykgaW4gdGhlIHR5cGUtYmFzZWQgZm9udCBzZXR0aW5nc1xudXNpbmcgdGhlIHF1b3RlZCBuYW1lIG9mIHRoZSB0b2tlbi5cblxuRm9yIGV4YW1wbGU6XG5cbiR0aGVtZS1mb250LXR5cGUtY29uZDogJ2V4YW1wbGUtZm9udC10b2tlbic7XG5cbmRpc3BsYXktbmFtZTpcblRoZSBkaXNwbGF5IG5hbWUgb2YgeW91ciBmb250XG5cbmNhcC1oZWlnaHQ6XG5UaGUgaGVpZ2h0IG9mIGEgNTAwcHggYE5gIGluIFNrZXRjaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWW91IHNob3VsZCBjaGFuZ2UgYGV4YW1wbGUtW3N0eWxlXS10b2tlbmBcbm5hbWVzIHRvIHNvbWV0aGluZyBtb3JlIGRlc2NyaXB0aXZlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlLWJhc2VkIGZvbnQgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgdHlwZS1iYXNlZCB0b2tlbnMgZm9yIHlvdXJcbnByb2plY3QgZnJvbSB0aGUgZm9sbG93aW5nIHRva2Vucyxcbm9yIGZyb20gYW55IG5ldyBmb250IHRva2VucyB5b3UgYWRkZWQgaW5cbiR0aGVtZS10eXBlZmFjZS10b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nZ2VvcmdpYSdcbidoZWx2ZXRpY2EnXG4nbWVycml3ZWF0aGVyJ1xuJ29wZW4tc2FucydcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG4nc3lzdGVtJ1xuJ3RhaG9tYSdcbid2ZXJkYW5hJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gZm9udCBzdGFja3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBjdXN0b20gZm9udCBzdGFja3MgdG8gYW55IG9mIHRoZVxudHlwZS1iYXNlZCBmb250cy4gQW55IFVTV0RTIHR5cGVmYWNlXG50b2tlbiBhbHJlYWR5IGhhcyBhIGRlZmF1bHQgc3RhY2suXG5cbkN1c3RvbSBzdGFja3MgZG9uJ3QgbmVlZCB0byBpbmNsdWRlIHRoZVxuZm9udCdzIGRpc3BsYXkgbmFtZS4gSXQgd2lsbFxuYXV0b21hdGljYWxseSBhcHBlYXIgYXQgdGhlIHN0YXJ0IG9mXG50aGUgc3RhY2suXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FeGFtcGxlOlxuJHRoZW1lLWZvbnQtdHlwZS1zYW5zOiAnc291cmNlLXNhbnMtcHJvJztcbiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXN0YWNrOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG5cbk91dHB1dDpcbmZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhbnkgY3VzdG9tIGZvbnQgc291cmNlIGZpbGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JZiB5b3Ugd2FudCBVU1dEUyB0byBnZW5lcmF0ZSBhZGRpdGlvbmFsXG5AZm9udC1mYWNlIGRlY2xhcmF0aW9ucywgYWRkIHlvdXIgZm9udFxuZGF0YSBiZWxvdywgZm9sbG93aW5nIHRoZSBleGFtcGxlIHRoYXRcbmZvbGxvd3MuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBAZm9udC1mYWNlXG5kZWNsYXJhdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmdcblxuJ21lcnJpd2VhdGhlcidcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG5cblRoZXNlIHR5cGVmYWNlcyBub3QgcmVxdWlyZSBjdXN0b21cbnNvdXJjZSBmaWxlcy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVYQU1QTEVcblxuLSBkaXI6XG4gIERpcmVjdG9yeSByZWxhdGl2ZSB0byAkdGhlbWUtZm9udC1wYXRoXG4tIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBpbmNsdWRlIGZvbnRzIHNhdmVkIGFzXG4gIC53b2ZmMlxuICBFeGFtcGxlU2VyaWYtTm9ybWFsLndvZmYyXG5cbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IChcbiAgZGlyOiAnY3VzdG9tL2V4YW1wbGUtc2VyaWYnLFxuICByb21hbjogKFxuICAgIDEwMDogZmFsc2UsXG4gICAgMjAwOiBmYWxzZSxcbiAgICAzMDA6ICdFeGFtcGxlU2VyaWYtTGlnaHQnLFxuICAgIDQwMDogJ0V4YW1wbGVTZXJpZi1Ob3JtYWwnLFxuICAgIDUwMDogZmFsc2UsXG4gICAgNjAwOiBmYWxzZSxcbiAgICA3MDA6ICdFeGFtcGxlU2VyaWYtQm9sZCcsXG4gICAgODAwOiBmYWxzZSxcbiAgICA5MDA6IGZhbHNlLFxuICApLFxuICBpdGFsaWM6IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0SXRhbGljJyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtSXRhbGljJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGRJdGFsaWMnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbik7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJvbGUtYmFzZWQgZm9udCBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSByb2xlLWJhc2VkIHRva2VucyBmb3IgeW91clxucHJvamVjdCBmcm9tIHRoZSBmb2xsb3dpbmcgZm9udC10eXBlXG50b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nY29uZCdcbidpY29uJ1xuJ2xhbmcnXG4nbW9ubydcbidzYW5zJ1xuJ3NlcmlmJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZWZpbmUgeW91ciBwcm9qZWN0J3MgdHlwZSBzY2FsZSB1c2luZ1xudmFsdWVzIGZyb20gdGhlIFVTV0RTIHN5c3RlbSB0eXBlIHNjYWxlXG5cbjEtMjBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCB3ZWlnaHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Bc3NpZ24gd2VpZ2h0cyAxMDAtOTAwXG5PciB1c2UgYGZhbHNlYCBmb3IgdW5uZWVkZWQgd2VpZ2h0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2VuZXJhbCB0eXBvZ3JhcGh5IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWljcm86ICAgICAgMTBweFxuMTogICAgICAgICAgMTJweFxuMjogICAgICAgICAgMTNweFxuMzogICAgICAgICAgMTRweFxuNDogICAgICAgICAgMTVweFxuNTogICAgICAgICAgMTZweFxuNjogICAgICAgICAgMTdweFxuNzogICAgICAgICAgMThweFxuODogICAgICAgICAgMjBweFxuOTogICAgICAgICAgMjJweFxuMTA6ICAgICAgICAgMjRweFxuMTE6ICAgICAgICAgMjhweFxuMTI6ICAgICAgICAgMzJweFxuMTM6ICAgICAgICAgMzZweFxuMTQ6ICAgICAgICAgNDBweFxuMTU6ICAgICAgICAgNDhweFxuMTY6ICAgICAgICAgNTZweFxuMTc6ICAgICAgICAgNjRweFxuMTg6ICAgICAgICAgODBweFxuMTk6ICAgICAgICAgMTIwcHhcbjIwOiAgICAgICAgIDE0MHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MaW5lIGhlaWdodCB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjE6ICAgIDFcbjI6ICAgIDEuMTVcbjM6ICAgIDEuMzVcbjQ6ICAgIDEuNVxuNTogICAgMS42MlxuNjogICAgMS43NVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCByb2xlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ3VpJ1xuJ2hlYWRpbmcnXG4nYm9keSdcbidjb2RlJ1xuJ2FsdCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmUgKG1heC13aWR0aCkgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xOiAgICAgICA0NGV4XG4yOiAgICAgICA2MGV4XG4zOiAgICAgICA2NGV4XG40OiAgICAgICA2OGV4XG41OiAgICAgICA3NGV4XG42OiAgICAgICA4OGV4XG5ub25lOiAgICBub25lXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTE9SIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBjb2xvciB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL2NvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZW1lIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblN0YXRlIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTVBPTkVOVCBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3R5bGUgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TUEFDSU5HIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBzcGFjaW5nIHVuaXRzIHRva2VucyBpbiB0aGVcbmRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3NwYWNpbmctdW5pdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIHJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgICAycHhcbjAuNSAgICAgICAgICAgNHB4XG4xICAgICAgICAgICAgIDhweFxuMS41ICAgICAgICAgICAxMnB4XG4yICAgICAgICAgICAgIDE2cHhcbjIuNSAgICAgICAgICAgMjBweFxuMyAgICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgICA0OHB4XG43ICAgICAgICAgICAgIDU2cHhcbjggICAgICAgICAgICAgNjRweFxuOSAgICAgICAgICAgICA3MnB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbHVtbiBnYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjJweCAgICAgICAgIDJweFxuMC41ICAgICAgICAgNHB4XG4xICAgICAgICAgICA4cHhcbjIgICAgICAgICAgIDE2cHhcbjMgICAgICAgICAgIDI0cHhcbjQgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgIDQwcHhcbjYgICAgICAgICAgIDQ4cHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR3JpZCBjb250YWluZXIgbWF4LXdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tb2JpbGVcbm1vYmlsZS1sZ1xudGFibGV0XG50YWJsZXQtbGdcbmRlc2t0b3BcbmRlc2t0b3AtbGdcbndpZGVzY3JlZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VVElMSVRJRVMgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHV0aWxpdGllcyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L3V0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VdGlsaXR5IGJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGljaCBicmVha3BvaW50cyBkb2VzIHlvdXIgcHJvamVjdFxubmVlZD8gU2VsZWN0IGFzIGB0cnVlYCBhbnkgYnJlYWtwb2ludFxudXNlZCBieSB1dGlsaXRpZXMgb3IgbGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVGhlIGZvbGxvd2luZyBwYWxldHRlcyB3aWxsIGJlIGFkZGVkIHRvXG4tIGJhY2tncm91bmQtY29sb3Jcbi0gYm9yZGVyLWNvbG9yXG4tIGNvbG9yXG4tIHRleHQtZGVjb3JhdGlvbi1jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5WYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hcHBlbmQtaW1wb3J0YW50KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFwcGVuZCBgIWltcG9ydGFudGAgdG8gYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1sYXN0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB0aGUgbGFzdCBpdGVtIG9mIGEgbGlzdCxcblJldHVybiBudWxsIGlmIHRoZSB2YWx1ZSBpcyBudWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlLWxpc3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHJhbnNmb3JtIGEgb25lLWVsZW1lbnQgbGlzdCBvciBhcmdsaXN0XG5pbnRvIHRoYXQgc2luZ2xlIGVsZW1lbnQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4oMSkgPT4gMVxuKCgxKSkgPT4gKDEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmVycm9yLW5vdC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIGEgY29tbW9uIG5vdC1hLXRva2VuIGVycm9yLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG51c3dkcy1lcnJvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BbGxvdyB0aGUgc3lzdGVtIHRvIHBhc3MgYW4gZXJyb3IgYXMgdGV4dFxudG8gdGVzdCBlcnJvciBzdGF0ZXMgaW4gdW5pdCB0ZXN0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1kZWZhdWx0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGRlZmF1bHQgdmFsdWUgZnJvbSBhIG1hcFxub2YgcHJvamVjdCBkZWZhdWx0c1xuZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKVxuPiAkdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhhcy1pbXBvcnRhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGAhaW1wb3J0YW50YCBpc1xuYmVpbmcgcGFzc2VkIGluIGEgbWl4aW4ncyBwcm9wc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtY29sbGVjdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0IG11bHRpcGxlIG1hcHMgaW50byBhIHNpbmdsZVxubGFyZ2UgbWFwXG5zb3VyY2U6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2JpZ2dsZXNyb2Nrcy9kNzUwOTE3MDBmOGYyYmU1YWJmZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtZGVlcC1nZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5AYWNjZXNzIHB1YmxpY1xuQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXBcbkBwYXJhbSB7QXJnbGlzdH0gJGtleXMgLSBLZXkgY2hhaW5cbkByZXR1cm4geyp9IC0gRGVzaXJlZCB2YWx1ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tdWx0aS1jYXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29uY2F0ZW5hdGUgdHdvIGxpc3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbW92ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgYSB2YWx1ZSBmcm9tIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zbWFydC1xdW90ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5RdW90ZXMgc3RyaW5nc1xuSW5zcGVjdHMgYHB4YCwgYHhzYCwgYW5kIGB4bGAgbnVtYmVyc1xuTGVhdmVzIGJvb2xzIGFzIGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0ci1yZXBsYWNlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlcGxhY2UgYW55IHN1YnN0cmluZyB3aXRoIGFub3RoZXJcbnN0cmluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHItc3BsaXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU3BsaXQgYSBzdHJpbmcgYXQgYSBnaXZlbiBzZXBhcmF0b3JcbmFuZCBjb252ZXJ0IGludG8gYSBsaXN0IG9mIHN1YnN0cmluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyaXAtdW5pdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbkBhdXRob3IgSHVnbyBHaXJhdWRlbFxuQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5iYXNlLXRvLW1hcCgpXG5AVE9ETzogRGVwcmVjYXRlIGFuZCBkZWxldGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBzaW5nbGUgYmFzZSB0byBhIFVTV0RTXG52YWx1ZSBtYXAuXG5cbkNhbmRpZGF0ZSBmb3IgZGVwcmVjYXRpb24gaWYgd2UgcmVtb3ZlXG5pc1JlYWRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRvLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG5AcmV0dXJuIHtOdW1iZXJ9XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVucGFjaygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DcmVhdGUgbGlzdHMgb2Ygc2luZ2xlIGl0ZW1zIGZyb20gbGlzdHNcbm9mIGxpc3RzLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKDEsICgyLjEsIDIuMiksIDMpIC0tPlxuKDEsIDIuMSwgMi4yLCAzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3Igc2hvcnRjb2RlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zZXQtdGhlbWUtY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIHN5c3RlbSBjb2xvciB0b2tlblxub3IgYSBoZXggdmFsdWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucHgtdG8tcmVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcHggdG8gYSB2YWx1ZSBpbiByZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXB4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW4gcHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXVzZXItZW0oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSB2YWx1ZSBpbiByZW0gdG8gYSB2YWx1ZSBpblxuW3VzZXItc2V0dGluZ3NdIGVtIGZvciB1c2UgaW4gbWVkaWFcbnF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3BhY2luZy1tdWx0aXBsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHNwYWNpbmcgdW5pdCBtdWx0aXBsZSBpbnRvXG50aGUgZGVzaXJlZCBmaW5hbCB1bml0cyAoY3VycmVudGx5IHJlbSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudW5pdHMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBzcGFjaW5nIHVuaXQgaW50b1xudGhlIGRlc2lyZWQgZmluYWwgdW5pdHMgKGN1cnJlbnRseSByZW0pXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm51bWJlci10by10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhbiBpbnRlZ2VyIG9yIG51bWVyaWMgdmFsdWVcbmludG8gYSBzeXN0ZW0gdmFsdWVcblxuRXg6IDAuNSAgIC0tPiAnMDUnXG4gICAgLTFweCAgLS0+ICduZWctMXB4J1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Qcm9qZWN0IGZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0cyBmb250IHNldHRpbmdzIGluIGEgbWFwIGZvclxubG9vcGluZy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTHVtaW5hbmNlIHJhbmdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuYW1lc3NwYWNlIG9mICR0eXBlIGlmIHRoYXRcbm5hbWVzcGFjZSBpcyBzZXQgdG8gb3V0cHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1zeXN0ZW0tY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgc3lzdGVtIGNvbG9yIGZyb20gaXRzXG5mYW1pbHksIHZhbHVlLCBhbmQgdml2aWQgb3IgYSBwYXNzZWRcbnZhcmlhYmxlIHRoYXQgaXMsIGl0c2VsZiwgYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgaGVpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FwLWhlaWdodCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIGNhcCBoZWlnaHQgb2YgYSB2YWxpZCB0eXBlZmFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YWxpZGF0ZS10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DaGVjayB0byBzZWUgaWYgYSB0eXBlZmFjZS10b2tlbiBleGlzdHMuXG5UaHJvdyBhbiBlcnJvciBpZiBhIHBhc3NlZCB0b2tlbiBkb2VzXG5ub3QgZXhpc3QgaW4gdGhlIHR5cGVmYWNlLXRva2VuIG1hcC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29udmVydC10by1mb250LXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBmb250LXJvbGUgdG9rZW4gaW50byBhXG5mb250LXR5cGUgdG9rZW4uIExlYXZlcyBmb250LXR5cGUgdG9rZW5zXG51bmNoYW5nZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtc291cmNlcygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5PdXRwdXRzIGEgbGlzdCBvZiBmb250IHNvdXJjZXMgdXNlZCBpblxuYSBAZm9udC1mYWNlIGRlY2xhcmF0aW9uLlxuXG4kdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IHRydWUgLSBvdXRwdXQgd29mZjIsIHdvZmYsIHR0ZlxuJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5OiBmYWxzZSAtIG91dHB1dCB3b2ZmMlxuXG5AcGFyYW0gc3RlbTogc3RyaW5nIC0gW2ZvbnQgcGF0aF0vW2N1c3RvbS1zcmMuZGlyXS9bY3VzdG9tLXNyYy5bc3R5bGVdLlt3ZWlnaHRdXVxuQG91dHB1dDogc3RyaW5nXG5cbmZpbGV0eXBlcyBtdXN0IGJlIG9uZSBvZiB0aGUgZmlsZXR5cGVzIHNldCBpbiB2YXJpYWJsZXMvJHByb2plY3QtZm9udC1mYWNlLWZpbGV0eXBlcyAod29mZiwgd29mZjIsIHR0Zilcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWZvbnQtc3RhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udCBzdGFjayBmcm9tIGEgc3R5bGUtIG9yXG5yb2xlLWJhc2VkIGZvbnQgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSB0eXBlZmFjZSB0b2tlbiBmcm9tIGEgZm9udC10eXBlIG9yXG5mb250LXJvbGUgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5vcm1hbGl6ZS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vcm1hbGl6ZXMgYSBzcGVjaWZpYyBmYWNlJ3Mgb3B0aWNhbCBzaXplXG50byBhIHNldCB0YXJnZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3lzdGVtLXR5cGUtc2NhbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdmFsdWUgZnJvbSB0aGUgc3lzdGVtIHR5cGUgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRWFzaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogIGRlcHJlY2F0ZWQuc2Nzc1xuICAgIC0tLVxuICAgIE9jY2FzaW9uYWxseSB0aGUgZGVzaWduIHN5c3RlbSB3aWxsIGRlcHJlY2F0ZVxuICAgIG9sZCB2YXJpYWJsZXMgb3IgZnVuY3Rpb25hbGl0eS4gSWYgd2UgcmVwbGFjZVxuICAgIHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB3aXRoIHNvbWV0aGluZyBuZXcsIHRoaXMgaXMgYVxuICAgIHBsYWNlIHRvIGNvbm5lY3QgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IHRvIHRoZVxuICAgIG5ldyBmdW5jdGlvbmFsaXR5LCBpbiB0aGUgc2VydmljZSBvZiBiZXR0ZXJcbiAgICBjb250aW51aXR5IGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoaW4gYVxuICAgIG1ham9yIHJlbGVhc2UgY3ljbGUuXG5cbiAgICBOb3RlIHRoZSBVU1dEUyB2ZXJzaW9uIHdoZXJlIHdlIGRlcHJlY2F0ZWQgdGhlXG4gICAgb2xkIGZ1bmN0aW9uYWxpdHkgaW4gYSBjb21tZW50LlxuXG4gICAgQmUgc3VyZSB0byB1cGRhdGUgbm90aWZpY2F0aW9ucy5zY3NzLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hZHZhbmNlZC1jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3IgdHJpcGxldDpcbltmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FsY3VsYXRlLWdyYWRlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSB0aGUgZ3JhZGUgZXF1aXZhbGVudCBhbnkgY29sb3IsXG5ldmVuIG5vbi10b2tlbiBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tYXNzaWdubWVudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIHN5c3RlbSB0b2tlbiBlcXVpdmFsZW50IG9mIGFueVxudGhlbWUgY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtc3lzdGVtLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSBzeXN0ZW1cbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXRoZW1lLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSB0aGVtZVxuY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGZhbWlseSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZmFtaWx5XG5jb2xvci10b2tlbi1mYW1pbHkoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcImFjY2VudC13YXJtXCJcbmNvbG9yLXRva2VuLWZhbWlseShcInJlZC01MHZcIilcbj4gXCJyZWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwicmVkXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZGVjb21wb3NlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBjb2xvciB0b2tlbiBpbnRvIGludG8gYSBsaXN0XG5vZiBmb3JtIFtmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cblZpdmlkIHZhcmlhbnRzIHJldHVybiBcInZpdmlkXCIgYXMgdGhlXG52YXJpYW50LlxuSWYgbmVpdGhlciBncmFkZSBub3IgdmFyaWFudCBleGlzdHMsXG5yZXR1cm5zICdudWxsJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBncmFkZSBvZiBhIFVTV0RTIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZ3JhZGVcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm1cIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tZGFya2VyXCIpXG4+IFwiZGFya2VyXCJcbmNvbG9yLXRva2VuLWdyYWRlKFwicmVkLTUwdlwiKVxuPiA1MFxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBmYW1pbHkgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWZhbWlseVxuY29sb3ItdG9rZW4tZmFtaWx5KFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJhY2NlbnQtd2FybVwiXG5jb2xvci10b2tlbi1mYW1pbHkoXCJyZWQtNTB2XCIpXG4+IFwicmVkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiBcInJlZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhXG5VU1dEUyBjb2xvciB0b2tlbi5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucG93KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJhaXNlcyBhIHVuaXRsZXNzIG51bWJlciB0byB0aGUgcG93ZXJcbm9mIGFub3RoZXIgdW5pdGxlc3MgbnVtYmVyXG5JbmNsdWRlcyBoZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkhlbHBlciBmdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBmYWN0b3JpYWwoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIHN1bW1hdGlvbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogZXhwLW1hY2xhdXJpbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogbG4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi10eXBlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIHR5cGUgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IFwic3lzdGVtXCIgfCBcInRoZW1lXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdmFyaWFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB2YXJpYW50IG9mIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJ2aXZpZFwiIHwgZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybVwiKVxuPiBmYWxzZVxuY29sb3ItdG9rZW4tdmFyaWFudChcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudChcInJlZC01MHZcIilcbj4gXCJ2aXZpZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJ2aXZpZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBtYWdpYyBudW1iZXIgb2YgdHdvIGNvbG9yXG5ncmFkZXMuIFRha2VzIG51bWJlcnMgb3IgY29sb3IgdG9rZW5zLlxubWFnaWMtbnVtYmVyKDUwLCAxMClcbnJldHVybjogNDBcbm1hZ2ljLW51bWJlcihcInJlZC01MFwiLCBcInJlZC0xMFwiKVxucmV0dXJuOiA0MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHdoZXRoZXIgdHdvIGdyYWRlcyBhY2hpZXZlXG5zcGVjaWZpZWQgdGFyZ2V0IGNvbG9yIGNvbnRyYXN0XG5SZXR1cm5zOiB0cnVlIHwgZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA1MCwgXCJBQVwiKVxuPiBmYWxzZVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoMTAsIDYwLCBcIkFBXCIpXG4+IHRydWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxud2NhZy1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIGEgc3BlY2lmaWNcbndjYWcgZ3JhZGU6XG5cIkFBXCJcblwiQUEtTGFyZ2VcIlxuXCJBQUFcIlxud2NhZy1tYWdpYy1udW1iZXIoXCJBQVwiKVxuPiA1MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYWNjZXNzaWJsZSBsaW5rIGNvbG9ycyBmb3IgYSBnaXZlblxuYmFja2dyb3VuZCBjb2xvclxucmV0dXJuczogbGluay10b2tlbiwgaG92ZXItdG9rZW5cbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTYwXCIsXG4gIFwicmVkLTEwXCIsXG4gIFwiQUFcIilcbj4gXCJyZWQtMTBcIiwgXCJyZWQtNVwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC02MHZcIixcbiAgXCJyZWQtMTB2XCIsXG4gIFwiQUEtbGFyZ2VcIilcbj4gXCJyZWQtNjB2XCIsIFwicmVkLTUwdlwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC01dlwiLFxuICBcInJlZC02MHZcIixcbiAgXCJBQVwiKVxuPiBcInJlZC01dlwiLCBcIndoaXRlXCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwid2hpdGVcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwiQUFcIilcbj4gXCJ3aGl0ZVwiLCBcIndoaXRlXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubmV4dC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIG5leHQgXCJkYXJrZXJcIiBvciBcImxpZ2h0ZXJcIiBjb2xvclxudG9rZW4gb2YgdGhlIHNhbWUgdG9rZW4gdHlwZSBhbmQgdmFyaWFudC5cblJldHVybnM6IGNvbG9yLXRva2VuIHwgZmFsc2Vcbm5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJhY2NlbnQtd2FybS1saWdodFwiXG5uZXh0LXRva2VuKFwiZ3JheS0xMFwiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTVcIlxubmV4dC10b2tlbihcImdyYXktNVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJ3aGl0ZVwiXG5uZXh0LXRva2VuKFwid2hpdGVcIiwgXCJsaWdodGVyXCIpXG4+IGZhbHNlXG5uZXh0LXRva2VuKFwicmVkLTUwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MHZcIlxubmV4dC10b2tlbihcInJlZC01MFwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MFwiXG5uZXh0LXRva2VuKFwicmVkLTgwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC05MFwiXG5uZXh0LXRva2VuKFwicmVkLTkwXCIsIFwiZGFya2VyXCIpXG4+IFwiYmxhY2tcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwiZGFya2VyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJibGFja1wiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTkwXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdC1jb2xvcnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGFsbCBzeXN0ZW0gY29sb3JzXG5mYWxsIGJldHdlZW4gdGhlIHByb3BlciByZWxhdGl2ZVxubHVtaW5hbmNlIHJhbmdlIGZvciB0aGVpciBncmFkZS5cbkhhcyBhIGNvdXBsZSBxdWlya3MsIGFzIHRoZSBsdW1pbmFuY2UoKVxuZnVuY3Rpb24gcmV0dXJucyBzbGlnaHRseSBkaWZmZXJlbnRcbnJlc3VsdHMgdGhhbiBleHBlY3RlZC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sdW1ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vdXRwdXRzIGEgZ3JpZC1jb2wgbnVtYmVyIGJhc2VkIG9uXG50aGUgbnVtYmVyIG9mIGRlc2lyZWQgY29sdW1ucyBpbiB0aGVcbjEyLWNvbHVtbiBncmlkXG5cbkV4OiBjb2x1bW5zKDIpIC0tPiA2XG4gICAgZ3JpZC1jb2woY29sdW1ucygyKSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgUHJvcGVydGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdXN3ZHMtdmFsdWUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRmluZHMgYW5kIG91dHB1dHMgYSB2YWx1ZSBmcm9tIHRoZVxuVVNXRFMgc3RhbmRhcmQgdmFsdWVzLlxuXG5Vc2VkIHRvIGJ1aWxkIG90aGVyIHN0YW5kYXJkIHV0aWxpdHlcbmZ1bmN0aW9ucyBhbmQgbWl4aW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtc3RhbmRhcmQtdmFsdWVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSBtYXAgb2YgVVNXRFMgc3RhbmRhcmQgdmFsdWVzXG5mb3IgYSBwcm9wZXJ0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ib3JkZXItcmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgZnJvbSB0aGUgc3lzdGVtXG5ib3JkZXItcmFkaWlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC13ZWlnaHQoKVxuZncoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC13ZWlnaHQgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBmb250LXdlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mZWF0dXJlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmb250IGZlYXR1cmUgc2V0dGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mbGV4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmbGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtZmFtaWx5KClcbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFjayBmcm9tIGFcbnJvbGUtYmFzZWQgb3IgdHlwZS1iYXNlZCBmb250IGZhbWlseVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXR0ZXItc3BhY2luZygpXG5scygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBsZXR0ZXItc3BhY2luZyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1lYXN1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIHJlYWRpbmcgbGluZSBsZW5ndGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3BhY2l0eSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3BhY2l0eSBmcm9tIHRoZSBzeXN0ZW1cbm9wYWNpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vcmRlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3JkZXIgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBsZXR0ZXItc3BhY2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHR5cGUgc2NhbGUgdmFsdWUgZnJvbSBhIFtmYW1pbHldIGFuZFxuW3NjYWxlXVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG56LWluZGV4KClcbnooKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgei1pbmRleCB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIHotaW5kZXhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXRpbGl0eS1mb250KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTm90IHRoZSBwdWJsaWMtZmFjaW5nIGZ1bmN0aW9uLlxuVXNlZCBmb3IgYnVpbGRpbmcgdGhlIHV0aWxpdGllcyBhbmRcbndpdGhob2xkcyBjZXJ0YWluIGVycm9ycy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC1mYW1pbHkgc3RhY2tcbkFORFxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnR5cGVzZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0czpcbi0gZmFtaWx5XG4tIHNpemVcbi0gbGluZS1oZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItcHNldWRvY2xhc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgcHNldWNvY2xhc3MgdXRpbGl5IGZyb20gdmFsdWVzXG5jYWxjdWxhdGVkIGluIHRoZSBAcmVuZGVyLXV0aWxpdGllcy1pblxubG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXV0aWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgdXRpbGl0eSBmcm9tIHZhbHVlcyBjYWxjdWxhdGVkXG5pbiB0aGUgQHJlbmRlci11dGlsaXRpZXMtaW4gbG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVE9ETzogRGV0ZXJtaW5lIHRoZSBwcm9wZXIgdXNlIG9mXG51bnF1b3RlKCkgaW4gdGhlIGZvbGxvd2luZy4gQ2hhbmdlZCB0b1xuYWNjb3VudCBmb3IgYSAnaW50ZXJwb2xhdGlvbiBuZWFyXG5vcGVyYXRvcnMgd2lsbCBiZSBzaW1wbGlmaWVkIGluIGFcbmZ1dHVyZSB2ZXJzaW9uIG9mIFNhc3MnIHdhcm5pbmcuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItdXRpbGl0aWVzLWluXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGUgbWFzdGVyIGxvb3AgdGhhdCBzZXRzIHRoZSBidWlsZGluZ1xuYmxvY2tzIG9mIHV0aWxpdGllcyBmcm9tIHRoZSB2YWx1ZXNcbmluIGluZGl2aWR1YWwgcnVsZSBzZXR0aW5ncyBhbmQgbG9vcHNcbnRocm91Z2ggYWxsIHBvc3NpYmxlIHZhcmlhbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogIG5vdGlmaWNhdGlvbnMuc2Nzc1xuICAgIC0tLVxuICAgIEFkZHMgYSBub3RpZmljYXRpb24gYXQgdGhlIHRvcCBvZiBlYWNoIFVTV0RTXG4gICAgY29tcGlsZS4gVXNlIHRoaXMgZmlsZSBmb3IgaW1wb3J0YW50IG5vdGlmaWNhdGlvbnNcbiAgICBhbmQgdXBkYXRlcyB0byB0aGUgZGVzaWduIHN5c3RlbS5cblxuICAgIFRoaXMgZmlsZSBzaG91bGQgc3RhcnRlZCBmcmVzaCBhdCBlYWNoXG4gICAgbWFqb3IgdmVyc2lvbi5cblxuKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLyogcHJldHRpZXItaWdub3JlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLnVzYS1tZWRpYS1ibG9jayB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udXNhLW1lZGlhLWJsb2NrX19pbWcge1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi51c2EtbWVkaWEtYmxvY2tfX2JvZHkge1xuICBmbGV4OiAxIDEgMCU7XG59XG5cbi51c2EtYmFubmVyIHtcbiAgZm9udC1mYW1pbHk6IFNvdXJjZSBTYW5zIFBybyBXZWIsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4wNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lciB7XG4gICAgZm9udC1zaXplOiAwLjg3cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICB9XG59XG4udXNhLWJhbm5lciAudXNhLWFjY29yZGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBTb3VyY2UgU2FucyBQcm8gV2ViLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMDZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi51c2EtYmFubmVyIC5ncmlkLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVzYS1iYW5uZXIgLmdyaWQtcm93LmdyaWQtZ2FwLWxnIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjc1cmVtO1xufVxuXG4udXNhLWJhbm5lciAuZ3JpZC1yb3cuZ3JpZC1nYXAtbGcgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyIC5ncmlkLXJvdyAudGFibGV0XFw6Z3JpZC1jb2wtNiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuLnVzYS1iYW5uZXJfX2hlYWRlcixcbi51c2EtYmFubmVyX19jb250ZW50IHtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJncmF5XCIsIDkwKTtcbn1cblxuLnVzYS1iYW5uZXJfX2NvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDY0cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC51c2EtYmFubmVyX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lcl9fY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICB9XG59XG4udXNhLWJhbm5lcl9fY29udGVudCBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udXNhLWJhbm5lcl9fZ3VpZGFuY2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWF4LXdpZHRoOiA2NGV4O1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lcl9fZ3VpZGFuY2Uge1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICB9XG59XG4udXNhLWJhbm5lcl9fbG9jay1pbWFnZSB7XG4gIGhlaWdodDogMS41ZXg7XG4gIHdpZHRoOiAxLjIxODc1ZXg7XG59XG5cbi51c2EtYmFubmVyX19sb2NrLWltYWdlIHBhdGgge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC51c2EtYmFubmVyX19sb2NrLWltYWdlIHBhdGgge1xuICAgIGZpbGw6IENhbnZhc1RleHQ7XG4gIH1cbn1cbi51c2EtYmFubmVyX19pbm5lciB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwcmVtO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC51c2EtYmFubmVyX19pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2lubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lcl9faW5uZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cbi51c2EtYmFubmVyX19oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWluLWhlaWdodDogM3JlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbn1cbi51c2EtYmFubmVyX19oZWFkZXItdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4udXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbiB7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZVwiLCA2MCwgXCJ2aXZpZFwiKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb246OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3VzYS1pY29ucy9leHBhbmRfbW9yZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMXJlbTtcbiAgd2lkdGg6IDFyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5Ac3VwcG9ydHMgKG1hc2s6IHVybChcIlwiKSkge1xuICAudXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWVcIiwgNjAsIFwidml2aWRcIik7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiLi4vaW1nL3VzYS1pY29ucy9leHBhbmRfbW9yZS5zdmdcIiksIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IDFyZW0gMXJlbTtcbiAgfVxuICAudXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbjo6YWZ0ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gIH1cbn1cbi51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uOmhvdmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uOnZpc2l0ZWQge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcInZpb2xldFwiLCA3MCwgXCJ2aXZpZFwiKTtcbn1cblxuLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb246aG92ZXIsIC51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uOmFjdGl2ZSB7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZS13YXJtXCIsIDcwLCBcInZpdmlkXCIpO1xufVxuXG4udXNhLWJhbm5lcl9faGVhZGVyLS1leHBhbmRlZCAudXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uIHtcbiAgICBjb2xvcjogTGlua1RleHQ7XG4gIH1cbiAgLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25UZXh0O1xuICB9XG59XG4udXNhLWJhbm5lcl9faGVhZGVyLWZsYWcge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIHdpZHRoOiAxcmVtO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19oZWFkZXItZmxhZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gIH1cbn1cbi51c2EtYmFubmVyX19oZWFkZXItLWV4cGFuZGVkIHtcbiAgcGFkZGluZy1yaWdodDogMy41cmVtO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19oZWFkZXItLWV4cGFuZGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1pbi1oZWlnaHQ6IDByZW07XG4gICAgcGFkZGluZy1yaWdodDogMHJlbTtcbiAgfVxufVxuLnVzYS1iYW5uZXJfX2hlYWRlci0tZXhwYW5kZWQgLnVzYS1iYW5uZXJfX2lubmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW07XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2hlYWRlci0tZXhwYW5kZWQgLnVzYS1iYW5uZXJfX2lubmVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuLnVzYS1iYW5uZXJfX2hlYWRlci0tZXhwYW5kZWQgLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uIHtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlXCIsIDYwLCBcInZpdmlkXCIpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZVwiLCA2MCwgXCJ2aXZpZFwiKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlXCIsIDYwLCBcInZpdmlkXCIpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctbGVmdDogMHJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbjp2aXNpdGVkIHtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJ2aW9sZXRcIiwgNzAsIFwidml2aWRcIik7XG59XG5cbi51c2EtYmFubmVyX19idXR0b246aG92ZXIge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWUtd2FybVwiLCA3MCwgXCJ2aXZpZFwiKTtcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbjphY3RpdmUge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWUtd2FybVwiLCA4MCwgXCJ2aXZpZFwiKTtcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDAuMjVyZW0gc29saWQgZ2V0LXN5c3RlbS1jb2xvcihcImJsdWVcIiwgNDAsIFwidml2aWRcIik7XG4gIG91dGxpbmUtb2Zmc2V0OiAwcmVtO1xufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uLnVzYS1idXR0b24tLWhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06aG92ZXIsIC51c2EtYmFubmVyX19idXR0b246ZGlzYWJsZWQudXNhLWJ1dHRvbi0taG92ZXIsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXS51c2EtYnV0dG9uLS1ob3ZlciwgLnVzYS1iYW5uZXJfX2J1dHRvbjphY3RpdmUsIC51c2EtYmFubmVyX19idXR0b24udXNhLWJ1dHRvbi0tYWN0aXZlLCAudXNhLWJhbm5lcl9fYnV0dG9uOmRpc2FibGVkOmFjdGl2ZSwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWRpc2FibGVkPXRydWVdOmFjdGl2ZSwgLnVzYS1iYW5uZXJfX2J1dHRvbjpkaXNhYmxlZC51c2EtYnV0dG9uLS1hY3RpdmUsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXS51c2EtYnV0dG9uLS1hY3RpdmUsIC51c2EtYmFubmVyX19idXR0b246ZGlzYWJsZWQ6Zm9jdXMsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXTpmb2N1cywgLnVzYS1iYW5uZXJfX2J1dHRvbjpkaXNhYmxlZC51c2EtZm9jdXMsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXS51c2EtZm9jdXMsIC51c2EtYmFubmVyX19idXR0b246ZGlzYWJsZWQsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSwgLnVzYS1iYW5uZXJfX2J1dHRvbi51c2EtYnV0dG9uLS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbi51c2EtYnV0dG9uLS1ob3ZlciB7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZS13YXJtXCIsIDcwLCBcInZpdmlkXCIpO1xufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uLnVzYS1idXR0b24tLWFjdGl2ZSB7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZS13YXJtXCIsIDgwLCBcInZpdmlkXCIpO1xufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uOmRpc2FibGVkLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sIC51c2EtYmFubmVyX19idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXTpob3ZlciwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWRpc2FibGVkPXRydWVdOmZvY3VzIHtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJncmF5XCIsIDUwKTtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLnVzYS1iYW5uZXJfX2J1dHRvbjpkaXNhYmxlZCwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWRpc2FibGVkPXRydWVdLCAudXNhLWJhbm5lcl9fYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06aG92ZXIsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXTpmb2N1cyB7XG4gICAgY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG4udXNhLWJhbm5lcl9fYnV0dG9uOnZpc2l0ZWQge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcInZpb2xldFwiLCA3MCwgXCJ2aXZpZFwiKTtcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbjpob3ZlciwgLnVzYS1iYW5uZXJfX2J1dHRvbjphY3RpdmUge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWUtd2FybVwiLCA3MCwgXCJ2aXZpZFwiKTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAudXNhLWJhbm5lcl9fYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudXNhLWJhbm5lcl9fYnV0dG9uOmVuYWJsZWQ6Zm9jdXMge1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMC4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lcl9fYnV0dG9uIHtcbiAgICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWVcIiwgNjAsIFwidml2aWRcIik7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICB0b3A6IGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC51c2EtYmFubmVyX19idXR0b246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdXNhLWljb25zL2V4cGFuZF9tb3JlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgfVxuICBAc3VwcG9ydHMgKG1hc2s6IHVybChcIlwiKSkge1xuICAgIC51c2EtYmFubmVyX19idXR0b246OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZVwiLCA2MCwgXCJ2aXZpZFwiKTtcbiAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uL2ltZy91c2EtaWNvbnMvZXhwYW5kX21vcmUuc3ZnXCIpLCBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbiAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1zaXplOiAxcmVtIDFyZW07XG4gICAgfVxuICAgIC51c2EtYmFubmVyX19idXR0b246OmFmdGVyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gICAgfVxuICB9XG4gIC51c2EtYmFubmVyX19idXR0b246aG92ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gIH1cbiAgLnVzYS1iYW5uZXJfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcInZpb2xldFwiLCA3MCwgXCJ2aXZpZFwiKTtcbiAgfVxuICAudXNhLWJhbm5lcl9fYnV0dG9uOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gIH1cbiAgLnVzYS1iYW5uZXJfX2J1dHRvbjo6YWZ0ZXIsIC51c2EtYmFubmVyX19idXR0b246aG92ZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAudXNhLWJhbm5lcl9fYnV0dG9uOjphZnRlciwgLnVzYS1iYW5uZXJfX2J1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEJ1dHRvblRleHQ7XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2J1dHRvbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4udXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9ZmFsc2VdLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9ZmFsc2VdOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0sIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTpob3ZlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD1mYWxzZV06OmJlZm9yZSwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPWZhbHNlXTpob3Zlcjo6YmVmb3JlLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmJlZm9yZSwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmhvdmVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3VzYS1pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS41cmVtIDEuNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMHJlbTtcbiAgfVxuICBAc3VwcG9ydHMgKG1hc2s6IHVybChcIlwiKSkge1xuICAgIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlXCIsIDYwLCBcInZpdmlkXCIpO1xuICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vaW1nL3VzYS1pY29ucy9jbG9zZS5zdmdcIiksIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXNpemU6IDEuNXJlbSAxLjVyZW07XG4gICAgfVxuICB9XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImdyYXktY29vbFwiLCAxMCk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IDNyZW07XG4gIH1cbiAgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDByZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy91c2EtaWNvbnMvZXhwYW5kX2xlc3Muc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICB9XG4gIEBzdXBwb3J0cyAobWFzazogdXJsKFwiXCIpKSB7XG4gICAgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWVcIiwgNjAsIFwidml2aWRcIik7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWcvdXNhLWljb25zL2V4cGFuZF9sZXNzLnN2Z1wiKSwgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG4gICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogMXJlbSAxcmVtO1xuICAgIH1cbiAgICAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gICAgfVxuICB9XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTpob3Zlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWUtd2FybVwiLCA3MCwgXCJ2aXZpZFwiKTtcbiAgfVxuICAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06aG92ZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25UZXh0O1xuICB9XG59XG4udXNhLWJhbm5lcl9fYnV0dG9uLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTllbTtcbiAgcmlnaHQ6IGF1dG87XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19idXR0b24tdGV4dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC51c2EtYmFubmVyX19idXR0b24tdGV4dCB7XG4gICAgY29sb3I6IExpbmtUZXh0O1xuICB9XG59XG4udXNhLWJhbm5lcl9faWNvbiB7XG4gIHdpZHRoOiAyLjVyZW07XG59XG5cbi51c2EtanMtbG9hZGluZyAudXNhLWJhbm5lcl9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OWVtO1xuICByaWdodDogYXV0bztcbn1cblxuLyogVFlQT0dSQVBIWSAqL1xuLyogR29vZ2xlIEZvbnRzICovXG5oMSxcbi5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbnAge1xuICBjb2xvcjogIzA1MEQxNTtcbn1cblxuaDEsXG4uaDEge1xuICBmb250LWZhbWlseTogXCJGamFsbGEgT25lXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5oMixcbi5oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZqYWxsYSBPbmVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmgzLFxuLmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oNCxcbi5oNCB7XG4gIGZvbnQtZmFtaWx5OiBcIkZqYWxsYSBPbmVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmg1LFxuLmg1IHtcbiAgZm9udC1mYW1pbHk6IFwiRmphbGxhIE9uZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxucCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5wLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG5idXR0b24sXG5hLmJ1dHRvbixcbmEubG9jay1pY29uLWJ1dHRvbixcbmEubG9jay1pY29uLWJ1dHRvbi13aGl0ZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jYXJkLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJGamFsbGEgT25lXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5wID4gYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm12LTAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubXItOCB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ubWwtOCB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5tci0xNiB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cblxuLm1sLTE2IHtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi53cmFwcGVyIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNDBweDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWNvbHVtbnM6IG1pbm1heCgxZnIsIGF1dG8pO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgW2NvbC1zdGFydF0gMWZyKTtcbiAgZ2FwOiAyNHB4O1xuICBncmlkLWF1dG8tcm93czogYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZ3JpZCAuY29sLTEsXG4uZ3JpZCAuY29sLTIsXG4uZ3JpZCAuY29sLTMsXG4uZ3JpZCAuY29sLTQsXG4uZ3JpZCAuY29sLTUsXG4uZ3JpZCAuY29sLTYsXG4uZ3JpZCAuY29sLTcsXG4uZ3JpZCAuY29sLTgsXG4uZ3JpZCAuY29sLTksXG4uZ3JpZCAuY29sLTEwLFxuLmdyaWQgLmNvbC0xMSxcbi5ncmlkIC5jb2wtMTIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZ3JpZCAuY29sLTIge1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjtcbn1cbi5ncmlkIC5jb2wtMyB7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiAzO1xufVxuLmdyaWQgLmNvbC00IHtcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7XG59XG4uZ3JpZCAuY29sLTUge1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gNTtcbn1cbi5ncmlkIC5jb2wtNiB7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiA2O1xufVxuLmdyaWQgLmNvbC03IHtcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDc7XG59XG4uZ3JpZCAuY29sLTgge1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gODtcbn1cbi5ncmlkIC5jb2wtOSB7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiA5O1xufVxuLmdyaWQgLmNvbC0xMCB7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxMDtcbn1cbi5ncmlkIC5jb2wtMTEge1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTE7XG59XG4uZ3JpZCAuY29sLTEyIHtcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDEyO1xufVxuLmdyaWQgLmNvbC1zdGFydC0xIHtcbiAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG59XG4uZ3JpZCAuY29sLXN0YXJ0LTIge1xuICBncmlkLWNvbHVtbi1zdGFydDogMjtcbn1cbi5ncmlkIC5jb2wtc3RhcnQtMyB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xufVxuLmdyaWQgLmNvbC1zdGFydC00IHtcbiAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDQ7XG59XG4uZ3JpZCAuY29sLXN0YXJ0LTUge1xuICBncmlkLWNvbHVtbi1zdGFydDogNTtcbn1cbi5ncmlkIC5jb2wtc3RhcnQtNiB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiA2O1xufVxuLmdyaWQgLmNvbC1zdGFydC03IHtcbiAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDc7XG59XG4uZ3JpZCAuY29sLXN0YXJ0LTgge1xuICBncmlkLWNvbHVtbi1zdGFydDogODtcbn1cbi5ncmlkIC5jb2wtc3RhcnQtOSB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiA5O1xufVxuLmdyaWQgLmNvbC1zdGFydC0xMCB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiAxMDtcbn1cbi5ncmlkIC5jb2wtc3RhcnQtMTEge1xuICBncmlkLWNvbHVtbi1zdGFydDogMTE7XG59XG4uZ3JpZCAuY29sLXN0YXJ0LTEyIHtcbiAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzg5cHgpIHtcbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICB9XG4gIC5ncmlkIC5jb2wtMSxcbiAgLmdyaWQgLmNvbC0yLFxuICAuZ3JpZCAuY29sLTMsXG4gIC5ncmlkIC5jb2wtNCxcbiAgLmdyaWQgLmNvbC01LFxuICAuZ3JpZCAuY29sLTYsXG4gIC5ncmlkIC5jb2wtNyxcbiAgLmdyaWQgLmNvbC04LFxuICAuZ3JpZCAuY29sLTksXG4gIC5ncmlkIC5jb2wtMTAsXG4gIC5ncmlkIC5jb2wtMTEsXG4gIC5ncmlkIC5jb2wtMTIsXG4gIC5ncmlkIC5jb2wge1xuICAgIGdyaWQtY29sdW1uOiBhdXRvO1xuICB9XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubmF2IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICM2MTYyNjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEge1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDBweCAwcHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjA1ODhBO1xuICBiYWNrZ3JvdW5kOiAjRjRGQkZGO1xuICBjb2xvcjogIzIwNTg4QTtcbn1cbi5uYXYgPiAubWVudS1pdGVtLS1hY3RpdmUtdHJhaWwgPiBhOmhvdmVyIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwcHggMHB4O1xufVxuLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGE6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBhdXRvIDFweDtcbn1cbi5uYXYgLmxvZy1vdXQtaWNvbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9nb3V0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDIycHg7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjJweDtcbn1cblxuLm5hdi1pdGVtID4gYTpub3QoLmJ1dHRvbi1wcmltYXJ5LCAuYnV0dG9uLXNlY29uZGFyeSk6aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLUxpZ2h0LWJsdWUsICNGNEZCRkYpO1xufVxuXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTk5O1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fc2VydmljZXNfaWNvbl0sXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dLFxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fb3JnYW5pemF0aW9uX2ljb25dLFxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fbGVhZGVyc2hpcF9pY29uXSxcbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSxcbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2hlYWx0aF9pY29uXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxOHB4IDIwcHg7XG59XG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9zZXJ2aWNlc19pY29uXSBhOjpiZWZvcmUsXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dIGE6OmJlZm9yZSxcbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X29yZ2FuaXphdGlvbl9pY29uXSBhOjpiZWZvcmUsXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9sZWFkZXJzaGlwX2ljb25dIGE6OmJlZm9yZSxcbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSBhOjpiZWZvcmUsXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9oZWFsdGhfaWNvbl0gYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiA0OHB4O1xuICBsZWZ0OiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA1NHB4O1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fc2VydmljZXNfaWNvbl0gYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2VzX2ljb24uc3ZnXCIpO1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fcm9hZG1hcF9pY29uXSBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcm9hZG1hcF9pY29uLnN2Z1wiKTtcbn1cbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X29yZ2FuaXphdGlvbl9pY29uXSBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3JnYW5pemF0aW9uX2ljb24uc3ZnXCIpO1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fbGVhZGVyc2hpcF9pY29uXSBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbGVhZGVyc2hpcF9pY29uLnN2Z1wiKTtcbn1cbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZGl2ZXJzaXR5X2ljb24uc3ZnXCIpO1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1faGVhbHRoX2ljb25dIGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9oZWFsdGhfaWNvbi5zdmdcIik7XG59XG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaTpob3ZlciB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tTGlnaHQtYmx1ZSwgI0Y0RkJGRik7XG59XG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctbGVmdDogNTBweDtcbn1cbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGEgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZDpob3ZlciAubWVudSwgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQ6Zm9jdXMtd2l0aGluIC5tZW51IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgY29sb3I6ICM2MTYyNjU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5uYXZiYXItZXhwYW5kLWxnIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNDBweDtcbiAgcmlnaHQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm5hdmJhci1icmFuZCB7XG4gIHdpZHRoOiAxMjZweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAubmF2IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG4gIH1cbiAgLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBjb2xvcjogIzIwNTg4QTtcbiAgfVxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLm5hdi1pdGVtID4gYTpob3ZlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyB7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICB9XG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIH1cbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgYSBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMjA1ODhBO1xuICB9XG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X3NlcnZpY2VzX2ljb25dLFxuICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dLFxuICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9vcmdhbml6YXRpb25faWNvbl0sXG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2xlYWRlcnNoaXBfaWNvbl0sXG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSxcbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1faGVhbHRoX2ljb25dIHtcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG4gIH1cbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fc2VydmljZXNfaWNvbl0gYTo6YmVmb3JlLFxuICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dIGE6OmJlZm9yZSxcbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fb3JnYW5pemF0aW9uX2ljb25dIGE6OmJlZm9yZSxcbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fbGVhZGVyc2hpcF9pY29uXSBhOjpiZWZvcmUsXG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSBhOjpiZWZvcmUsXG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2hlYWx0aF9pY29uXSBhOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGk6aG92ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4OXB4KSB7XG4gIHVsID4gbGkubmF2LWl0ZW0uaGVhZGVyLW5hdi1hY3Rpb24taXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgfVxufVxuXG4jYmxvY2stY3VzdG9tZXItcG9ydGFsLXRoZW1lLW1haW5tZW51LTIgPiB1bCA+IGxpLm5hdi1pdGVtLmhlYWRlci1uYXYtYWN0aW9uLWl0ZW0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1ODhBO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMzhweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDM4cHg7XG59XG5cbi5uYXZiYXItdG9nZ2xlci5jb2xsYXBzZWQgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbW9iaWxlX2ljb25zLnN2Z1wiKTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ubmF2YmFyLXRvZ2dsZXIgPiAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jbG9zZV9tb2JpbGVfaWNvbi5zdmdcIik7XG59XG5cbi5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uIC5uYXYsIC5uYXZiYXItY29sbGFwc2Uuc2hvdyAubmF2IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uIC5uYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQ6OmFmdGVyLCAubmF2YmFyLWNvbGxhcHNlLnNob3cgLm5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZHJvcF9kb3duX2Fycm93LnN2Z1wiKTtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgd2lkdGg6IDI0cHg7XG59XG4ubmF2YmFyLXRvZ2dsZXIgPiAubmF2YmFyLXRvZ2dsZXItaWNvbiAubmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51LCAubmF2YmFyLWNvbGxhcHNlLnNob3cgLm5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAubmF2YmFyLXRvZ2dsZXIgPiAubmF2YmFyLXRvZ2dsZXItaWNvbiAubmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkOjphZnRlciwgLm5hdmJhci1jb2xsYXBzZS5zaG93IC5uYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uIC5uYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUsIC5uYXZiYXItY29sbGFwc2Uuc2hvdyAubmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn1cbi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwNTBEMTUgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItdGhpcmQge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogMTE0MHB4O1xuICByaWdodDogMDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCAuZm9vdGVyLXdyYXBwZXIsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5mb290ZXItd3JhcHBlcixcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCAuZm9vdGVyLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEwMjZweDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCB7XG4gIHBhZGRpbmc6IDYwcHggMCAwIDA7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMCAwIDFyZW07XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYgLm5hdi1saW5rLmJ1dHRvbi1wcmltYXJ5LmJ1dHRvbi1wcmltYXJ5LS1sb2dpbiwgLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2IC5sb2ctb3V0LWljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiBsaSB7XG4gIHdpZHRoOiAxNTBweDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1saW5rIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWxpbms6aG92ZXIge1xuICBjb2xvcjogIzQ4QTRCNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtbGluazp2aXNpdGVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtbGluazpmb2N1cy12aXNpYmxlLCAuc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtbGluazpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gI0ZGRkZGRjtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgYSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X3NlcnZpY2VzX2ljb25dLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9vcmdhbml6YXRpb25faWNvbl0sXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2xlYWRlcnNoaXBfaWNvbl0sXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1faGVhbHRoX2ljb25dIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9zZXJ2aWNlc19pY29uXTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dOjpiZWZvcmUsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X29yZ2FuaXphdGlvbl9pY29uXTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9sZWFkZXJzaGlwX2ljb25dOjpiZWZvcmUsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9oZWFsdGhfaWNvbl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fc2VydmljZXNfaWNvbl06aG92ZXIgYSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fcm9hZG1hcF9pY29uXTpob3ZlciBhLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9vcmdhbml6YXRpb25faWNvbl06aG92ZXIgYSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fbGVhZGVyc2hpcF9pY29uXTpob3ZlciBhLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9kaXZlcnNpdHlfaWNvbl06aG92ZXIgYSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1faGVhbHRoX2ljb25dOmhvdmVyIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0OEE0QjY7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X3NlcnZpY2VzX2ljb25dIGE6OmJlZm9yZSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fcm9hZG1hcF9pY29uXSBhOjpiZWZvcmUsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X29yZ2FuaXphdGlvbl9pY29uXSBhOjpiZWZvcmUsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2xlYWRlcnNoaXBfaWNvbl0gYTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9kaXZlcnNpdHlfaWNvbl0gYTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9oZWFsdGhfaWNvbl0gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCAubmF2ID4gLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjOTA5MTkzO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjE2MjY1O1xuICBwYWRkaW5nOiA0MHB4IDA7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5uYXYge1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAubmF2IGxpIGEge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5uYXYgbGkge1xuICBwYWRkaW5nOiAwO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3Mge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItY29udGVudCAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlOjpiZWZvcmUsIC5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItY29udGVudCAuZmllbGRfX2l0ZW06bnRoLW9mLXR5cGUoMikgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci10aXRsZTo6YmVmb3JlLCAuc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1vZi10eXBlKDMpIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sYXB0b3Auc3ZnXCIpO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1vZi10eXBlKDIpIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9waG9uZS5zdmdcIik7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1vZi10eXBlKDMpIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2NhdGlvbi5zdmdcIik7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAucGFyYWdyYXBoLS10eXBlLS1mb290ZXItbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1kZXNjcmlwdGlvbiBwLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLnBhcmFncmFwaC0tdHlwZS0tZm9vdGVyLWxpbmtzIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLnBhcmFncmFwaC0tdHlwZS0tZm9vdGVyLWxpbmtzIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItbGluayBhOm5vdCgub3V0bGluZS1pY29uLWJ0bi13aGl0ZSkge1xuICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDZweCA0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAucGFyYWdyYXBoLS10eXBlLS1mb290ZXItbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1saW5rIGE6bm90KC5vdXRsaW5lLWljb24tYnRuLXdoaXRlKTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAucGFyYWdyYXBoLS10eXBlLS1mb290ZXItbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1saW5rIGE6bm90KC5vdXRsaW5lLWljb24tYnRuLXdoaXRlKTpob3ZlciB7XG4gIGNvbG9yOiAjNDhBNEI2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzQ4QTRCNjtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogaW52ZXJ0KDU1JSkgc2VwaWEoMTAlKSBzYXR1cmF0ZSgyMDUyJSkgaHVlLXJvdGF0ZSgxNDJkZWcpIGJyaWdodG5lc3MoMTAyJSkgY29udHJhc3QoOTElKTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNGRkZGRkY7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAucGFyYWdyYXBoLS10eXBlLS1mb290ZXItbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1kZXNjcmlwdGlvbiBwIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1iYXNpYyAuZmllbGQtLW5hbWUtYm9keSBwIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjE2MjY1O1xuICBwYWRkaW5nOiA0MHB4IDAgNjBweCAwO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXRoaXJkIC5uYXYge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCAubmF2IGEge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCAubmF2IGE6aG92ZXIge1xuICBjb2xvcjogIzQ4QTRCNjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItdGhpcmQgLm5hdi1saW5rOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSAjRkZGRkZGO1xufVxuLnNpdGUtZm9vdGVyIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMiA+IHVsID4gbGlbaWNvbj1fc2VydmljZXNfaWNvbl06OmJlZm9yZSxcbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMiA+IHVsID4gbGlbaWNvbj1fc3VwcG9ydF9pY29uXTo6YmVmb3JlLFxuI2Jsb2NrLWN1c3RvbWVyLXBvcnRhbC10aGVtZS1tYWlubWVudS0yID4gdWwgPiBsaVtpY29uPV9hYm91dF9pY29uXTo6YmVmb3JlLFxuI2Jsb2NrLWN1c3RvbWVyLXBvcnRhbC10aGVtZS1tYWlubWVudS0yID4gdWwgPiBsaVtpY29uPV9jb25uZWN0X2ljb25dOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiA1NHB4O1xufVxuI2Jsb2NrLWN1c3RvbWVyLXBvcnRhbC10aGVtZS1tYWlubWVudS0yID4gdWwgPiBsaVtpY29uPV9zZXJ2aWNlc19pY29uXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2VzX2ljb24uc3ZnXCIpO1xufVxuI2Jsb2NrLWN1c3RvbWVyLXBvcnRhbC10aGVtZS1tYWlubWVudS0yID4gdWwgPiBsaVtpY29uPV9zdXBwb3J0X2ljb25dOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3VwcG9ydC5zdmdcIik7XG59XG4jYmxvY2stY3VzdG9tZXItcG9ydGFsLXRoZW1lLW1haW5tZW51LTIgPiB1bCA+IGxpW2ljb249X2Fib3V0X2ljb25dOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGVvcGxlLnN2Z1wiKTtcbn1cbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMiA+IHVsID4gbGlbaWNvbj1fY29ubmVjdF9pY29uXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Nvbm5lY3Quc3ZnXCIpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5zaXRlLWZvb3RlciB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxuICAuc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IC5uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1jb250ZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICByb3ctZ2FwOiA0MHB4O1xuICB9XG4gIC5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCAubmF2IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbi5wcmltYXJ5LWJ1dHRvbixcbi5idXR0b24tcHJpbWFyeSB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNTg4QTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ucHJpbWFyeS1idXR0b246ZGlzYWJsZWQsXG4uYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnByaW1hcnktYnV0dG9uOmZvY3VzLFxuLmJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5wcmltYXJ5LWJ1dHRvbjpob3Zlcixcbi5idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzM1NTM7XG4gIGJvcmRlci1jb2xvcjogIzEzMzU1MztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ucHJpbWFyeS1idXR0b246Zm9jdXMsXG4uYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnByaW1hcnktYnV0dG9uOjpiZWZvcmUsIC5wcmltYXJ5LWJ1dHRvbjo6YWZ0ZXIsXG4uYnV0dG9uLXByaW1hcnk6OmJlZm9yZSxcbi5idXR0b24tcHJpbWFyeTo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLnByaW1hcnktYnV0dG9uOmhvdmVyOjpiZWZvcmUsIC5wcmltYXJ5LWJ1dHRvbjpob3Zlcjo6YWZ0ZXIsIC5wcmltYXJ5LWJ1dHRvbjpmb2N1czo6YmVmb3JlLCAucHJpbWFyeS1idXR0b246Zm9jdXM6OmFmdGVyLFxuLmJ1dHRvbi1wcmltYXJ5OmhvdmVyOjpiZWZvcmUsXG4uYnV0dG9uLXByaW1hcnk6aG92ZXI6OmFmdGVyLFxuLmJ1dHRvbi1wcmltYXJ5OmZvY3VzOjpiZWZvcmUsXG4uYnV0dG9uLXByaW1hcnk6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5wcmltYXJ5LWJ1dHRvbjpob3Zlcjo6YmVmb3JlLCAucHJpbWFyeS1idXR0b246aG92ZXI6OmFmdGVyLCAucHJpbWFyeS1idXR0b246YWN0aXZlOjpiZWZvcmUsIC5wcmltYXJ5LWJ1dHRvbjphY3RpdmU6OmFmdGVyLCAucHJpbWFyeS1idXR0b246Zm9jdXM6OmJlZm9yZSwgLnByaW1hcnktYnV0dG9uOmZvY3VzOjphZnRlcixcbi5idXR0b24tcHJpbWFyeTpob3Zlcjo6YmVmb3JlLFxuLmJ1dHRvbi1wcmltYXJ5OmhvdmVyOjphZnRlcixcbi5idXR0b24tcHJpbWFyeTphY3RpdmU6OmJlZm9yZSxcbi5idXR0b24tcHJpbWFyeTphY3RpdmU6OmFmdGVyLFxuLmJ1dHRvbi1wcmltYXJ5OmZvY3VzOjpiZWZvcmUsXG4uYnV0dG9uLXByaW1hcnk6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYnV0dG9uLXByaW1hcnktLWFycm93IHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1ODhBO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tYXJyb3c6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uYnV0dG9uLXByaW1hcnktLWFycm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMzU1MztcbiAgYm9yZGVyLWNvbG9yOiAjMTMzNTUzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tYXJyb3c6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWFycm93OjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4uYnV0dG9uLXByaW1hcnktLWFycm93OmhvdmVyOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tYXJyb3c6aG92ZXI6OmFmdGVyLCAuYnV0dG9uLXByaW1hcnktLWFycm93OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tYXJyb3c6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tcHJpbWFyeS0tYXJyb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWZvcndhcmQuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIHdpZHRoOiAxOHB4O1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWFycm93OmhvdmVyOjphZnRlciwgLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzphY3RpdmU6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzphY3RpdmU6OmFmdGVyLCAuYnV0dG9uLXByaW1hcnktLWFycm93OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tYXJyb3c6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYnV0dG9uLXByaW1hcnktLWRvd25sb2FkIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1ODhBO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1kb3dubG9hZDpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMzU1MztcbiAgYm9yZGVyLWNvbG9yOiAjMTMzNTUzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1kb3dubG9hZDo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4uYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6aG92ZXI6OmFmdGVyLCAuYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Rvd25sb2FkLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1kb3dubG9hZDpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6YWN0aXZlOjphZnRlciwgLmJ1dHRvbi1wcmltYXJ5LS1kb3dubG9hZDpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbiB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNTg4QTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLXByaW1hcnktLWxvZ2luOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idXR0b24tcHJpbWFyeS0tbG9naW46Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzM1NTM7XG4gIGJvcmRlci1jb2xvcjogIzEzMzU1MztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLXByaW1hcnktLWxvZ2luOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDUwRDE1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tbG9naW46OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWxvZ2luOmhvdmVyOjphZnRlciwgLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWxvZ2luOmZvY3VzOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4uYnV0dG9uLXByaW1hcnktLWxvZ2luOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2dpbi5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uYnV0dG9uLXByaW1hcnktLWxvZ2luOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tbG9naW46aG92ZXI6OmFmdGVyLCAuYnV0dG9uLXByaW1hcnktLWxvZ2luOmFjdGl2ZTo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWxvZ2luOmFjdGl2ZTo6YWZ0ZXIsIC5idXR0b24tcHJpbWFyeS0tbG9naW46Zm9jdXM6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjpmb2N1czo6YWZ0ZXIge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWwge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICMyMDU4OEE7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDU4OEE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYnV0dG9uLXByaW1hcnktLWV4dGVybmFsOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMzNTUzO1xuICBib3JkZXItY29sb3I6ICMxMzM1NTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLXByaW1hcnktLWV4dGVybmFsOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6Zm9jdXM6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpmb2N1czo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6YWN0aXZlOjphZnRlciwgLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWV4dGVybmFsOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW4ge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICNDM0Q4REY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM0OEE0QjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OEE0QjY7XG59XG4uYnV0dG9uLXRlcnRpYXJ5LS1sb2dpbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ2luLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5idXR0b24tdGVydGlhcnktLWxvZ2luOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tdGVydGlhcnktLWxvZ2luOmhvdmVyOjphZnRlciwgLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tdGVydGlhcnktLWxvZ2luOmFjdGl2ZTo6YWZ0ZXIsIC5idXR0b24tdGVydGlhcnktLWxvZ2luOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tdGVydGlhcnktLWxvZ2luOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWwge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICNDM0Q4REY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWw6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWw6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM0OEE0QjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OEE0QjY7XG59XG4uYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29wZW4tZ3JheS5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tdGVydGlhcnktLWV4dGVybmFsOmFjdGl2ZTo6YmVmb3JlLCAuYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDphY3RpdmU6OmFmdGVyLCAuYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpmb2N1czo6YWZ0ZXIge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5vdXRsaW5lLWljb24tYnRuLXdoaXRlIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI0MzRDhERjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzRDhERjtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY5OTFBQztcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLm91dGxpbmUtaWNvbi1idG4td2hpdGU6OmJlZm9yZSwgLm91dGxpbmUtaWNvbi1idG4td2hpdGU6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmhvdmVyOjpiZWZvcmUsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmhvdmVyOjpiZWZvcmUsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmhvdmVyOjphZnRlciwgLm91dGxpbmUtaWNvbi1idG4td2hpdGU6YWN0aXZlOjpiZWZvcmUsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmFjdGl2ZTo6YWZ0ZXIsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmZvY3VzOjpiZWZvcmUsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmJ1dHRvbi1zZWNvbmRhcnksXG4uc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4uYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi5zZWNvbmRhcnktYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5OmZvY3VzLFxuLnNlY29uZGFyeS1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLmJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnk6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnk6OmFmdGVyLFxuLnNlY29uZGFyeS1idXR0b246OmJlZm9yZSxcbi5zZWNvbmRhcnktYnV0dG9uOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeTpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeTpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5OmZvY3VzOjphZnRlcixcbi5zZWNvbmRhcnktYnV0dG9uOmhvdmVyOjpiZWZvcmUsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpob3Zlcjo6YWZ0ZXIsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpmb2N1czo6YmVmb3JlLFxuLnNlY29uZGFyeS1idXR0b246Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5OmhvdmVyOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5OmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZTo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5OmZvY3VzOjphZnRlcixcbi5zZWNvbmRhcnktYnV0dG9uOmhvdmVyOjpiZWZvcmUsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpob3Zlcjo6YWZ0ZXIsXG4uc2Vjb25kYXJ5LWJ1dHRvbjphY3RpdmU6OmJlZm9yZSxcbi5zZWNvbmRhcnktYnV0dG9uOmFjdGl2ZTo6YWZ0ZXIsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpmb2N1czo6YmVmb3JlLFxuLnNlY29uZGFyeS1idXR0b246Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tYXJyb3cge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tYXJyb3c6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDYlKSBzZXBpYSgzOCUpIHNhdHVyYXRlKDU3MiUpIGh1ZS1yb3RhdGUoMTY4ZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmhvdmVyOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tYXJyb3c6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctZm9yd2FyZC5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tYXJyb3c6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmFjdGl2ZTo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tYXJyb3c6YWN0aXZlOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1czo6YWZ0ZXIge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5idXR0b24tc2Vjb25kYXJ5LS1kb3dubG9hZCB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1kb3dubG9hZDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDUwRDE1O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSg1LCAxMywgMjEsIDAuNSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1kb3dubG9hZDpmb2N1czo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmFjdGl2ZTo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6YWN0aXZlOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1kb3dubG9hZDpmb2N1czo6YWZ0ZXIge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbCxcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjayB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6ZGlzYWJsZWQsXG4ub3V0bGluZS1idXR0b24tYmxhY2s6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmZvY3VzLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbDpob3Zlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmZvY3VzLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDUwRDE1O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSg1LCAxMywgMjEsIDAuNSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOjphZnRlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazo6YmVmb3JlLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbDpmb2N1czo6YWZ0ZXIsXG4ub3V0bGluZS1idXR0b24tYmxhY2s6aG92ZXI6OmJlZm9yZSxcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazpob3Zlcjo6YWZ0ZXIsXG4ub3V0bGluZS1idXR0b24tYmxhY2s6Zm9jdXM6OmJlZm9yZSxcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazpmb2N1czo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOjphZnRlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbDpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6aG92ZXI6OmFmdGVyLCAuYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbDphY3RpdmU6OmFmdGVyLCAuYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6Zm9jdXM6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmZvY3VzOjphZnRlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazpob3Zlcjo6YmVmb3JlLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOmhvdmVyOjphZnRlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazphY3RpdmU6OmJlZm9yZSxcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazphY3RpdmU6OmFmdGVyLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOmZvY3VzOjpiZWZvcmUsXG4ub3V0bGluZS1idXR0b24tYmxhY2s6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tbG9naW4ge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tbG9naW46aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDYlKSBzZXBpYSgzOCUpIHNhdHVyYXRlKDU3MiUpIGh1ZS1yb3RhdGUoMTY4ZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tbG9naW46Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9naW4uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIHdpZHRoOiAxOHB4O1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjphY3RpdmU6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOmFjdGl2ZTo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tbG9naW46Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4ubGluay1pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA2cHggNHB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLmxpbmstaWNvbjo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDYlKSBzZXBpYSgzOCUpIHNhdHVyYXRlKDU3MiUpIGh1ZS1yb3RhdGUoMTY4ZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpO1xufVxuLmxpbmstaWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5saW5rLWljb246OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5saW5rLWljb246aG92ZXIge1xuICBjb2xvcjogIzIwNTg4QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMDU4OEE7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubGluay1pY29uOmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoMjUlKSBzZXBpYSg4MSUpIHNhdHVyYXRlKDU5MyUpIGh1ZS1yb3RhdGUoMTY5ZGVnKSBicmlnaHRuZXNzKDEwMCUpIGNvbnRyYXN0KDg5JSk7XG59XG4ubGluay1pY29uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLmxpbmstaWNvbi0tZG93bmxvYWQge1xuICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDZweCA0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ubGluay1pY29uLS1kb3dubG9hZDo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDYlKSBzZXBpYSgzOCUpIHNhdHVyYXRlKDU3MiUpIGh1ZS1yb3RhdGUoMTY4ZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpO1xufVxuLmxpbmstaWNvbi0tZG93bmxvYWQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Rvd25sb2FkLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5saW5rLWljb24tLWRvd25sb2FkOjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG4ubGluay1pY29uLS1kb3dubG9hZDpob3ZlciB7XG4gIGNvbG9yOiAjMjA1ODhBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzIwNTg4QTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5saW5rLWljb24tLWRvd25sb2FkOmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoMjUlKSBzZXBpYSg4MSUpIHNhdHVyYXRlKDU5MyUpIGh1ZS1yb3RhdGUoMTY5ZGVnKSBicmlnaHRuZXNzKDEwMCUpIGNvbnRyYXN0KDg5JSk7XG59XG4ubGluay1pY29uLS1kb3dubG9hZDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5saW5rLWljb24tLWxpZ2h0IHtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA2cHggNHB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmxpbmstaWNvbi0tbGlnaHQ6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5saW5rLWljb24tLWxpZ2h0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLWdyYXkuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIHdpZHRoOiAxOHB4O1xufVxuLmxpbmstaWNvbi0tbGlnaHQ6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5saW5rLWljb24tLWxpZ2h0OmhvdmVyIHtcbiAgY29sb3I6ICM0OEE0QjY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNDhBNEI2O1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmxpbmstaWNvbi0tbGlnaHQ6aG92ZXI6OmFmdGVyIHtcbiAgZmlsdGVyOiBpbnZlcnQoNTUlKSBzZXBpYSgxMCUpIHNhdHVyYXRlKDIwNTIlKSBodWUtcm90YXRlKDE0MmRlZykgYnJpZ2h0bmVzcygxMDIlKSBjb250cmFzdCg5MSUpO1xufVxuLmxpbmstaWNvbi0tbGlnaHQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4uaW5saW5lLWJ1dHRvbnMgPiAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbnMtc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAyNHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMzJweCAwO1xuICByb3ctZ2FwOiAyNHB4O1xufVxuXG4ubG9jay1pY29uLWJ1dHRvbixcbi5sb2NrLWljb24tYnV0dG9uLXdoaXRlLFxuLm91dGxpbmUtYnV0dG9uLXdoaXRlIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDUwRDE1O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuYS5sb2NrLWljb24tYnV0dG9uLFxuYS5sb2NrLWljb24tYnV0dG9uLXdoaXRlIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbmEubG9jay1pY29uLWJ1dHRvbjpob3ZlcixcbmEubG9jay1pY29uLWJ1dHRvbi13aGl0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxMzM1NTM7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxMzM1NTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubG9jay1pY29uLWJ1dHRvbixcbi5sb2NrLWljb24tYnV0dG9uLXdoaXRlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5sb2NrLWljb24tYnV0dG9uOjpiZWZvcmUsXG4ubG9jay1pY29uLWJ1dHRvbi13aGl0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxOHB4O1xuICB3aWR0aDogMThweDtcbn1cbi5sb2NrLWljb24tYnV0dG9uOmZvY3VzLXZpc2libGUsXG4ubG9jay1pY29uLWJ1dHRvbi13aGl0ZTpmb2N1cy12aXNpYmxlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmxvY2staWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1ODhBO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjA1ODhBO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5sb2NrLWljb24tYnV0dG9uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay5zdmdcIik7XG59XG4ubG9jay1pY29uLWJ1dHRvbjpob3ZlciwgLmxvY2staWNvbi1idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI2MzkzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmxvY2staWNvbi1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjA1ODhBO1xuICBjb2xvcjogIzIwNTg4QTtcbn1cbi5sb2NrLWljb24tYnV0dG9uLXdoaXRlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay1pY29uLWJsdWUuc3ZnXCIpO1xuICBjb250ZW50OiBcIlwiO1xufVxuLmxvY2staWNvbi1idXR0b24td2hpdGU6aG92ZXIsIC5sb2NrLWljb24tYnV0dG9uLXdoaXRlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgODgsIDEzOCwgMC4wNzg0MzEzNzI1KTtcbiAgY29sb3I6ICMyMDU4OEE7XG59XG5cbi5sb2dpbi1pY29uLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5sb2dpbi1pY29uLWJ1dHRvbi1ibGFjayBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ubG9naW4taWNvbi1idXR0b24tYmxhY2s6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDhBNEI2O1xuICBjb2xvcjogIzA1MEQxNTtcbn1cbi5sb2dpbi1pY29uLWJ1dHRvbi1ibGFjazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGJvcmRlcjogIzA1MEQxNSAycHggc29saWQ7XG59XG4ubG9naW4taWNvbi1idXR0b24tYmxhY2s6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ2luLnN2Z1wiKTtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxOHB4O1xuICB3aWR0aDogMThweDtcbn1cblxuLm91dGxpbmUtYnV0dG9uLXdoaXRlIHtcbiAgYm9yZGVyOiAjRkZGRkZGIHNvbGlkO1xufVxuXG4ubGlnaHQteWVsbG93LFxuLmxpZ2h0LWdyYXksXG4ubGlnaHQtYmx1ZSxcbi5saWdodC1ncmVlbiB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDhweDtcbn1cblxuLmxpZ2h0LXllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY5ZjM7XG4gIGNvbG9yOiAjQjM1QzAwO1xufVxuXG4ubGlnaHQtZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFM0U3RUI7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuXG4ubGlnaHQtYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEZCRkY7XG4gIGNvbG9yOiAjMjA1ODhBO1xufVxuXG4ubGlnaHQtZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlGOUY5O1xuICBjb2xvcjogIzBFNEY0RDtcbn1cblxuLyoqXG4qIENhcmQgTGluayBNaXhpbiBcbipcbiogTWl4aW4gdGhhdCBzdXBwb3J0IGNhcmRzIHRoYXQgYXJlIHRyZWF0ZWQgYXMgbGlua3MuIFxuKiBJbnRlbmRlZCB0byBiZSBhcHBsaWVkIHRvIGRpcmVjdGx5IHRvIGFuIDxhPiBhbmNob3IgdGFnIFxuKiBQcm92aWRlcyB2aXN1YWwgc3R5bGUsIGhvdmVyIHBhdHRlcm4sIGljb25vZ3JhcGh5IG9wdGlvbnMgXG4qIEhhcyBubyBvcGluaW9ucyBvbiBob3cgdGhlIGltYWdlIHNob3VsZCBiZSBzdHlsZWQuIFRoZXJlIGFyZSBhIGNvdXBsZSBkaWZmZXJlbnQgcGF0dGVybnMuIFRob3NlIGFyZSBjdXJyZW50bHkgbGVmdCB0byB0aGUgY2FyZCBpdHNlbGYuIFxuKi9cbi5jYXJkLWxpbmsge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICBtYXJnaW46IDIwcHggMDtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNhcmQtbGluazpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDEwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4uY2FyZC1saW5rOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvdy1mb3J3YXJkLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3R0b206IDE1cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDE5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxOXB4O1xufVxuLmNhcmQtbGluay5jYXJkLWxpbmstYXJyb3c6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWZvcndhcmQuc3ZnXCIpO1xufVxuLmNhcmQtbGluay5jYXJkLWxpbmstLWxvZ2luOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2dpbi5zdmdcIik7XG59XG4uY2FyZC1saW5rLmNhcmQtbGluay0tbG9jazo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay5zdmdcIik7XG59XG4uY2FyZC1saW5rLmNhcmQtbGluay0tZXh0ZXJuYWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29wZW4tZ3JheS5zdmdcIik7XG59XG4uY2FyZC1saW5rIC5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWNvbHVtbi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQge1xuICBwYWRkaW5nOiAzMnB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIHJpZ2h0OiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLndyYXBwZXItLWNvbC0zIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTMgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uLFxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLndyYXBwZXItLWNvbC00IC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMjRweDtcbiAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODlweCkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTMgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uLFxuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLndyYXBwZXItLWNvbC0zIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiA+IC5maWVsZF9faXRlbSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQgZGl2IC53cmFwcGVyLS1jb2wtNCAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4gPiAuZmllbGRfX2l0ZW0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTMgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uID4gLmZpZWxkX19pdGVtIGEuY2FyZC1saW5rIGltZyxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQgZGl2IC53cmFwcGVyLS1jb2wtNCAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4gPiAuZmllbGRfX2l0ZW0gYS5jYXJkLWxpbmsgaW1nIHtcbiAgbWF4LXdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LWhlaWdodDogNzVweDtcbiAgd2lkdGg6IGF1dG87XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAuZmllbGQtLW5hbWUtZmllbGQtdXJsIHtcbiAgcGFkZGluZzogMTZweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQgZGl2IC5maWVsZC0tbmFtZS1maWVsZC11cmwgYSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLmZpZWxkLS1uYW1lLWZpZWxkLXRleHQgcCB7XG4gIG1hcmdpbjogMCAwIDMycHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAuZmllbGQtLW5hbWUtZmllbGQtc3VidGl0bGUtaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdGxlIHtcbiAgbWFyZ2luOiAxNnB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIC50aHJlZS1jb2x1bW4tZ3JpZC1jdGEtYnV0dG9uLXdyYXBwZXIgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1idXR0b24tcmVwZWF0ZXIge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1jb2x1bW4tY29udGVudCBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1jb2x1bW4tY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtc3VidGl0bGUgcCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICBtYXJnaW46IDE2cHggMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4ge1xuICAgIG1hcmdpbjogMTZweCAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIHtcbiAgICBwYWRkaW5nOiAzMHB4IDYwcHg7XG4gIH1cbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJhY2tncm91bmQtaW1nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA1MCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQuaW1hZ2UtbGVmdDo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCAuaW1hZ2UtYmxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCAuY29udGVudC1ibG9jayB7XG4gIHBhZGRpbmc6IDU2cHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZC5pbWFnZS1tYXJnaW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgY29udGVudDogXCJcIjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzg5cHgpIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkIC5pbWFnZS1ibG9jayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCAuaW1hZ2UtYmxvY2suaW1hZ2UtbGVmdCB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkIC5pbWFnZS1ibG9jay5pbWFnZS1yaWdodCB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkIC5jb250ZW50LWJsb2NrLmltYWdlLWxlZnQge1xuICAgIG9yZGVyOiAyO1xuICAgIHBhZGRpbmctbGVmdDogNTZweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQgLmNvbnRlbnQtYmxvY2suaW1hZ2UtcmlnaHQge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQgLmNvbnRlbnQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5pbWFnZS1iYWNrZ3JvdW5kcyxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuaW1hZ2UtYmFja2dyb3VuZHMge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiA0OHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuaGVyby1jb250YWluZXIgaDEsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGgxIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuaGVyby1jb250YWluZXIgcCxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuaGVyby1jb250YWluZXIgcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGEsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGEge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGE6Zm9jdXMsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGE6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI0ZGRkZGRjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXByaW1hcnktYnV0dG9uLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXByaW1hcnktYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24sXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIG1hcmdpbjogMjRweCAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiAubG9naW4taWNvbi1idXR0b24tYmxhY2ssXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiAubG9naW4taWNvbi1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxNnB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuaGVyby1jb250YWluZXIgLmN0YS1zZWNvbmRhcnktYnV0dG9uIC5sb2dpbi1pY29uLWJ1dHRvbi1ibGFjazo6YWZ0ZXIsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiAubG9naW4taWNvbi1idXR0b24tYmxhY2s6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29wZW4uc3ZnXCIpO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmhvdmVyLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmhvdmVyIHtcbiAgY29sb3I6ICM0OEE0QjY7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNDhBNEI2O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiAubG9naW4taWNvbi1idXR0b24tYmxhY2s6aG92ZXI6OmFmdGVyLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90ZWFsLW9wZW4uc3ZnXCIpO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmZvY3VzLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmZvY3VzIHtcbiAgYm9yZGVyOiAjRkZGRkZGIHNvbGlkO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJhY2tncm91bmQtaW1hZ2UsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJhY2tncm91bmQtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtYmFja2dyb3VuZC1pbWFnZSBpbWcsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJhY2tncm91bmQtaW1hZ2UgaW1nIHtcbiAgaGVpZ2h0OiA0NjBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9uLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1idXR0b24taWNvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uIC5maWVsZF9faXRlbTpmaXJzdC1vZi10eXBlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzRDhERjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1idXR0b24taWNvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSBhLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9uLWljb24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGUgYSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1idXR0b24taWNvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZTpob3Zlcixcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uIC5maWVsZF9faXRlbTpmaXJzdC1vZi10eXBlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ4QTRCNjtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uIC5maWVsZF9faXRlbTpmaXJzdC1vZi10eXBlOmZvY3VzLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9uLWljb24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNEOERGO1xuICBib3JkZXI6ICMwNTBEMTUgMnB4IHNvbGlkO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1idXR0b24taWNvbiAuZmllbGRfX2l0ZW0gYSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uIC5maWVsZF9faXRlbSBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5jdGEtbG9jay1pY29uLFxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmN0YS1sb2dpbi1pY29uLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5jdGEtbG9jay1pY29uLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5jdGEtbG9naW4taWNvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmN0YS1sb2NrLWljb24sXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmN0YS1sb2NrLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay5zdmdcIik7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAubm9kZS0tdHlwZS1sYW5kaW5nLXBhZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgPiAuZmllbGRfX2l0ZW06bnRoLWNoaWxkKDIpLFxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50IC5maWVsZF9faXRlbTpudGgtY2hpbGQoNCksXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50ID4gLmZpZWxkX19pdGVtOm50aC1jaGlsZCgyKSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAubm9kZS0tdHlwZS1sYW5kaW5nLXBhZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1jaGlsZCg0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDg4LCAxMzgsIDAuMDUwOTgwMzkyMik7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAubm9kZS0tdHlwZS1sYW5kaW5nLXBhZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgPiAuZmllbGRfX2l0ZW06bnRoLWNoaWxkKDMpLFxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50IC5maWVsZF9faXRlbTpudGgtY2hpbGQoNSksXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50ID4gLmZpZWxkX19pdGVtOm50aC1jaGlsZCgzKSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAubm9kZS0tdHlwZS1sYW5kaW5nLXBhZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1jaGlsZCg1KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDg4LCAxMzgsIDAuMTIxNTY4NjI3NSk7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMXB4KSBhbmQgKG1heC13aWR0aDogMTA1MHB4KSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5wZW9wbGUtaW1hZ2UsXG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAucGVvcGxlLWltYWdlIHtcbiAgICBwYWRkaW5nOiAycmVtIDAgMDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAucGVvcGxlLWltYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LFxuICAucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLnBlb3BsZS1pbWFnZSAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudCB7XG4gICAgbWFyZ2luOiAxMHB4IDEwcHg7XG4gICAgdG9wOiAxNDBweDtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZvbnQtY29sb3IgaDEsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZvbnQtY29sb3IgcCB7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNEOERGO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OEE0QjY7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNEOERGO1xuICBib3JkZXI6ICMwNTBEMTUgMnB4IHNvbGlkO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5icmVhZGNydW1iIGEsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IFwiRmphbGxhIE9uZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZC5pbWFnZS1tYXJnaW4gLndyYXBwZXIgLmdyaWQge1xuICBnYXA6IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQuaW1hZ2UtbWFyZ2luIC53cmFwcGVyIC5ncmlkIC5jb250ZW50LWJsb2NrIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCAjOTA5MTkzIHNvbGlkO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciwgLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMzJweCAyNHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5wZW9wbGUtaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDI0cHggMCAwO1xuICAgIHRvcDogMzBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAucGVvcGxlLWltYWdlIGgxIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLnBlb3BsZS1pbWFnZSAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5wZW9wbGUtaW1hZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmltYWdlLWJhY2tncm91bmRzIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5zZWNvbmRhcnktaW1hZ2UtYmFja2dyb3VuZHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xvdWQtbGFiIC5jbG91ZC1sYWItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogcmdiKDUsIDEzLCAyMSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDEyMHB4O1xuICBwYWRkaW5nOiAzMnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xvdWQtbGFiIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAyNHB4IDAgMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNsb3VkLWxhYiAuYnV0dG9uLXNlY29uZGFyeS0tYXJyb3cgYSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xvdWQtbGFiIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OEE0QjY7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xvdWQtbGFiIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGJvcmRlcjogIzA1MEQxNSAycHggc29saWQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jbG91ZC1sYWIgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmhvdmVyIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jbG91ZC1sYWIgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNsb3VkLWxhYiAuaGVyby1jb250YWluZXIge1xuICBwYWRkaW5nOiA0NHB4IDAgNDRweDtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1jaXQtY29ubmVjdC1jYXJkcy1jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAyNHB4O1xuICBncmlkLWF1dG8tcm93czogYXV0bztcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4OXB4KSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtY2l0LWNvbm5lY3QtY2FyZHMtY29udGVudCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtY2l0LWNvbm5lY3QtY2FyZHMtY29udGVudCA+IC5maWVsZF9faXRlbSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1jaXQtY29ubmVjdC1jYXJkcy1jb250ZW50ID4gLmZpZWxkX19pdGVtOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMTBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtdGFnIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtdGFnIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGQkZGO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBjb2xvcjogIzIwNTg4QTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC10YWcsXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLWRlc2NyaXB0aW9uLFxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtdGl0bGUsXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLWNhZGVuY2UsXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLXBvY3Mge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBmb250LWZhbWlseTogXCJGamFsbGEgT25lXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtZGVzY3JpcHRpb24gcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtY2FkZW5jZSxcbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtcG9jcyB7XG4gIGNvbHVtbi1nYXA6IDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtY2FkZW5jZSAuZmllbGRfX2xhYmVsLFxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1wb2NzIC5maWVsZF9fbGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhIHtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA2cHggNHB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCg2JSkgc2VwaWEoMzglKSBzYXR1cmF0ZSg1NzIlKSBodWUtcm90YXRlKDE2OGRlZykgYnJpZ2h0bmVzcygxMDQlKSBjb250cmFzdCgxMDUlKTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6aG92ZXIge1xuICBjb2xvcjogIzIwNTg4QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMDU4OEE7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpob3Zlcjo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDI1JSkgc2VwaWEoODElKSBzYXR1cmF0ZSg1OTMlKSBodWUtcm90YXRlKDE2OWRlZykgYnJpZ2h0bmVzcygxMDAlKSBjb250cmFzdCg4OSUpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uIHtcbiAgbWFyZ2luOiA2MHB4IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDQwcHggYXV0bztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IGJ1dHRvbiBzdmcge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDE2cHg7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmc6IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCBoMyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50ID4gZGl2IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTNFN0VCO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvbiB7XG4gIGFsbDogaW5oZXJpdDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvbjpob3ZlciwgLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvbjpmb2N1cyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UzRTdFQjtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19oZWFkZXIgYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyOiBzb2xpZCAycHggIzA1MEQxNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX2hlYWRlciBidXR0b246Zm9jdXMgcmVjdCB7XG4gIGZpbGw6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19oZWFkZXIgYnV0dG9uW2FyaWEtZXhwYW5kZWQ9ZmFsc2VdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2FkZC5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEuMjVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPWZhbHNlXSByZWN0IHtcbiAgZmlsbDogIzA1MEQxNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX2hlYWRlciBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAjMDUwRDE1IDFweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IFthcmlhLWV4cGFuZGVkPXRydWVdIC52ZXJ0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIHtcbiAgcGFkZGluZzogMjRweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAxNnB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMzJweCAwO1xuICByb3ctZ2FwOiAxNnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYSB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTo6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOmhvdmVyOjpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6aG92ZXI6OmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOmZvY3VzOjpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6aG92ZXI6OmJlZm9yZSwgLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpob3Zlcjo6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6YWN0aXZlOjpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6YWN0aXZlOjphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpmb2N1czo6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1hY2NvcmRpb24tYm9keSBpbWcge1xuICBtYXJnaW46IDhweCAxNnB4IDAgMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5maWVsZF9faXRlbSAuYWNjb3JkaW9uX19oZWFkZXIgYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMzNTUzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcmVtb3ZlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4yNXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMS41cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmZpZWxkX19pdGVtIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD10cnVlXSByZWN0IHtcbiAgZmlsbDogI0ZGRkZGRjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW0gLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmhvdmVyLCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmZpZWxkX19pdGVtIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTphY3RpdmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW0gLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UzRTdFQjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21pbnVzLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4yNXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMS41cmVtO1xuICBjb2xvcjogIzA1MEQxNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW0gLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmhvdmVyIHJlY3QsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW0gLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmFjdGl2ZSByZWN0LCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmZpZWxkX19pdGVtIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTpmb2N1cyByZWN0IHtcbiAgZmlsbDogIzA1MEQxNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSBkaXYsXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGUgYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW06bGFzdC1vZi10eXBlIGRpdiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3ODlweCkge1xuICAubm9kZS0tdHlwZS1zZXJ2aWNlIC5ub2RlX19jb250ZW50LFxuICAubm9kZS0tdHlwZS1vZmZpY2VzIC5ub2RlX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNDM0Q4REYgMjAlLCAjRkZGRkZGIDAlKTtcbiAgfVxufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbixcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzZnI7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwic2lkZWJhciBjb250ZW50XCI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODlweCkge1xuICAubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uLFxuICAubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNvbnRlbnRcIiBcInNpZGViYXJcIjtcbiAgfVxufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0LFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IHtcbiAgYmFja2dyb3VuZDogI0MzRDhERjtcbiAgZ3JpZC1hcmVhOiBzaWRlYmFyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzg5cHgpIHtcbiAgLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0LFxuICAubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3Qge1xuICAgIGJvcmRlci1yYWRpdXM6IDBweCAyMHB4IDBweCAwcHg7XG4gIH1cbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50LFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQge1xuICBtYXJnaW46IDMycHggMTZweCAwIDA7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLnZpZXctY29udGVudCAudmlld3Mtcm93LFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyB7XG4gIHBhZGRpbmc6IDhweCAwO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdzpub3QoOmxhc3Qtb2YtdHlwZSksXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLnZpZXctY29udGVudCAudmlld3Mtcm93Om5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjE2MjY1O1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBhLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50IC52aWV3cy1yb3cgYTphY3RpdmUsIC5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50IC52aWV3cy1yb3cgYTpob3ZlciwgLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBhOmZvY3VzLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBhOmFjdGl2ZSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50IC52aWV3cy1yb3cgYTpob3Zlcixcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50IC52aWV3cy1yb3cgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzM1NTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC5uYXYsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IHVsIGxpLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IHVsIGxpIHtcbiAgcGFkZGluZzogOHB4IDA7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgdWwgbGk6bm90KDpsYXN0LW9mLXR5cGUpLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IHVsIGxpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjE2MjY1O1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC5uYXYtbGluayxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAubmF2LWxpbmsge1xuICBjb2xvcjogIzA1MEQxNTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC5uYXYtbGluazphY3RpdmUsIC5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAubmF2LWxpbms6aG92ZXIsIC5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAubmF2LWxpbms6Zm9jdXMsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdi1saW5rOmFjdGl2ZSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAubmF2LWxpbms6aG92ZXIsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdi1saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UzRTdFQjtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEge1xuICBiYWNrZ3JvdW5kOiAjMTMzNTUzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1zZWNvbmQsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIHtcbiAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICBwYWRkaW5nOiA0MHB4O1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIC5maWVsZC0tbmFtZS1maWVsZC1hdWRpZW5jZSB7XG4gIGNvbHVtbi1nYXA6IDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMCAwIDQwcHg7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIC5maWVsZC0tbmFtZS1maWVsZC1hdWRpZW5jZSAuZmllbGRfX2xhYmVsLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UgLmZpZWxkX19sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UgLmZpZWxkX19pdGVtLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UgLmZpZWxkX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UgLmZpZWxkX19pdGVtIGEsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIC5maWVsZC0tbmFtZS1maWVsZC1hdWRpZW5jZSAuZmllbGRfX2l0ZW0gYSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuYWNjb3JkaW9uLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuYWNjb3JkaW9uIHtcbiAgcGFkZGluZzogMDtcbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1zZWNvbmQgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1zZWNvbmQgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCB7XG4gIHBhZGRpbmc6IDA7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIC5maWVsZC0tbmFtZS10aXRsZSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1zZWNvbmQgLmZpZWxkLS1uYW1lLXRpdGxlIHtcbiAgcGFkZGluZzogMTZweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1zZWN0aW9uLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAucGFyYWdyYXBoLS10eXBlLS1jb250ZW50LXNlY3Rpb24ge1xuICBib3JkZXItdG9wOiAjOTA5MTkzIDJweCBzb2xpZDtcbiAgcGFkZGluZzogNDBweCAwO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAuYnJlYWRjcnVtYiBhLFxuLm5vZGUtLXR5cGUtc2VydmljZSAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmJyZWFkY3J1bWIgYSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICBjb2xvcjogIzA1MEQxNTtcbiAgZm9udC1mYW1pbHk6IFwiRmphbGxhIE9uZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ub2RlLS10eXBlLW9mZmljZXMgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG59XG5cbi5ub2RlLS10eXBlLXBhZ2Uge1xuICBib3JkZXItdG9wOiAjMTMzNTUzIDMycHggc29saWQ7XG59XG4ubm9kZS0tdHlwZS1wYWdlIC53cmFwcGVyIHtcbiAgcGFkZGluZzogNTZweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIC5ub2RlX19jb250ZW50IHtcbiAgcGFkZGluZzogNjBweCAwO1xufVxuLm5vZGUtLXR5cGUtbGVhZGVyc2hpcC1iaW8gaDEsIC5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIC5maWVsZC0tbmFtZS1maWVsZC1wb3NpdGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwIDIwcHggMCAwO1xufVxuLm5vZGUtLXR5cGUtbGVhZGVyc2hpcC1iaW8gLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIHdpZHRoOiAyMzdweDtcbn1cbi5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIC5hY2NvcmRpb24ge1xuICBwYWRkaW5nOiAyMHB4IDA7XG59XG4ubm9kZS0tdHlwZS1sZWFkZXJzaGlwLWJpbyAuYnJlYWRjcnVtYiBhLCAubm9kZS0tdHlwZS1sZWFkZXJzaGlwLWJpbyAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBmb250LWZhbWlseTogXCJGamFsbGEgT25lXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIHtcbiAgcGFkZGluZzogNjBweCAwO1xufVxuLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIGgyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIC52aWV3LWxlYWRlcnNoaXAgLnZpZXctY29udGVudC5yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmciAxZnIgMWZyO1xuICBnYXA6IDI0cHg7XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyA+IC52aWV3cy1yb3cgLmNhcmQtbGluayB7XG4gIHBhZGRpbmc6IDAgMCAyLjVyZW07XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyA+IC52aWV3cy1yb3cgLmNhcmQtbGluayAubGVhZGVyc2hpcC1iaW8tY2FyZC1pbWcgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMjRweCAyNHB4IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyA+IC52aWV3cy1yb3cgLmNhcmQtbGluayAubGVhZGVyc2hpcC1iaW8tY29udGVudCB7XG4gIHBhZGRpbmc6IDE2cHg7XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyAub3VyLWxlYWRlcnMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAuYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIC52aWV3LWxlYWRlcnNoaXAgLnZpZXctY29udGVudC5yb3cge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICB9XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctaGVhZGVyLFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIGgxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMzU1MztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctaGVhZGVyIC53cmFwcGVyLFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIGgxIC53cmFwcGVyIHtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWZpbHRlcnMge1xuICBtYXJnaW46IDMycHggNDBweDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1maWx0ZXJzIC5mbGV4LXdyYXAge1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xufVxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWZpbHRlcnMgLmZvcm0tc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogIzEzMzU1MztcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDAgMjRweDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1maWx0ZXJzIC5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCAjMjA1ODhBO1xufVxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWNvbnRlbnQucm93IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0UzRTdFQjtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctY29udGVudC5yb3cgLnZpZXdzLXJvdyB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDE2cHg7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctY29udGVudC5yb3cgLnZpZXdzLXJvdzpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDEwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctY29udGVudC5yb3cgLnZpZXdzLXJvdyBoNSBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGZvbnQtZmFtaWx5OiBcIkZqYWxsYSBPbmVcIiwgc2Fucy1zZXJpZjtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC52aWV3cy1maWVsZC10aXRsZSB7XG4gIHBhZGRpbmc6IDE2cHggMDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC52aWV3cy1maWVsZC10aXRsZSBoNSB7XG4gIG1hcmdpbjogMDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC52aWV3cy1maWVsZC1maWVsZC1jaXQtc2VydmljZS1hcmVhLW93bmVyLFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWNvbnRlbnQucm93IC52aWV3cy1yb3cgLnZpZXdzLWZpZWxkLWZpZWxkLXRpbWVzdGFtcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC52aWV3cy1maWVsZC1maWVsZC1jaXQtc2VydmljZS1hcmVhLW93bmVyIC5maWVsZC1jb250ZW50LFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWNvbnRlbnQucm93IC52aWV3cy1yb3cgLnZpZXdzLWZpZWxkLWZpZWxkLXRpbWVzdGFtcCAuZmllbGQtY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC5saWdodC1ncmF5LFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWNvbnRlbnQucm93IC52aWV3cy1yb3cgLmxpZ2h0LXllbGxvdyxcbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC5saWdodC1ncmVlbixcbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC5saWdodC1ibHVlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnJvYWRtYXAtcXVhcnRlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI0UzRTdFQjtcbn1cblxuLnJvYWRtYXAtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMzU1MztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDE2cHggMCA4cHg7XG59XG4ucm9hZG1hcC1oZWFkZXIgaDIsXG4ucm9hZG1hcC1oZWFkZXIgcCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cbi5yb2FkbWFwLWhlYWRlciBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODlweCkge1xuICAudmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctY29udGVudC5yb3cge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4ubW9kYWwtd3JhcHBlciBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tb2RhbC5vcGVuIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4ubW9kYWwtYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNSwgMTMsIDIxLCAwLjgpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLm1vZGFsLWNvbnRhaW5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1heC13aWR0aDogNTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNDBweCA1NnB4O1xufVxuLm1vZGFsLWNvbnRhaW5lciBkaXYge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4ubW9kYWwtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNXB4O1xuICB0b3A6IDE1cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQge1xuICBwYWRkaW5nOiA1NnB4IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIHJpZ2h0OiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiA+IC5maWVsZF9faXRlbSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4gPiAuZmllbGRfX2l0ZW06aG92ZXIge1xuICBib3gtc2hhZG93OiAxMHB4IDIwcHggNDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiAyNHB4IDI0cHggMCAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkLWNvbnRlbnQgLnR3by1pbWFnZS1jYXJkLXBhcmFncmFwaCB7XG4gIHBhZGRpbmc6IDE2cHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCAucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZC1jb250ZW50IC50d28taW1hZ2UtY2FyZC1wYXJhZ3JhcGggc3BhbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQtY29udGVudCAudHdvLWltYWdlLWNhcmQtcGFyYWdyYXBoIHNwYW4gaW1nIHtcbiAgd2lkdGg6IDIwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCAucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZC1jb250ZW50IC50d28taW1hZ2UtY2FyZC1wYXJhZ3JhcGggLmZpZWxkLS1uYW1lLWZpZWxkLXRpdGxlIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLmZpZWxkLS1uYW1lLWZpZWxkLWxlYWRlcnNoaXAtYmlvcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMjRweDtcbiAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmciAxZnI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODlweCkge1xuICAuZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NDBweCkge1xuICAuZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLmZpZWxkLS1uYW1lLWZpZWxkLWxlYWRlcnNoaXAtYmlvcyAubGVhZGVyc2hpcC1iaW8tY29udGVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLmZpZWxkLS1uYW1lLWZpZWxkLWxlYWRlcnNoaXAtYmlvcyAubGVhZGVyc2hpcC1iaW8tY29udGVudCAuY2FyZC1oZWFkaW5nID4gc3BhbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zID4gLmZpZWxkX19pdGVtIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmZpZWxkLS1uYW1lLWZpZWxkLWxlYWRlcnNoaXAtYmlvcyA+IC5maWVsZF9faXRlbSAuY2FyZC1saW5rIHtcbiAgcGFkZGluZzogMCAwIDQwcHg7XG59XG4uZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zID4gLmZpZWxkX19pdGVtIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHggMjRweCAwIDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5maWVsZC0tbmFtZS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAucGFyYWdyYXBoLS10eXBlLS1sZWFkZXJzaGlwLWJpb3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5ub2RlLS10eXBlLW9mZmljZXMgLnBhcmFncmFwaC0tdHlwZS0tbGVhZGVyc2hpcC1iaW9zIC5ub2RlX19jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5wYXJhZ3JhcGgtLXR5cGUtLWxlYWRlcnNoaXAtYmlvcyAuZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWxlYWRlcnNoaXAtYmlvcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIHBhZGRpbmc6IDQwcHggMDtcbn1cblxuLyogR0VORVJBTCBTVFlMRVNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi8qIENPTE9SUyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmEge1xuICBjb2xvcjogIzAwNzlDMDtcbn1cblxuLmJnLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCA3OCwgNDYpICFpbXBvcnRhbnQ7XG59XG5cbi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwMDc5QzA7XG59XG5cbi5tZW51LS1tYWluIGxpIGEge1xuICBjb2xvcjogcmdiKDI1NSwgNzgsIDQ2KTtcbn1cblxuLm1lbnUtLWFjY291bnQgbGkgYSB7XG4gIGNvbG9yOiByZ2IoMjU1LCA3OCwgNDYpO1xufVxuXG4uc2l0ZS1uYW1lLXNsb2dhbiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY2FyZC1ncm91cCBpbWcge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jYXJkLWdyb3VwIC5maWVsZC0tdHlwZS1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNsaWNrIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbGljayA+IGRpdiB7XG4gIG1hcmdpbjogMCAxNXB4O1xufSIsIi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci1tb2RlLW1peGluXG5AbWl4aW4gY29sb3ItbW9kZSgkbW9kZTogbGlnaHQsICRyb290OiBmYWxzZSkge1xuICBAaWYgJGNvbG9yLW1vZGUtdHlwZSA9PSBcIm1lZGlhLXF1ZXJ5XCIge1xuICAgIEBpZiAkcm9vdCA9PSB0cnVlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIDpyb290IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogJG1vZGUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBbZGF0YS1icy10aGVtZT1cIiN7JG1vZGV9XCJdIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci1tb2RlLW1peGluXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLy8gUm9vdFxuLy9cbi8vIEFiaWxpdHkgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290IGZvbnQgc2l6ZXMsIGFmZmVjdGluZyB0aGUgdmFsdWUgb2YgYHJlbWAuXG4vLyBudWxsIGJ5IGRlZmF1bHQsIHRodXMgbm90aGluZyBpcyBnZW5lcmF0ZWQuXG5cbjpyb290IHtcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplKSk7XG4gIH1cblxuICBAaWYgJGVuYWJsZS1zbW9vdGgtc2Nyb2xsIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbi8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVib290LWJvZHktcnVsZXNcbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktYmcpOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNFxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZWJvb3QtYm9keS1ydWxlc1xuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBSZXNldCBGaXJlZm94J3MgZ3JheSBjb2xvclxuXG5ociB7XG4gIG1hcmdpbjogJGhyLW1hcmdpbi15IDA7XG4gIGNvbG9yOiAkaHItY29sb3I7IC8vIDFcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuXG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyAxLiBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy8gICAgQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vICAgIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cblxuJWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXN0eWxlOiAkaGVhZGluZ3MtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbn1cblxuaDEge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG59XG5cbmgyIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xufVxuXG5oMyB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbn1cblxuaDQge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG59XG5cbmg1IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xufVxuXG5oNiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbn1cblxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDIuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDMuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMVxuICBjdXJzb3I6IGhlbHA7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyAzXG59XG5cblxuLy8gQWRkcmVzc1xuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaXN0c1xuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIDFcbn1cblxuXG4vLyBCbG9ja3F1b3RlXG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIFN0cm9uZ1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyO1xufVxuXG5cbi8vIFNtYWxsXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gTWFya1xuXG5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnKTtcbn1cblxuXG4vLyBTdWIgYW5kIFN1cFxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc3ViLXN1cC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiKTtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICAmLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBDb2RlXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1jb2RlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICBvdmVyZmxvdzogYXV0bzsgLy8gM1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y29kZS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cblxuLy8gRm9ybXNcbi8vXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbiAgd29yZC13cmFwOiBub3JtYWw7XG5cbiAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcblxuW2xpc3RdOm5vdChbdHlwZT1cImRhdGVcIl0pOm5vdChbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdKTpub3QoW3R5cGU9XCJtb250aFwiXSk6bm90KFt0eXBlPVwid2Vla1wiXSk6bm90KFt0eXBlPVwidGltZVwiXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBsZWZ0OyAvLyAxXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGVnZW5kLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVnZW5kLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICArICoge1xuICAgIGNsZWFyOiBsZWZ0OyAvLyAyXG4gIH1cbn1cblxuLy8gRml4IGhlaWdodCBvZiBpbnB1dHMgd2l0aCBhIHR5cGUgb2YgZGF0ZXRpbWUtbG9jYWwsIGRhdGUsIG1vbnRoLCB3ZWVrLCBvciB0aW1lXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg0MlxuXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4vLyAgICBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbi8vICAgIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4vLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxufVxuXG4vLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbi8vIFNlZSBodHRwczovL3J0bHN0eWxpbmcuY29tL3Bvc3RzL3J0bC1zdHlsaW5nI2Zvcm0taW5wdXRzXG4vLyAyLiBSVEwgb25seSBvdXRwdXRcbi8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyAxLiBJbmhlcml0IGZvbnQgZmFtaWx5IGFuZCBsaW5lIGhlaWdodCBmb3IgZmlsZSBpbnB1dCBidXR0b25zXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU3VtbWFyeVxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC12YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6IHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICBzaGFkZS1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgIHNoYWRlLWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtdGV4dC1lbXBoYXNpczogICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDgwJSkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGU6ICAgICAgICAgIHRpbnQtY29sb3IoJGluZm8sIDgwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZTogICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgODAlKSAhZGVmYXVsdDtcbiRsaWdodC1iZy1zdWJ0bGU6ICAgICAgICAgbWl4KCRncmF5LTEwMCwgJHdoaXRlKSAhZGVmYXVsdDtcbiRkYXJrLWJnLXN1YnRsZTogICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgIHRpbnQtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlOiAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuXG4kZW5hYmxlLWRhcmstbW9kZTogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGNvbG9yLW1vZGUtdHlwZTogICAgICAgICAgICAgZGF0YSAhZGVmYXVsdDsgLy8gYGRhdGFgIG9yIGBtZWRpYS1xdWVyeWBcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib2R5LXRlcnRpYXJ5LWNvbG9yOiAgICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4vLyBmdXN2LWRpc2FibGVcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvY3VzLXJpbmctdmFyaWFibGVzXG4kZm9jdXMtcmluZy13aWR0aDogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAgICAuMjUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICByZ2JhKCRwcmltYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ib3gtc2hhZG93OiAwIDAgJGZvY3VzLXJpbmctYmx1ciAkZm9jdXMtcmluZy13aWR0aCAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9jdXMtcmluZy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kaHItY29sb3I6ICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQWxsb3dzIGZvciBpbmhlcml0ZWQgY29sb3JzXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZyLXZhcmlhYmxlc1xuJHZyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZyLXZhcmlhYmxlc1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjE4NzVlbSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6ICAgICAgIC4wNzUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAkZm9jdXMtcmluZy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogJGZvY3VzLXJpbmctb3BhY2l0eSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6ICAgICAgICAgICRmb2N1cy1yaW5nLWJsdXIgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWJ0bi12YXJpYWJsZXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFibGVzXG4kYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYjogICB0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRsaW5rLWNvbG9yKSwgJGxpbmstY29sb3IsIDE1JSkpICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcbiRmb3JtLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvciksXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpLFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtbGV2ZWxzLW1hcFxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgY2FsYygjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuLy8gZnVzdi1lbmFibGVcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcblxuXG4vLyBTcGlubmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci12YXJpYWJsZXNcbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAuNzVzICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLXZhcmlhYmxlc1xuXG5cbi8vIENsb3NlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS12YXJpYWJsZXNcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtbWl4aW5zXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNsZWFyZml4XG4iLCIvLyBBbGwtY2FwcyBgUkdCQSgpYCBmdW5jdGlvbiB1c2VkIGJlY2F1c2Ugb2YgdGhpcyBTYXNzIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvbm9kZS1zYXNzL2lzc3Vlcy8yMjUxXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJHZhbHVlKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIH1cbn1cbiIsIi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAubGluay0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICRob3Zlci1jb2xvcjogaWYoY29sb3ItY29udHJhc3QoJHZhbHVlKSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSksIHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSk7XG4gICAgICAgIGNvbG9yOiBSR0JBKCN7dG8tcmdiKCRob3Zlci1jb2xvcil9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHRvLXJnYigkaG92ZXItY29sb3IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9uZS1vZmYgc3BlY2lhbCBsaW5rIGhlbHBlciBhcyBhIGJyaWRnZSB1bnRpbCB2NlxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mb2N1cy1yaW5nOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgLy8gQnkgZGVmYXVsdCwgdGhlcmUgaXMgbm8gYC0tYnMtZm9jdXMtcmluZy14YCwgYC0tYnMtZm9jdXMtcmluZy15YCwgb3IgYC0tYnMtZm9jdXMtcmluZy1ibHVyYCwgYnV0IHdlIHByb3ZpZGUgQ1NTIHZhcmlhYmxlcyB3aXRoIGZhbGxiYWNrcyB0byBpbml0aWFsIGAwYCB2YWx1ZXNcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteCwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteSwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctYmx1ciwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGgpIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yKTtcbn1cbiIsIi5pY29uLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiAkaWNvbi1saW5rLWdhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIC41KSk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgPiAuYmkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWxpbmstaWNvbi1zaXplO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpY29uLWxpbmstaWNvbi10cmFuc2l0aW9uKTtcbiAgfVxufVxuXG4uaWNvbi1saW5rLWhvdmVyIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICA+IC5iaSB7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1pY29uLWxpbmstdHJhbnNmb3JtLCAkaWNvbi1saW5rLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbyk7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AZWFjaCAka2V5LCAkcmF0aW8gaW4gJGFzcGVjdC1yYXRpb3Mge1xuICAucmF0aW8tI3ska2V5fSB7XG4gICAgLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvOiAjeyRyYXRpb307XG4gIH1cbn1cbiIsIi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4vLyBSZXNwb25zaXZlIHN0aWNreSB0b3AgYW5kIGJvdHRvbVxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnN0aWNreSN7JGluZml4fS10b3Age1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cblxuICAgIC5zdGlja3kjeyRpbmZpeH0tYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgc3RhY2tzXG4uaHN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnZzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBzdGFja3NcbiIsIi8vXG4vLyBWaXN1YWxseSBoaWRkZW5cbi8vXG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBIaWRlIGNvbnRlbnQgdmlzdWFsbHkgd2hpbGUga2VlcGluZyBpdCBhY2Nlc3NpYmxlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTFweCAhaW1wb3J0YW50OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cbiAgLy8gRml4IGZvciBwb3NpdGlvbmVkIHRhYmxlIGNhcHRpb24gdGhhdCBjb3VsZCBiZWNvbWUgYW5vbnltb3VzIGNlbGxzXG4gICY6bm90KGNhcHRpb24pIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjojeyRzdHJldGNoZWQtbGluay1wc2V1ZG8tZWxlbWVudH0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFRleHQgdHJ1bmNhdGlvblxuLy9cblxuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6ICR2ci1ib3JkZXItd2lkdGg7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIC8vIFJlc2V0IG5lZWRlZCBmb3IgbmVzdGluZyB0YWJsZXNcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiBpbml0aWFsO1xuICAvLyBFbmQgb2YgcmVzZXRcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JHRhYmxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JHRhYmxlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6ICN7JHRhYmxlLWFjY2VudC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7JHRhYmxlLXN0cmlwZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyR0YWJsZS1zdHJpcGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAjeyR0YWJsZS1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JHRhYmxlLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAjeyR0YWJsZS1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyR0YWJsZS1ob3Zlci1iZ307XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIHZlcnRpY2FsLWFsaWduOiAkdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcblxuICAvLyBUYXJnZXQgdGggJiB0ZFxuICAvLyBXZSBuZWVkIHRoZSBjaGlsZCBjb21iaW5hdG9yIHRvIHByZXZlbnQgc3R5bGVzIGxlYWtpbmcgdG8gbmVzdGVkIHRhYmxlcyB3aGljaCBkb2Vzbid0IGhhdmUgYSBgLnRhYmxlYCBjbGFzcy5cbiAgLy8gV2UgdXNlIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3JzIGhlcmUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIChlbHNlIHdlIHdvdWxkIG5lZWQgNiBkaWZmZXJlbnQgc2VsZWN0b3JzKS5cbiAgLy8gQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGlzIGdlbmVyYXRlcyBsZXNzIGNvZGUgYW5kIG1ha2VzIHRoZSBzZWxlY3RvciBsZXNzIHNwZWNpZmljIG1ha2luZyBpdCBlYXNpZXIgdG8gb3ZlcnJpZGUuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXkgJHRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgIC8vIEZvbGxvd2luZyB0aGUgcHJlY2VwdCBvZiBjYXNjYWRlczogaHR0cHM6Ly9jb2RlcGVuLmlvL21pcmlhbXN1emFubmUvZnVsbC92WU5nb2RiXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcikpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmcpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOTk5OXB4IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmcpKSk7XG4gIH1cblxuICA+IHRib2R5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuLnRhYmxlLWdyb3VwLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiBjYWxjKCN7JHRhYmxlLWJvcmRlci13aWR0aH0gKiAyKSBzb2xpZCAkdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vL1xuLy8gQ2hhbmdlIHBsYWNlbWVudCBvZiBjYXB0aW9ucyB3aXRoIGEgY2xhc3Ncbi8vXG5cbi5jYXB0aW9uLXRvcCB7XG4gIGNhcHRpb24tc2lkZTogdG9wO1xufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtICR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG4vL1xuLy8gV2hlbiBib3JkZXJzIGFyZSBhZGRlZCBvbiBhbGwgc2lkZXMgb2YgdGhlIGNlbGxzLCB0aGUgY29ybmVycyBjYW4gcmVuZGVyIG9kZCB3aGVuXG4vLyB0aGVzZSBib3JkZXJzIGRvIG5vdCBoYXZlIHRoZSBzYW1lIGNvbG9yIG9yIGlmIHRoZXkgYXJlIHNlbWktdHJhbnNwYXJlbnQuXG4vLyBUaGVyZWZvciB3ZSBhZGQgdG9wIGFuZCBib3JkZXIgYm90dG9tcyB0byB0aGUgYHRyYHMgYW5kIGxlZnQgYW5kIHJpZ2h0IGJvcmRlcnNcbi8vIHRvIHRoZSBgdGRgcyBvciBgdGhgc1xuXG4udGFibGUtYm9yZGVyZWQge1xuICA+IDpub3QoY2FwdGlvbikgPiAqIHtcbiAgICBib3JkZXItd2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGggMDtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gICAgPiAqIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4vLyBGb3Igcm93c1xuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBGb3IgY29sdW1uc1xuLnRhYmxlLXN0cmlwZWQtY29sdW1ucyB7XG4gID4gOm5vdChjYXB0aW9uKSA+IHRyID4gOm50aC1jaGlsZCgjeyR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXJ9KSB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBBY3RpdmUgdGFibGVcbi8vXG4vLyBUaGUgYC50YWJsZS1hY3RpdmVgIGNsYXNzIGNhbiBiZSBhZGRlZCB0byBoaWdobGlnaHQgcm93cyBvciBjZWxsc1xuXG4udGFibGUtYWN0aXZlIHtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3IpO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG59XG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFudFxuQG1peGluIHRhYmxlLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KG9wYXF1ZSgkYm9keS1iZywgJGJhY2tncm91bmQpKTtcbiAgICAkaG92ZXItYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpKTtcbiAgICAkdGFibGUtYm9yZGVyLWNvbG9yOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuXG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JGNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHN0cmlwZWQtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJHN0cmlwZWQtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skaG92ZXItYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRob3Zlci1iZyl9O1xuXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYW50XG4iLCIvL1xuLy8gTGFiZWxzXG4vL1xuXG4uZm9ybS1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbn1cbiIsIi8vXG4vLyBGb3JtIHRleHRcbi8vXG5cbi5mb3JtLXRleHQge1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLXRleHQtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXRleHQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xufVxuIiwiLy9cbi8vIEdlbmVyYWwgZm9ybSBjb250cm9scyAocGx1cyBhIGZldyBzcGVjaWZpYyBoaWdoLWxldmVsIGludGVydmVudGlvbnMpXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImZpbGVcIl0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIHByZXZlbnQgcHNldWRvIGVsZW1lbnQgYnV0dG9uIG92ZXJsYXBcblxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHtcbiAgICAvLyBPbiBBbmRyb2lkIENocm9tZSwgZm9ybS1jb250cm9sJ3MgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgLy9cbiAgICAvLyBPbiBpT1MgU2FmYXJpLCBmb3JtLWNvbnRyb2wncyBcImFwcGVhcmFuY2U6IG5vbmVcIiArIFwid2lkdGg6IDEwMCVcIiBtYWtlcyB0aGUgaW5wdXQgd2lkdGggdG9vIHNtYWxsXG4gICAgLy8gVGVzdGVkIHVuZGVyIGlPUyAxNi4yIC8gU2FmYXJpIDE2LjJcbiAgICBtaW4td2lkdGg6IDg1cHg7IC8vIFNlZW1zIHRvIGJlIGEgZ29vZCBtaW5pbXVtIHNhZmUgd2lkdGhcblxuICAgIC8vIEFkZCBzb21lIGhlaWdodCB0byBkYXRlIGlucHV0cyBvbiBpT1NcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzIzMzA3XG4gICAgLy8gVE9ETzogd2UgY2FuIHJlbW92ZSB0aGlzIHdvcmthcm91bmQgb25jZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTU5IGlzIHJlc29sdmVkXG4gICAgLy8gTXVsdGlwbHkgbGluZS1oZWlnaHQgYnkgMWVtIGlmIGl0IGhhcyBubyB1bml0XG4gICAgaGVpZ2h0OiBpZih1bml0KCRpbnB1dC1saW5lLWhlaWdodCkgPT0gXCJcIiwgJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtbGluZS1oZWlnaHQpO1xuXG4gICAgLy8gQW5kcm9pZCBDaHJvbWUgdHlwZT1cImRhdGVcIiBpcyB0YWxsZXIgdGhhbiB0aGUgb3RoZXIgaW5wdXRzXG4gICAgLy8gYmVjYXVzZSBvZiBcIm1hcmdpbjogMXB4IDI0cHggMXB4IDRweFwiIGluc2lkZSB0aGUgc2hhZG93IERPTVxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBQcmV2ZW50IGV4Y2Vzc2l2ZSBkYXRlIGlucHV0IGhlaWdodCBpbiBXZWJraXRcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8zNDQzM1xuICAmOjotd2Via2l0LWRhdGV0aW1lLWVkaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIEZpbGUgaW5wdXQgYnV0dG9ucyB0aGVtaW5nXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXkpICgtJGlucHV0LXBhZGRpbmcteCk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXg7XG4gICAgY29sb3I6ICRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG4gIH1cblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnO1xuICB9XG59XG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LXNtKSAoLSRpbnB1dC1wYWRkaW5nLXgtc20pO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1sZykgKC0kaW5wdXQtcGFkZGluZy14LWxnKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1sZztcbiAgfVxufVxuXG4vLyBNYWtlIHN1cmUgdGV4dGFyZWFzIGRvbid0IHNocmluayB0b28gbXVjaCB3aGVuIHJlc2l6ZWRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI5MTI0XG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbnRleHRhcmVhIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4uZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgd2lkdGg6ICRmb3JtLWNvbG9yLXdpZHRoO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXk7XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtOyB9XG4gICYuZm9ybS1jb250cm9sLWxnIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnOyB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LWJnLW1peGluXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yOiBudWxsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtYmctbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LW1peGluc1xuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IG51bGwsICRlbmQtcGVyY2VudDogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1taXhpbnNcbiIsIi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG5cbi5mb3JtLXNlbGVjdCB7XG4gIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3IpfTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRmb3JtLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tc2VsZWN0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWcpLCB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbiwgbm9uZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zZWxlY3QtdHJhbnNpdGlvbik7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93LCAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGZvcm0tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5mb3JtLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1zZWxlY3QtbGcge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENoZWNrL3JhZGlvXG4vL1xuXG4uZm9ybS1jaGVjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9ybS1jaGVjay1taW4taGVpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b207XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmc6ICN7JGZvcm0tY2hlY2staW5wdXQtYmd9O1xuXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIGhlaWdodDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtYmFzZSAtICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoKSAqIC41OyAvLyBsaW5lLWhlaWdodCBtaW51cyBjaGVjayBoZWlnaHRcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXI6ICRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1jaGVjay10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBmaWx0ZXI6ICRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjtcblxuICAgICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSl9O1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG5cbiAgLy8gVXNlIGRpc2FibGVkIGF0dHJpYnV0ZSBpbiBhZGRpdGlvbiBvZiA6ZGlzYWJsZWQgcHNldWRvLWNsYXNzXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiAkZm9ybS1jaGVjay1sYWJlbC1jb2xvcjtcbiAgY3Vyc29yOiAkZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I7XG59XG5cbi8vXG4vLyBTd2l0Y2hcbi8vXG5cbi5mb3JtLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlKX07XG5cbiAgICB3aWR0aDogJGZvcm0tc3dpdGNoLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbik7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlKX07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uO1xuXG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kO1xufVxuXG4uYnRuLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgKyAuYnRuIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpub3QoOmNoZWNrZWQpOm5vdCg6Zm9jdXMpIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmZvcm0tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodCAtICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCkgKiAuNTsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkZm9ybS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkZm9ybS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG4iLCIuZm9ybS1mbG9hdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBoZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgPiBsYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiAxMDAlOyAvLyBhbGxvdyB0ZXh0YXJlYXNcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIFJlcXVpcmVkIGZvciBhbGlnbmluZyBsYWJlbCdzIHRleHQgd2l0aCB0aGUgaW5wdXQgYXMgaXQgYWZmZWN0cyBpbm5lciBib3ggbW9kZWxcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1mbG9hdGluZy10cmFuc2l0aW9uKTtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICAgIC8vIER1cGxpY2F0ZWQgYmVjYXVzZSBgOi13ZWJraXQtYXV0b2ZpbGxgIGludmFsaWRhdGVzIG90aGVyIHNlbGVjdG9ycyB3aGVuIGdyb3VwZWRcbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAjeyRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHl9KTtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAoJGZvcm0tZmxvYXRpbmctcGFkZGluZy14ICogLjUpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1sYWJlbC1oZWlnaHQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIER1cGxpY2F0ZWQgYmVjYXVzZSBgOi13ZWJraXQtYXV0b2ZpbGxgIGludmFsaWRhdGVzIG90aGVyIHNlbGVjdG9ycyB3aGVuIGdyb3VwZWRcbiAgPiAuZm9ybS1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIH4gbGFiZWwge1xuICAgICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgI3skZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5fSk7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwOyAvLyBSZXF1aXJlZCB0byBwcm9wZXJseSBwb3NpdGlvbiBsYWJlbCB0ZXh0IC0gYXMgZXhwbGFpbmVkIGFib3ZlXG4gICAgfVxuICB9XG5cbiAgPiA6ZGlzYWJsZWQgfiBsYWJlbCxcbiAgPiAuZm9ybS1jb250cm9sOmRpc2FibGVkIH4gbGFiZWwgeyAvLyBSZXF1aXJlZCBmb3IgYC5mb3JtLWNvbnRyb2xgcyBiZWNhdXNlIG9mIHNwZWNpZmljaXR5XG4gICAgY29sb3I6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLXNlbGVjdCxcbiAgPiAuZm9ybS1mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmZvcm0tZmxvYXRpbmc6Zm9jdXMtd2l0aGluIHtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteSAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uaW5wdXQtZ3JvdXAge1xuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IDpudGgtbGFzdC1jaGlsZChuICsgMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDQpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAkdmFsaWRhdGlvbi1tZXNzYWdlczogXCJcIjtcbiAgQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzKSB7XG4gICAgJHZhbGlkYXRpb24tbWVzc2FnZXM6ICR2YWxpZGF0aW9uLW1lc3NhZ2VzICsgXCI6bm90KC5cIiArIHVucXVvdGUoJHN0YXRlKSArIFwiLXRvb2x0aXApXCIgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItZmVlZGJhY2spXCI7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG4iLCIvLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKFxuICAkc3RhdGUsXG4gICRjb2xvcixcbiAgJGljb24sXG4gICR0b29sdGlwLWNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkdG9vbHRpcC1iZy1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSksXG4gICRmb2N1cy1ib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgJGJvcmRlci1jb2xvcjogJGNvbG9yXG4pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksXG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uOiAje2VzY2FwZS1zdmcoJGljb24pfTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb24sICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemUsICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfSBAZWxzZSBpZiAkc3RhdGUgPT0gXCJpbnZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRidG4tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skYnRuLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseTogI3skYnRuLWZvbnQtZmFtaWx5fTtcbiAgQGluY2x1ZGUgcmZzKCRidG4tZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRidG4tZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQ6ICN7JGJ0bi1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aDogI3skYnRuLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYnRuLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6ICN7JGJ0bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnRuLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXgpO1xuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogaWYoJGVuYWJsZS1idXR0b24tcG9pbnRlcnMsIHBvaW50ZXIsIG51bGwpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuYnRuLWNoZWNrICsgJjpob3ZlciB7XG4gICAgLy8gb3ZlcnJpZGUgZm9yIHRoZSBjaGVja2JveC9yYWRpbyBidXR0b25zXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQgKyAmLFxuICA6bm90KC5idG4tY2hlY2spICsgJjphY3RpdmUsXG4gICY6Zmlyc3QtY2hpbGQ6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJi5zaG93IHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnKTtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSk7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldDpkaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LWxvb3BzXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpZiAkY29sb3IgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRjb2xvciA9PSBcImRhcmtcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LWxvb3BzXG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtbm9ybWFsfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAwIDAgMCAjMDAwOyAvLyBDYW4ndCB1c2UgYG5vbmVgIGFzIGtleXdvcmQgbmVnYXRlcyBhbGwgdmFsdWVzIHdoZW4gdXNlZCB3aXRoIG11bHRpcGxlIHNoYWRvd3NcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7JGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2J9O1xuXG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KFxuICAkYmFja2dyb3VuZCxcbiAgJGJvcmRlcixcbiAgJGNvbG9yOiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCksXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaG92ZXItYmFja2dyb3VuZCksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKSxcbiAgJGRpc2FibGVkLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLFxuICAkZGlzYWJsZWQtYm9yZGVyOiAkYm9yZGVyLFxuICAkZGlzYWJsZWQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRkaXNhYmxlZC1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6ICN7JGJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRob3Zlci1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skaG92ZXItYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKG1peCgkY29sb3IsICRib3JkZXIsIDE1JSkpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiAjeyRkaXNhYmxlZC1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skZGlzYWJsZWQtYm9yZGVyfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGNvbG9yLWhvdmVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IoJGNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6IG5vbmU7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1zaXplLW1peGluXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1zaXplLW1peGluXG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS1jbGFzc2VzXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLWNsYXNzZXNcbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZW5kLFxuLmRyb3Bkb3duLFxuLmRyb3BzdGFydCxcbi5kcm9wdXAtY2VudGVyLFxuLmRyb3Bkb3duLWNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleDogI3skemluZGV4LWRyb3Bkb3dufTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoOiAjeyRkcm9wZG93bi1taW4td2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteTogI3skZHJvcGRvd24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyOiAjeyRkcm9wZG93bi1zcGFjZXJ9O1xuICBAaW5jbHVkZSByZnMoJGRyb3Bkb3duLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICN7JGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24taGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4KTtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgbWluLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteCk7XG4gIG1hcmdpbjogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtYXJnaW4gb2YgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93KSk7XG5cbiAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgPiAuZHJvcGRvd24taXRlbTpmaXJzdC1jaGlsZCxcbiAgICA+IGxpOmZpcnN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICAgID4gLmRyb3Bkb3duLWl0ZW06bGFzdC1jaGlsZCxcbiAgICA+IGxpOmxhc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuLy8gV2UgZGVsaWJlcmF0ZWx5IGhhcmRjb2RlIHRoZSBgYnMtYCBwcmVmaXggYmVjYXVzZSB3ZSBjaGVja1xuLy8gdGhpcyBjdXN0b20gcHJvcGVydHkgaW4gSlMgdG8gZGV0ZXJtaW5lIFBvcHBlcidzIHBvc2l0aW9uaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXN0YXJ0IHtcbiAgICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuXG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWVuZCB7XG4gICAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3BlbmQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoZW5kKTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BzdGFydCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoc3RhcnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIG9wYWNpdHk6IDE7IC8vIFJldmlzaXQgaW4gdjYgdG8gZGUtZHVwZSBzdHlsZXMgdGhhdCBjb25mbGljdCB3aXRoIDxocj4gZWxlbWVudFxufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tYm9yZGVyLXJhZGl1cywgMCkpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmcpKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG59XG5cbi8vIERhcmsgZHJvcGRvd25zXG4uZHJvcGRvd24tbWVudS1kYXJrIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tZGFyay1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LW1peGluc1xuQG1peGluIGNhcmV0LWRvd24oJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1lbmQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LXN0YXJ0KCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KFxuICAkZGlyZWN0aW9uOiBkb3duLFxuICAkd2lkdGg6ICRjYXJldC13aWR0aCxcbiAgJHNwYWNpbmc6ICRjYXJldC1zcGFjaW5nLFxuICAkdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnblxuKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGVuZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWVuZCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHN0YXJ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1zdGFydCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC1taXhpbnNcbiIsIi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gID4gLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bixcbiAgPiAuYnRuLWNoZWNrOmZvY3VzICsgLmJ0bixcbiAgPiAuYnRuOmhvdmVyLFxuICA+IC5idG46Zm9jdXMsXG4gID4gLmJ0bjphY3RpdmUsXG4gID4gLmJ0bi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnRuLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiA6bm90KC5idG4tY2hlY2s6Zmlyc3QtY2hpbGQpICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRidG4tYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6Zmlyc3QtY2hpbGQsXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyBUaGUgbGVmdCByYWRpdXMgc2hvdWxkIGJlIDAgaWYgdGhlIGJ1dHRvbiBpczpcbiAgLy8gLSB0aGUgXCJ0aGlyZCBvciBtb3JlXCIgY2hpbGRcbiAgLy8gLSB0aGUgc2Vjb25kIGNoaWxkIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCBpc24ndCBgLmJ0bi1jaGVja2AgKG1ha2luZyBpdCB0aGUgZmlyc3QgY2hpbGQgdmlzdWFsbHkpXG4gIC8vIC0gcGFydCBvZiBhIGJ0bi1ncm91cCB3aGljaCBpc24ndCB0aGUgZmlyc3QgY2hpbGRcbiAgPiAuYnRuOm50aC1jaGlsZChuICsgMyksXG4gID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wZW5kICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wc3RhcnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRidG4tYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG4gfiAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6ICN7JG5hdi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6ICN7JG5hdi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRuYXYtbGluay10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkbmF2LWxpbmstZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXRhYnMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdGFicy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi10YWJzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXRhYnMtY3NzLXZhcnNcblxuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXBpbGxzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1waWxscy1jc3MtdmFyc1xuXG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG59XG5cblxuLy9cbi8vIFVuZGVybGluZVxuLy9cblxuLm5hdi11bmRlcmxpbmUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcDogI3skbmF2LXVuZGVybGluZS1nYXB9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogI3skbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG5cbiAgZ2FwOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXApO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWZpbGwsXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBNYWtlIHN1cmUgYnV0dG9uIHdpbGwgZ3Jvd1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXg6ICN7aWYoJG5hdmJhci1wYWRkaW5nLXggPT0gbnVsbCwgMCwgJG5hdmJhci1wYWRkaW5nLXgpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteTogI3skbmF2YmFyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1saWdodC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15OiAjeyRuYXZiYXItYnJhbmQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICN7JG5hdmJhci1icmFuZC1tYXJnaW4tZW5kfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogI3skbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogI3skbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogI3skbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAjeyRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICN7JG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgLy8gVGhlIGBmbGV4LXdyYXBgIHByb3BlcnR5IGlzIGluaGVyaXRlZCB0byBzaW1wbGlmeSB0aGUgZXhwYW5kZWQgbmF2YmFyc1xuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICA+IC5jb250YWluZXIsXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1tYXJnaW4tZW5kKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6IDA7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICAmLmFjdGl2ZSxcbiAgICAmLnNob3cge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG5cbiAgYSxcbiAgYTpob3ZlcixcbiAgYTpmb2N1cyAge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemUpKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3IpOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uKSk7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoKTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zY3JvbGwtaGVpZ2h0LCA3NXZoKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1leHBhbmQtbG9vcFxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tdW5pb24tY2xhc3MtbmFtZVxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzIHtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG5vbmUpO1xuICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1leHBhbmQtbG9vcFxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4ubmF2YmFyLWxpZ2h0IHtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYC5uYXZiYXItbGlnaHRgXCIsIFwidjUuMi4wXCIsIFwidjYuMC4wXCIsIHRydWUpO1xufVxuXG4ubmF2YmFyLWRhcmssXG4ubmF2YmFyW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJdIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiAjeyRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15OiAjeyRjYXJkLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteDogI3skY2FyZC1zcGFjZXIteH07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXk6ICN7JGNhcmQtdGl0bGUtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLWNvbG9yOiAjeyRjYXJkLXRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zdWJ0aXRsZS1jb2xvcjogI3skY2FyZC1zdWJ0aXRsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoOiAjeyRjYXJkLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiAjeyRjYXJkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1czogI3skY2FyZC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiAjeyRjYXJkLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteTogI3skY2FyZC1jYXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1iZzogI3skY2FyZC1jYXAtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcjogI3skY2FyZC1jYXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWhlaWdodDogI3skY2FyZC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNvbG9yOiAjeyRjYXJkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1iZzogI3skY2FyZC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogI3skY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW46ICN7JGNhcmQtZ3JvdXAtbWFyZ2lufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3cpKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcik7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgfVxufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFjY29yZGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yOiAjeyRhY2NvcmRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6ICN7JGFjY29yZGlvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogI3skYWNjb3JkaW9uLWljb24td2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm19O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3c6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tY3NzLXZhcnNcbn1cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBidXR0b24gc3R5bGVcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmcpO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb24pKTtcblxuICAmOm5vdCguY29sbGFwc2VkKSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpKSAwIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY29yZGlvbiBpY29uXG4gICY6OmFmdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbikpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC8vIE9ubHkgc2V0IGEgYm9yZGVyLXJhZGl1cyBvbiB0aGUgbGFzdCBpdGVtIGlmIHRoZSBhY2NvcmRpb24gaXMgY29sbGFwc2VkXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteCk7XG59XG5cblxuLy8gRmx1c2ggYWNjb3JkaW9uIGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBhY2NvcmRpb24gaXRlbXMgZWRnZS10by1lZGdlLlxuXG4uYWNjb3JkaW9uLWZsdXNoIHtcbiAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wOiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJixcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24tZGFyayl9O1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKSkgI3tcIi8qIHJ0bDpcIn0gdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQpKSAje1wiKi9cIn07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZ2luYXRpb24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZ2luYXRpb24tcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwYWdpbmF0aW9uLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZzogI3skcGFnaW5hdGlvbi1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JHBhZ2luYXRpb24taG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZzogI3skcGFnaW5hdGlvbi1mb2N1cy1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogI3skcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmc6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHBhZ2luYXRpb24tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmcpO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgLmFjdGl2ZSA+ICYge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gIC5kaXNhYmxlZCA+ICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0O1xuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydCA9PSBjYWxjKCN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSAqIC0xKSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBBZGQgYm9yZGVyLXJhZGl1cyB0byBhbGwgcGFnZUxpbmtzIGluIGNhc2UgdGhleSBoYXZlIGxlZnQgbWFyZ2luXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLW1peGluXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1taXhpblxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteDogI3skYmFkZ2UtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15OiAjeyRiYWRnZS1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGJhZGdlLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQ6ICN7JGJhZGdlLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3I6ICN7JGJhZGdlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1czogI3skYmFkZ2UtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFsZXJ0LWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14OiAjeyRhbGVydC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXk6ICN7JGFsZXJ0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b206ICN7JGFsZXJ0LW1hcmdpbi1ib3R0b219O1xuICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyOiAjeyRhbGVydC1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzOiAjeyRhbGVydC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogaW5oZXJpdDtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3IpO1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXggKyAxO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgKiAxLjI1ICRhbGVydC1wYWRkaW5nLXg7XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtbW9kaWZpZXJzXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0XG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuYWxlcnQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LW1vZGlmaWVyc1xuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1rZXlmcmFtZXNcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6ICRwcm9ncmVzcy1oZWlnaHQ7IH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1rZXlmcmFtZXNcblxuLnByb2dyZXNzLFxuLnByb2dyZXNzLXN0YWNrZWQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0OiAjeyRwcm9ncmVzcy1oZWlnaHR9O1xuICBAaW5jbHVkZSByZnMoJHByb2dyZXNzLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmc6ICN7JHByb2dyZXNzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogI3skcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3c6ICN7JHByb2dyZXNzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3I6ICN7JHByb2dyZXNzLWJhci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZzogI3skcHJvZ3Jlc3MtYmFyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICN7JHByb2dyZXNzLWJhci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3cpKTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uKSk7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3MgPiAucHJvZ3Jlc3MtYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogI3skbGlzdC1ncm91cC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAjeyRsaXN0LWdyb3VwLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogI3skbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogI3skbGlzdC1ncm91cC1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZzogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmxpc3QtZ3JvdXAtbnVtYmVyZWQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtOjpiZWZvcmUge1xuICAgIC8vIEluY3JlbWVudHMgb25seSB0aGlzIGluc3RhbmNlIG9mIHRoZSBzZWN0aW9uIGNvdW50ZXJcbiAgICBjb250ZW50OiBjb3VudGVycyhzZWN0aW9uLCBcIi5cIikgXCIuIFwiO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICB9XG59XG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZyk7XG4gIH1cbn1cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmcpO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgJiArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuLy8gTGlzdCBncm91cCBjb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4iLCIvLyBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgcHJvcGVydGllcyBpbmNsdWRlZCBmb3IgYnV0dG9uIHZlcnNpb24uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi5idG4tY2xvc2Uge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yOiAjeyRidG4tY2xvc2UtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtYmc6ICN7IGVzY2FwZS1zdmcoJGJ0bi1jbG9zZS1iZykgfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLXNoYWRvdzogI3skYnRuLWNsb3NlLWZvY3VzLXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICN7JGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXJ9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNsb3NlLWNzcy12YXJzXG5cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAkYnRuLWNsb3NlLXdpZHRoO1xuICBoZWlnaHQ6ICRidG4tY2xvc2UtaGVpZ2h0O1xuICBwYWRkaW5nOiAkYnRuLWNsb3NlLXBhZGRpbmcteSAkYnRuLWNsb3NlLXBhZGRpbmcteDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnKSBjZW50ZXIgLyAkYnRuLWNsb3NlLXdpZHRoIGF1dG8gbm8tcmVwZWF0OyAvLyBpbmNsdWRlIHRyYW5zcGFyZW50IGZvciBidXR0b24gZWxlbWVudHNcbiAgYm9yZGVyOiAwOyAvLyBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbiAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1vcGFjaXR5KTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtaG92ZXItb3BhY2l0eSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtc2hhZG93KTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuLWNsb3NlLXdoaXRlKCkge1xuICBmaWx0ZXI6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2Utd2hpdGUtZmlsdGVyKTtcbn1cblxuLmJ0bi1jbG9zZS13aGl0ZSB7XG4gIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiLnRvYXN0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvYXN0LXppbmRleDogI3skemluZGV4LXRvYXN0fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14OiAjeyR0b2FzdC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXk6ICN7JHRvYXN0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvYXN0LXNwYWNpbmc6ICN7JHRvYXN0LXNwYWNpbmd9O1xuICAtLSN7JHByZWZpeH10b2FzdC1tYXgtd2lkdGg6ICN7JHRvYXN0LW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkdG9hc3QtZm9udC1zaXplLCAtLSN7JHByZWZpeH10b2FzdC1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH10b2FzdC1jb2xvcjogI3skdG9hc3QtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1iZzogI3skdG9hc3QtYmFja2dyb3VuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aDogI3skdG9hc3QtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzOiAjeyR0b2FzdC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdzogI3skdG9hc3QtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1jb2xvcjogI3skdG9hc3QtaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJnOiAjeyR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRvYXN0LWNzcy12YXJzXG5cbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b2FzdC1tYXgtd2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1jb250YWluZXIge1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4KTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nKTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSkpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB9XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1tb2RhbC16aW5kZXg6ICN7JHppbmRleC1tb2RhbH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1tZH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmc6ICN7JG1vZGFsLWlubmVyLXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1jb2xvcjogI3skbW9kYWwtY29udGVudC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJnOiAjeyRtb2RhbC1jb250ZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aDogI3skbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteTogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nOiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZ307IC8vIFRvZG8gaW4gdjY6IFNwbGl0IHRoaXMgcGFkZGluZyBpbnRvIHggYW5kIHlcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogI3skbW9kYWwtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwOiAjeyRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmc6ICN7JG1vZGFsLWZvb3Rlci1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRofTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKTtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93KSk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXg6ICN7JHppbmRleC1tb2RhbC1iYWNrZHJvcH07XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLWJnOiAjeyRtb2RhbC1iYWNrZHJvcC1iZ307XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHk6ICN7JG1vZGFsLWJhY2tkcm9wLW9wYWNpdHl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1iYWNrZHJvcCh2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4KSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLWJnKSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHkpKTtcbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbjogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKTtcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZykgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7IC8vIFRvZG8gaW4gdjY6IHJlcGxhY2Ugd2l0aCBnYXAgb24gcGFyZW50IGNsYXNzXG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9O1xuICAgIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cH07XG4gIH1cblxuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubW9kYWwtc20ge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1zbX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLWxnfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXhsfTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJHBvc3RmaXg6IGlmKCRpbmZpeCAhPSBcIlwiLCAkaW5maXggKyBcIi1kb3duXCIsIFwiXCIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC5tb2RhbC1mdWxsc2NyZWVuI3skcG9zdGZpeH0ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG4iLCIvLyBTaGFyZWQgYmV0d2VlbiBtb2RhbHMgYW5kIG9mZmNhbnZhc2VzXG5AbWl4aW4gb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LCAkYmFja2Ryb3AtYmcsICRiYWNrZHJvcC1vcGFjaXR5KSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRiYWNrZHJvcC1vcGFjaXR5OyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4OiAjeyR6aW5kZXgtdG9vbHRpcH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoOiAjeyR0b29sdGlwLW1heC13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14OiAjeyR0b29sdGlwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15OiAjeyR0b29sdGlwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luOiAjeyR0b29sdGlwLW1hcmdpbn07XG4gIEBpbmNsdWRlIHJmcygkdG9vbHRpcC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcjogI3skdG9vbHRpcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6ICN7JHRvb2x0aXAtYmd9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXM6ICN7JHRvb2x0aXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eTogI3skdG9vbHRpcC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aDogI3skdG9vbHRpcC1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAjeyR0b29sdGlwLWFycm93LWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAkdG9vbHRpcC1tYXJnaW5gXCIsIFwidjVcIiwgXCJ2NS54XCIsIHRydWUpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eSk7IH1cblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3cge1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1zdGFydDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzKSk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igb3ZlcmZsb3ctd3JhcCAvIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXg6ICN7JHppbmRleC1wb3BvdmVyfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGg6ICN7JHBvcG92ZXItbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJnOiAjeyRwb3BvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGg6ICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3I6ICN7JHBvcG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdzogI3skcG9wb3Zlci1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1oZWFkZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcjogI3skcG9wb3Zlci1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZzogI3skcG9wb3Zlci1oZWFkZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteTogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcjogI3skcG9wb3Zlci1ib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aDogI3skcG9wb3Zlci1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0OiAjeyRwb3BvdmVyLWFycm93LWhlaWdodH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGgpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3cpKTtcblxuICAucG9wb3Zlci1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGJvdHRvbTogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItZW5kIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgbGVmdDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgdG9wOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItc3RhcnQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICByaWdodDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1zdGFydDtcbiAgfVxufVxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3IpO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmNhcm91c2VsLWl0ZW0tZW5kIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tc3RhcnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tZW5kKSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4vKiBydGw6b3B0aW9uczoge1xuICBcImF1dG9SZW5hbWVcIjogdHJ1ZSxcbiAgXCJzdHJpbmdNYXBcIjpbIHtcbiAgICBcIm5hbWVcIiAgICA6IFwicHJldi1uZXh0XCIsXG4gICAgXCJzZWFyY2hcIiAgOiBcInByZXZcIixcbiAgICBcInJlcGxhY2VcIiA6IFwibmV4dFwiXG4gIH0gXVxufSAqL1xuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpO1xufVxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwcy9jb250cm9sc1xuLy9cbi8vIEFkZCBhIGNvbnRhaW5lciAoc3VjaCBhcyBhIGxpc3QpIHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGFuIGl0ZW0gKGlkZWFsbHkgYSBmb2N1c2FibGUgY29udHJvbCxcbi8vIGxpa2UgYSBidXR0b24pIHdpdGggZGF0YS1icy10YXJnZXQgZm9yIGVhY2ggc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuXG4gIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgcGFkZGluZy10b3A6ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIERhcmsgbW9kZSBjYXJvdXNlbFxuXG5AbWl4aW4gY2Fyb3VzZWwtZGFyaygpIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICAgIGZpbHRlcjogJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cblxuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cblxuLmNhcm91c2VsLWRhcmsge1xuICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIEBpZiAkY29sb3ItbW9kZS10eXBlID09IFwibWVkaWEtcXVlcnlcIiB7XG4gICAgICAuY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAuY2Fyb3VzZWwsXG4gICAgICAmLmNhcm91c2VsIHtcbiAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuLnNwaW5uZXItZ3Jvdyxcbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ24pO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZSB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZSk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgI3tcIi8qIHJ0bDppZ25vcmUgKi9cIn07IH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG5cbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGgpIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGgtc219O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWdyb3cge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xufVxuXG5AaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkICogMn07XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJW9mZmNhbnZhcy1jc3MtdmFycyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleDogI3skemluZGV4LW9mZmNhbnZhc307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aDogI3skb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteDogI3skb2ZmY2FudmFzLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXk6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3I6ICN7JG9mZmNhbnZhcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZzogI3skb2ZmY2FudmFzLWJnLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogI3skb2ZmY2FudmFzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICN7JG9mZmNhbnZhcy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdzogI3skb2ZmY2FudmFzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdHJhbnNpdGlvbjogI3t0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy1jc3MtdmFyc1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBleHRlbmQgJW9mZmNhbnZhcy1jc3MtdmFycztcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcik7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3cpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uKSk7XG5cbiAgICAgICYub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtYm90dG9tIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuc2hvdzpub3QoLmhpZGluZykge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuaGlkaW5nLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSk7XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuIiwiLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg7XG5cbiAgJi5idG46OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAuOGVtO1xufVxuXG4ucGxhY2Vob2xkZXItbGcge1xuICBtaW4taGVpZ2h0OiAxLjJlbTtcbn1cblxuLy8gQW5pbWF0aW9uXG4ucGxhY2Vob2xkZXItZ2xvdyB7XG4gIC5wbGFjZWhvbGRlciB7XG4gICAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci1nbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgJGJsYWNrIDU1JSwgcmdiYSgwLCAwLCAwLCAoMSAtICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbikpIDc1JSwgJGJsYWNrIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgfVxufVxuIiwiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4OiBcIlwiLCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLWdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLWdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExvb3Agb3ZlciBlYWNoIGJyZWFrcG9pbnRcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gR2VuZXJhdGUgbWVkaWEgcXVlcnkgaWYgbmVlZGVkXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSRlMgcmVzY2FsaW5nXG5AbWVkaWEgKG1pbi13aWR0aDogJHJmcy1tcS12YWx1ZSkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmIChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkgPCAkcmZzLWJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHByaW50KSA9PSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksIFwiLXByaW50XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkVSQUwgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSW1hZ2UgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVsYXRpdmUgaW1hZ2UgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtaW1hZ2UtcGF0aDogXCIuLi9pbWdcIiAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgY29tcGlsZSB3YXJuaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdyBTYXNzIHdhcm5pbmdzIHdoZW4gZnVuY3Rpb25zIGFuZFxubWl4aW5zIHVzZSBub24tc3RhbmRhcmQgdG9rZW5zLlxuQU5EXG5TaG93IHVwZGF0ZXMgYW5kIG5vdGlmaWNhdGlvbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtc2hvdy1jb21waWxlLXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuJHRoZW1lLXNob3ctbm90aWZpY2F0aW9uczogdHJ1ZSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5hbWVzcGFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLW5hbWVzcGFjZTogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtbmFtZXNwYWNlLWNvbXBsZXRlOiBtYXAuZGVlcC1tZXJnZShcbiAgKFxuICAgIFwiZ3JpZFwiOiAoXG4gICAgICBuYW1lc3BhY2U6IFwiZ3JpZC1cIixcbiAgICAgIG91dHB1dDogdHJ1ZSxcbiAgICApLFxuICAgIFwidXRpbGl0eVwiOiAoXG4gICAgICBuYW1lc3BhY2U6IFwidS1cIixcbiAgICAgIG91dHB1dDogZmFsc2UsXG4gICAgKSxcbiAgKSxcbiAgJHRoZW1lLW5hbWVzcGFjZVxuKSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblByZWZpeCBzZXBhcmF0b3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgY2hhcmFjdGVyIHRoZSBzZXBhcmF0ZXNcbnJlc3BvbnNpdmUgYW5kIHN0YXRlIHByZWZpeGVzIGZyb20gdGhlXG5tYWluIGNsYXNzIG5hbWUuXG5UaGUgZGVmYXVsdCAoXCI6XCIpIG5lZWRzIHRvIGJlIHByZWNlZGVkXG5ieSB0d28gYmFja3NsYXNoZXMgdG8gYmUgcHJvcGVybHlcbmVzY2FwZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtcHJlZml4LXNlcGFyYXRvcjogXCJcXFxcOlwiICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3VsZCB0aGUgbGF5b3V0IGdyaWQgY2xhc3NlcyBvdXRwdXRcbndpdGggIWltcG9ydGFudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLWxheW91dC1ncmlkLXVzZS1pbXBvcnRhbnQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIGJveCBzaXppbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldoZW4gc2V0IHRvIHRydWUsIHNldHMgdGhlIGJveC1zaXppbmdcbnByb3BlcnR5IG9mIGFsbCBzaXRlIGVsZW1lbnRzIHRvXG5gYm9yZGVyLWJveGAuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZ2xvYmFsLWJvcmRlci1ib3gtc2l6aW5nOiB0cnVlICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9jdXMgc3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZm9jdXMtY29sb3I6IFwiYmx1ZS00MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1mb2N1cy1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG4kdGhlbWUtZm9jdXMtc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHRoZW1lLWZvY3VzLXdpZHRoOiAwLjUgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLWljb24taW1hZ2Utc2l6ZTogMiAhZGVmYXVsdDtcbiIsIi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UWVBPR1JBUEhZIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyB0eXBvZ3JhcGh5IHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnMvdHlwZXNldHRpbmcvb3ZlcnZpZXcvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUm9vdCBmb250IHNpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldHRpbmcgJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgdG9cbnRydWUgc2V0cyB0aGUgcm9vdCBmb250IHNpemUgdG8gMTAwJSBhbmRcbnVzZXMgZW1zIGZvciBtZWRpYSBxdWVyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGhlbWUtcm9vdC1mb250LXNpemUgb25seSBhcHBsaWVzIHdoZW5cbiR0aGVtZS1yZXNwZWN0LXVzZXItZm9udC1zaXplIGlzIHNldCB0b1xuZmFsc2UuXG5cblRoaXMgd2lsbCBzZXQgdGhlIHJvb3QgZm9udCBzaXplXG5hcyBhIHNwZWNpZmljIHB4IHZhbHVlIGFuZCB1c2UgcHggdmFsdWVzXG5mb3IgbWVkaWEgcXVlcmllcy5cblxuQWNjZXB0cyB0cnVlIG9yIGZhbHNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gJHRoZW1lLXJvb3QtZm9udC1zaXplIG9ubHkgYXBwbGllcyB3aGVuXG4vLyAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSBpcyBzZXQgdG9cbi8vIGZhbHNlLlxuXG4vLyBUaGlzIHdpbGwgc2V0IHRoZSByb290IGZvbnQgc2l6ZVxuLy8gYXMgYSBzcGVjaWZpYyBweCB2YWx1ZSBhbmQgdXNlIHB4IHZhbHVlc1xuLy8gZm9yIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIEFjY2VwdHMgdmFsdWVzIGluIHB4XG5cbiR0aGVtZS1yb290LWZvbnQtc2l6ZTogMTBweCAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdsb2JhbCBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZHMgYmFzaWMgc3R5bGluZyBmb3IgdGhlIGZvbGxvd2luZ1xudW5jbGFzc2VkIGVsZW1lbnRzOlxuXG4tIHBhcmFncmFwaDogcGFyYWdyYXBoIHRleHRcbi0gbGluazogbGlua3Ncbi0gY29udGVudDogcGFyYWdyYXBoIHRleHQsIGxpbmtzLFxuICBoZWFkaW5ncywgbGlzdHMsIGFuZCB0YWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS1nbG9iYWwtcGFyYWdyYXBoLXN0eWxlczogZmFsc2UgIWRlZmF1bHQ7XG4kdGhlbWUtZ2xvYmFsLWxpbmstc3R5bGVzOiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1nbG9iYWwtY29udGVudC1zdHlsZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQnJvc3dlciBjb21wYXRpYmlsaXR5IG1vZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldoZW4gdHJ1ZSwgb3V0cHV0cyB3b2ZmIGFuZCB0dGYgZm9udCBcbmZvcm1hdHMgaW4gYWRkaXRpb24gdG8gd29mZjJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS1mb250LWJyb3dzZXItY29tcGF0aWJpbGl0eTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGZvbnQgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZm9udC1wYXRoOiBcIi4uL2ZvbnRzXCIgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gdHlwZWZhY2UgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuZXcgY3VzdG9tIHR5cGVmYWNlIHRva2VuIGlmXG55b3VyIHByb2plY3QgdXNlcyBhIHR5cGVmYWNlIG5vdCBhbHJlYWR5XG5kZWZpbmVkIGJ5IFVTV0RTLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgZGVmaW5lcyB0aGUgZm9sbG93aW5nIHRva2Vuc1xuYnkgZGVmYXVsdDpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbidnZW9yZ2lhJ1xuJ2hlbHZldGljYSdcbidtZXJyaXdlYXRoZXInXG4nb3Blbi1zYW5zJ1xuJ3B1YmxpYy1zYW5zJ1xuJ3JvYm90by1tb25vJ1xuJ3NvdXJjZS1zYW5zLXBybydcbidzeXN0ZW0nXG4ndGFob21hJ1xuJ3ZlcmRhbmEnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYXMgbWFueSBuZXcgdG9rZW5zIGFzIHlvdSBoYXZlXG5jdXN0b20gdHlwZWZhY2VzLiBSZWZlcmVuY2UgeW91ciBuZXdcbnRva2VuKHMpIGluIHRoZSB0eXBlLWJhc2VkIGZvbnQgc2V0dGluZ3NcbnVzaW5nIHRoZSBxdW90ZWQgbmFtZSBvZiB0aGUgdG9rZW4uXG5cbkZvciBleGFtcGxlOlxuXG4kdGhlbWUtZm9udC10eXBlLWNvbmQ6ICdleGFtcGxlLWZvbnQtdG9rZW4nO1xuXG5kaXNwbGF5LW5hbWU6XG5UaGUgZGlzcGxheSBuYW1lIG9mIHlvdXIgZm9udFxuXG5jYXAtaGVpZ2h0OlxuVGhlIGhlaWdodCBvZiBhIDUwMHB4IGBOYCBpbiBTa2V0Y2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbllvdSBzaG91bGQgY2hhbmdlIGBleGFtcGxlLVtzdHlsZV0tdG9rZW5gXG5uYW1lcyB0byBzb21ldGhpbmcgbW9yZSBkZXNjcmlwdGl2ZS5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS10eXBlZmFjZS10b2tlbnM6IChcbiAgZXhhbXBsZS1zZXJpZi10b2tlbjogKFxuICAgIGRpc3BsYXktbmFtZTogXCJFeGFtcGxlIFNlcmlmIERpc3BsYXkgTmFtZVwiLFxuICAgIGNhcC1oZWlnaHQ6IDM2NHB4LFxuICApLFxuICBleGFtcGxlLXNhbnMtdG9rZW46IChcbiAgICBkaXNwbGF5LW5hbWU6IFwiRXhhbXBsZSBTYW5zIERpc3BsYXkgTmFtZVwiLFxuICAgIGNhcC1oZWlnaHQ6IDM2NHB4LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblR5cGUtYmFzZWQgZm9udCBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSB0eXBlLWJhc2VkIHRva2VucyBmb3IgeW91clxucHJvamVjdCBmcm9tIHRoZSBmb2xsb3dpbmcgdG9rZW5zLFxub3IgZnJvbSBhbnkgbmV3IGZvbnQgdG9rZW5zIHlvdSBhZGRlZCBpblxuJHRoZW1lLXR5cGVmYWNlLXRva2Vucy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbidnZW9yZ2lhJ1xuJ2hlbHZldGljYSdcbidtZXJyaXdlYXRoZXInXG4nb3Blbi1zYW5zJ1xuJ3B1YmxpYy1zYW5zJ1xuJ3JvYm90by1tb25vJ1xuJ3NvdXJjZS1zYW5zLXBybydcbidzeXN0ZW0nXG4ndGFob21hJ1xuJ3ZlcmRhbmEnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vLyBjb25kZW5zZWRcbiR0aGVtZS1mb250LXR5cGUtY29uZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIGljb25cbiR0aGVtZS1mb250LXR5cGUtaWNvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIGxhbmd1YWdlLXNwZWNpZmljXG4kdGhlbWUtZm9udC10eXBlLWxhbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBtb25vc3BhY2VcbiR0aGVtZS1mb250LXR5cGUtbW9ubzogXCJyb2JvdG8tbW9ub1wiICFkZWZhdWx0O1xuXG4vLyBzYW5zLXNlcmlmXG4kdGhlbWUtZm9udC10eXBlLXNhbnM6IFwic291cmNlLXNhbnMtcHJvXCIgIWRlZmF1bHQ7XG5cbi8vIHNlcmlmXG4kdGhlbWUtZm9udC10eXBlLXNlcmlmOiBcIm1lcnJpd2VhdGhlclwiICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ3VzdG9tIGZvbnQgc3RhY2tzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgY3VzdG9tIGZvbnQgc3RhY2tzIHRvIGFueSBvZiB0aGVcbnR5cGUtYmFzZWQgZm9udHMuIEFueSBVU1dEUyB0eXBlZmFjZVxudG9rZW4gYWxyZWFkeSBoYXMgYSBkZWZhdWx0IHN0YWNrLlxuXG5DdXN0b20gc3RhY2tzIGRvbid0IG5lZWQgdG8gaW5jbHVkZSB0aGVcbmZvbnQncyBkaXNwbGF5IG5hbWUuIEl0IHdpbGxcbmF1dG9tYXRpY2FsbHkgYXBwZWFyIGF0IHRoZSBzdGFydCBvZlxudGhlIHN0YWNrLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRXhhbXBsZTpcbiR0aGVtZS1mb250LXR5cGUtc2FuczogJ3NvdXJjZS1zYW5zLXBybyc7XG4kdGhlbWUtZm9udC1zYW5zLWN1c3RvbS1zdGFjazogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zO1xuXG5PdXRwdXQ6XG5mb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zO1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLWZvbnQtY29uZC1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtaWNvbi1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtbGFuZy1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtbW9uby1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtc2Fucy1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtc2VyaWYtY3VzdG9tLXN0YWNrOiBmYWxzZSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhbnkgY3VzdG9tIGZvbnQgc291cmNlIGZpbGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JZiB5b3Ugd2FudCBVU1dEUyB0byBnZW5lcmF0ZSBhZGRpdGlvbmFsXG5AZm9udC1mYWNlIGRlY2xhcmF0aW9ucywgYWRkIHlvdXIgZm9udFxuZGF0YSBiZWxvdywgZm9sbG93aW5nIHRoZSBleGFtcGxlIHRoYXRcbmZvbGxvd3MuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBAZm9udC1mYWNlXG5kZWNsYXJhdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmdcblxuJ21lcnJpd2VhdGhlcidcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG5cblRoZXNlIHR5cGVmYWNlcyBub3QgcmVxdWlyZSBjdXN0b21cbnNvdXJjZSBmaWxlcy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVYQU1QTEVcblxuLSBkaXI6XG4gIERpcmVjdG9yeSByZWxhdGl2ZSB0byAkdGhlbWUtZm9udC1wYXRoXG4tIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBpbmNsdWRlIGZvbnRzIHNhdmVkIGFzXG4gIC53b2ZmMlxuICBFeGFtcGxlU2VyaWYtTm9ybWFsLndvZmYyXG5cbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IChcbiAgZGlyOiAnY3VzdG9tL2V4YW1wbGUtc2VyaWYnLFxuICByb21hbjogKFxuICAgIDEwMDogZmFsc2UsXG4gICAgMjAwOiBmYWxzZSxcbiAgICAzMDA6ICdFeGFtcGxlU2VyaWYtTGlnaHQnLFxuICAgIDQwMDogJ0V4YW1wbGVTZXJpZi1Ob3JtYWwnLFxuICAgIDUwMDogZmFsc2UsXG4gICAgNjAwOiBmYWxzZSxcbiAgICA3MDA6ICdFeGFtcGxlU2VyaWYtQm9sZCcsXG4gICAgODAwOiBmYWxzZSxcbiAgICA5MDA6IGZhbHNlLFxuICApLFxuICBpdGFsaWM6IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0SXRhbGljJyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtSXRhbGljJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGRJdGFsaWMnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbik7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZm9udC1jb25kLWN1c3RvbS1zcmM6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtaWNvbi1jdXN0b20tc3JjOiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1mb250LWxhbmctY3VzdG9tLXNyYzogZmFsc2UgIWRlZmF1bHQ7XG4kdGhlbWUtZm9udC1tb25vLWN1c3RvbS1zcmM6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtc2Fucy1jdXN0b20tc3JjOiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IGZhbHNlICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUm9sZS1iYXNlZCBmb250IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIHJvbGUtYmFzZWQgdG9rZW5zIGZvciB5b3VyXG5wcm9qZWN0IGZyb20gdGhlIGZvbGxvd2luZyBmb250LXR5cGVcbnRva2Vucy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbidjb25kJ1xuJ2ljb24nXG4nbGFuZydcbidtb25vJ1xuJ3NhbnMnXG4nc2VyaWYnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZm9udC1yb2xlLXVpOiBcInNhbnNcIiAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXJvbGUtaGVhZGluZzogXCJzZXJpZlwiICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtcm9sZS1ib2R5OiBcInNhbnNcIiAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXJvbGUtY29kZTogXCJtb25vXCIgIWRlZmF1bHQ7XG4kdGhlbWUtZm9udC1yb2xlLWFsdDogXCJzZXJpZlwiICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHlwZSBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVmaW5lIHlvdXIgcHJvamVjdCdzIHR5cGUgc2NhbGUgdXNpbmdcbnZhbHVlcyBmcm9tIHRoZSBVU1dEUyBzeXN0ZW0gdHlwZSBzY2FsZVxuXG4xLTIwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtdHlwZS1zY2FsZS0zeHM6IDIgIWRlZmF1bHQ7XG4kdGhlbWUtdHlwZS1zY2FsZS0yeHM6IDMgIWRlZmF1bHQ7XG4kdGhlbWUtdHlwZS1zY2FsZS14czogNCAhZGVmYXVsdDtcbiR0aGVtZS10eXBlLXNjYWxlLXNtOiA1ICFkZWZhdWx0O1xuJHRoZW1lLXR5cGUtc2NhbGUtbWQ6IDYgIWRlZmF1bHQ7XG4kdGhlbWUtdHlwZS1zY2FsZS1sZzogOSAhZGVmYXVsdDtcbiR0aGVtZS10eXBlLXNjYWxlLXhsOiAxMiAhZGVmYXVsdDtcbiR0aGVtZS10eXBlLXNjYWxlLTJ4bDogMTQgIWRlZmF1bHQ7XG4kdGhlbWUtdHlwZS1zY2FsZS0zeGw6IDE1ICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCB3ZWlnaHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Bc3NpZ24gd2VpZ2h0cyAxMDAtOTAwXG5PciB1c2UgYGZhbHNlYCBmb3IgdW5uZWVkZWQgd2VpZ2h0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS1mb250LXdlaWdodC10aGluOiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXdlaWdodC1saWdodDogMzAwICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtd2VpZ2h0LW1lZGl1bTogZmFsc2UgIWRlZmF1bHQ7XG4kdGhlbWUtZm9udC13ZWlnaHQtc2VtaWJvbGQ6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMCAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXdlaWdodC1oZWF2eTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIElmIFVTV0RTIGlzIGdlbmVyYXRpbmcgeW91ciBAZm9udC1mYWNlIHJ1bGVzLFxuLy8gc2hvdWxkIHdlIGdlbmVyYXRlIGFsbCBhdmFpbGFibGUgd2VpZ2h0c1xuLy8gcmVnYXJkbGVzcyBvZiB0aGUgYXNzaWdubWVudHMgYWJvdmU/XG5cbiR0aGVtZS1nZW5lcmF0ZS1hbGwtd2VpZ2h0czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZW5lcmFsIHR5cG9ncmFwaHkgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblR5cGUgc2NhbGUgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5taWNybzogICAgICAxMHB4XG4xOiAgICAgICAgICAxMnB4XG4yOiAgICAgICAgICAxM3B4XG4zOiAgICAgICAgICAxNHB4XG40OiAgICAgICAgICAxNXB4XG41OiAgICAgICAgICAxNnB4XG42OiAgICAgICAgICAxN3B4XG43OiAgICAgICAgICAxOHB4XG44OiAgICAgICAgICAyMHB4XG45OiAgICAgICAgICAyMnB4XG4xMDogICAgICAgICAyNHB4XG4xMTogICAgICAgICAyOHB4XG4xMjogICAgICAgICAzMnB4XG4xMzogICAgICAgICAzNnB4XG4xNDogICAgICAgICA0MHB4XG4xNTogICAgICAgICA0OHB4XG4xNjogICAgICAgICA1NnB4XG4xNzogICAgICAgICA2NHB4XG4xODogICAgICAgICA4MHB4XG4xOTogICAgICAgICAxMjBweFxuMjA6ICAgICAgICAgMTQwcHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgaGVpZ2h0IHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMTogICAgMVxuMjogICAgMS4xNVxuMzogICAgMS4zNVxuNDogICAgMS41XG41OiAgICAxLjYyXG42OiAgICAxLjc1XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHJvbGUgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ndWknXG4naGVhZGluZydcbidib2R5J1xuJ2NvZGUnXG4nYWx0J1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTWVhc3VyZSAobWF4LXdpZHRoKSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjE6ICAgICAgIDQ0ZXhcbjI6ICAgICAgIDYwZXhcbjM6ICAgICAgIDY0ZXhcbjQ6ICAgICAgIDY4ZXhcbjU6ICAgICAgIDc0ZXhcbjY6ICAgICAgIDg4ZXhcbm5vbmU6ICAgIG5vbmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8vIEJvZHkgc2V0dGluZ3MgYXJlIHRoZSBlcXVpdmFsZW50IG9mIHNldHRpbmcgdGhlIDxib2R5PiBlbGVtZW50XG4kdGhlbWUtYm9keS1mb250LWZhbWlseTogXCJib2R5XCIgIWRlZmF1bHQ7XG4kdGhlbWUtYm9keS1mb250LXNpemU6IFwic21cIiAhZGVmYXVsdDtcbiR0aGVtZS1ib2R5LWxpbmUtaGVpZ2h0OiA1ICFkZWZhdWx0O1xuXG4vLyBJZiB0cnVlLCBleHBsaWNpdGx5IHN0eWxlIHRoZSA8Ym9keT4gZWxlbWVudCB3aXRoIHRoZSBiYXNlIHN0eWxlc1xuJHRoZW1lLXN0eWxlLWJvZHktZWxlbWVudDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEhlYWRpbmdzXG4kdGhlbWUtaDEtZm9udC1zaXplOiBcIjJ4bFwiICFkZWZhdWx0O1xuJHRoZW1lLWgyLWZvbnQtc2l6ZTogXCJ4bFwiICFkZWZhdWx0O1xuJHRoZW1lLWgzLWZvbnQtc2l6ZTogXCJsZ1wiICFkZWZhdWx0O1xuJHRoZW1lLWg0LWZvbnQtc2l6ZTogXCJzbVwiICFkZWZhdWx0O1xuJHRoZW1lLWg1LWZvbnQtc2l6ZTogXCJ4c1wiICFkZWZhdWx0O1xuJHRoZW1lLWg2LWZvbnQtc2l6ZTogXCIzeHNcIiAhZGVmYXVsdDtcbiR0aGVtZS1oZWFkaW5nLWxpbmUtaGVpZ2h0OiAyICFkZWZhdWx0O1xuJHRoZW1lLXNtYWxsLWZvbnQtc2l6ZTogXCIyeHNcIiAhZGVmYXVsdDtcbiR0aGVtZS1kaXNwbGF5LWZvbnQtc2l6ZTogXCIzeGxcIiAhZGVmYXVsdDtcblxuLy8gVGV4dCBhbmQgcHJvc2VcbiR0aGVtZS10ZXh0LW1lYXN1cmUtbmFycm93OiAxICFkZWZhdWx0O1xuJHRoZW1lLXRleHQtbWVhc3VyZTogNCAhZGVmYXVsdDtcbiR0aGVtZS10ZXh0LW1lYXN1cmUtd2lkZTogNiAhZGVmYXVsdDtcbiR0aGVtZS1wcm9zZS1mb250LWZhbWlseTogXCJib2R5XCIgIWRlZmF1bHQ7XG5cbi8vIExlYWQgdGV4dFxuJHRoZW1lLWxlYWQtZm9udC1mYW1pbHk6IFwiaGVhZGluZ1wiICFkZWZhdWx0O1xuJHRoZW1lLWxlYWQtZm9udC1zaXplOiBcImxnXCIgIWRlZmF1bHQ7XG4kdGhlbWUtbGVhZC1saW5lLWhlaWdodDogNiAhZGVmYXVsdDtcbiR0aGVtZS1sZWFkLW1lYXN1cmU6IDYgIWRlZmF1bHQ7XG5cbi8vIE1hcmdpblxuJHRoZW1lLWhlYWRpbmctbWFyZ2luLXRvcDogMS41ZW0gIWRlZmF1bHQ7XG4kdGhlbWUtcGFyYWdyYXBoLW1hcmdpbi10b3A6IDFlbSAhZGVmYXVsdDtcbiIsIi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DT0xPUiBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgY29sb3IgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy9jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRlc3Qtc3lzdGVtLWNvbG9yLXRva2VuczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGVtZSBwYWxldHRlIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLy8gQmFzZSBjb2xvcnNcbiR0aGVtZS1jb2xvci1iYXNlLWZhbWlseTogXCJncmF5LWNvb2xcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1iYXNlLWxpZ2h0ZXN0OiBcImdyYXktNVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWJhc2UtbGlnaHRlcjogXCJncmF5LWNvb2wtMTBcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1iYXNlLWxpZ2h0OiBcImdyYXktY29vbC0zMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWJhc2U6IFwiZ3JheS1jb29sLTUwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYmFzZS1kYXJrOiBcImdyYXktY29vbC02MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWJhc2UtZGFya2VyOiBcImdyYXktY29vbC03MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWJhc2UtZGFya2VzdDogXCJncmF5LTkwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYmFzZS1pbms6IFwiZ3JheS05MFwiICFkZWZhdWx0O1xuXG4vLyBQcmltYXJ5IGNvbG9yc1xuJHRoZW1lLWNvbG9yLXByaW1hcnktZmFtaWx5OiBcImJsdWVcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXN0OiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXI6IFwiYmx1ZS0xMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXByaW1hcnktbGlnaHQ6IFwiYmx1ZS0zMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXByaW1hcnk6IFwiYmx1ZS02MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LXZpdmlkOiBcImJsdWUtd2FybS02MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LWRhcms6IFwiYmx1ZS13YXJtLTcwdlwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXByaW1hcnktZGFya2VyOiBcImJsdWUtd2FybS04MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LWRhcmtlc3Q6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBTZWNvbmRhcnkgY29sb3JzXG4kdGhlbWUtY29sb3Itc2Vjb25kYXJ5LWZhbWlseTogXCJyZWRcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1zZWNvbmRhcnktbGlnaHRlc3Q6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXNlY29uZGFyeS1saWdodGVyOiBcInJlZC1jb29sLTEwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc2Vjb25kYXJ5LWxpZ2h0OiBcInJlZC0zMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXNlY29uZGFyeTogXCJyZWQtNTBcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1zZWNvbmRhcnktdml2aWQ6IFwicmVkLWNvb2wtNTB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc2Vjb25kYXJ5LWRhcms6IFwicmVkLTYwdlwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXNlY29uZGFyeS1kYXJrZXI6IFwicmVkLTcwdlwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXNlY29uZGFyeS1kYXJrZXN0OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQWNjZW50IHdhcm0gY29sb3JzXG4kdGhlbWUtY29sb3ItYWNjZW50LXdhcm0tZmFtaWx5OiBcIm9yYW5nZVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC13YXJtLWxpZ2h0ZXN0OiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1hY2NlbnQtd2FybS1saWdodGVyOiBcIm9yYW5nZS0xMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC13YXJtLWxpZ2h0OiBcIm9yYW5nZS0yMHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1hY2NlbnQtd2FybTogXCJvcmFuZ2UtMzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LXdhcm0tZGFyazogXCJvcmFuZ2UtNTB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LXdhcm0tZGFya2VyOiBcIm9yYW5nZS02MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC13YXJtLWRhcmtlc3Q6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBBY2NlbnQgY29vbCBjb2xvcnNcbiR0aGVtZS1jb2xvci1hY2NlbnQtY29vbC1mYW1pbHk6IFwiYmx1ZS1jb29sXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LWNvb2wtbGlnaHRlc3Q6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC1jb29sLWxpZ2h0ZXI6IFwiYmx1ZS1jb29sLTV2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LWNvb2wtbGlnaHQ6IFwiYmx1ZS1jb29sLTIwdlwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC1jb29sOiBcImN5YW4tMzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LWNvb2wtZGFyazogXCJibHVlLWNvb2wtNDB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LWNvb2wtZGFya2VyOiBcImJsdWUtY29vbC02MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1hY2NlbnQtY29vbC1kYXJrZXN0OiBmYWxzZSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblN0YXRlIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vLyBFcnJvciBjb2xvcnNcbiR0aGVtZS1jb2xvci1lcnJvci1mYW1pbHk6IFwicmVkLXdhcm1cIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1lcnJvci1saWdodGVyOiBcInJlZC13YXJtLTEwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZXJyb3ItbGlnaHQ6IFwicmVkLXdhcm0tMzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZXJyb3I6IFwicmVkLXdhcm0tNTB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZXJyb3ItZGFyazogXCJyZWQtNjB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZXJyb3ItZGFya2VyOiBcInJlZC03MFwiICFkZWZhdWx0O1xuXG4vLyBXYXJuaW5nIGNvbG9yc1xuJHRoZW1lLWNvbG9yLXdhcm5pbmctZmFtaWx5OiBcImdvbGRcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci13YXJuaW5nLWxpZ2h0ZXI6IFwieWVsbG93LTVcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci13YXJuaW5nLWxpZ2h0OiBcInllbGxvdy0xMHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci13YXJuaW5nOiBcImdvbGQtMjB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itd2FybmluZy1kYXJrOiBcImdvbGQtMzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itd2FybmluZy1kYXJrZXI6IFwiZ29sZC01MHZcIiAhZGVmYXVsdDtcblxuLy8gU3VjY2VzcyBjb2xvcnNcbiR0aGVtZS1jb2xvci1zdWNjZXNzLWZhbWlseTogXCJncmVlbi1jb29sXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc3VjY2Vzcy1saWdodGVyOiBcImdyZWVuLWNvb2wtNVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXN1Y2Nlc3MtbGlnaHQ6IFwiZ3JlZW4tY29vbC0yMHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1zdWNjZXNzOiBcImdyZWVuLWNvb2wtNDB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc3VjY2Vzcy1kYXJrOiBcImdyZWVuLWNvb2wtNTB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc3VjY2Vzcy1kYXJrZXI6IFwiZ3JlZW4tY29vbC02MHZcIiAhZGVmYXVsdDtcblxuLy8gSW5mbyBjb2xvcnNcbiR0aGVtZS1jb2xvci1pbmZvLWZhbWlseTogXCJjeWFuXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItaW5mby1saWdodGVyOiBcImN5YW4tNVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWluZm8tbGlnaHQ6IFwiY3lhbi0yMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWluZm86IFwiY3lhbi0zMHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1pbmZvLWRhcms6IFwiY3lhbi00MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1pbmZvLWRhcmtlcjogXCJibHVlLWNvb2wtNjBcIiAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZWQgY29sb3JzXG4kdGhlbWUtY29sb3ItZGlzYWJsZWQtZmFtaWx5OiBcImdyYXlcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1kaXNhYmxlZC1saWdodGVyOiBcImdyYXktMjBcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1kaXNhYmxlZC1saWdodDogXCJncmF5LTQwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZGlzYWJsZWQ6IFwiZ3JheS01MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWRpc2FibGVkLWRhcms6IFwiZ3JheS03MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWRpc2FibGVkLWRhcmtlcjogXCJncmF5LTkwXCIgIWRlZmF1bHQ7XG5cbi8vIEVtZXJnZW5jeSBjb2xvcnNcbiR0aGVtZS1jb2xvci1lbWVyZ2VuY3k6IFwicmVkLXdhcm0tNjB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZW1lcmdlbmN5LWRhcms6IFwicmVkLXdhcm0tODBcIiAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vLyBCb2R5XG4kdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiBcIndoaXRlXCIgIWRlZmF1bHQ7XG5cbi8vIFRleHRcbiR0aGVtZS10ZXh0LWNvbG9yOiBcImlua1wiICFkZWZhdWx0O1xuJHRoZW1lLXRleHQtcmV2ZXJzZS1jb2xvcjogXCJ3aGl0ZVwiICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuJHRoZW1lLWxpbmstY29sb3I6IFwicHJpbWFyeVwiICFkZWZhdWx0O1xuJHRoZW1lLWxpbmstdmlzaXRlZC1jb2xvcjogXCJ2aW9sZXQtNzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtbGluay1ob3Zlci1jb2xvcjogXCJwcmltYXJ5LWRhcmtcIiAhZGVmYXVsdDtcbiR0aGVtZS1saW5rLWFjdGl2ZS1jb2xvcjogXCJwcmltYXJ5LWRhcmtlclwiICFkZWZhdWx0O1xuJHRoZW1lLWxpbmstcmV2ZXJzZS1jb2xvcjogXCJiYXNlLWxpZ2h0ZXJcIiAhZGVmYXVsdDtcbiR0aGVtZS1saW5rLXJldmVyc2UtaG92ZXItY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLWxpbmstcmV2ZXJzZS1hY3RpdmUtY29sb3I6IFwid2hpdGVcIiAhZGVmYXVsdDtcbiIsIkB1c2UgXCJzZXR0aW5ncy1nZW5lcmFsXCIgYXMgZ2VuZXJhbDtcblxuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTVBPTkVOVCBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3R5bGUgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLy8gQWNjb3JkaW9uXG4kdGhlbWUtYWNjb3JkaW9uLWJhY2tncm91bmQtY29sb3I6IFwiZGVmYXVsdFwiICFkZWZhdWx0O1xuJHRoZW1lLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLWFjY29yZGlvbi1ib3JkZXItd2lkdGg6IDAuNSAhZGVmYXVsdDtcbiR0aGVtZS1hY2NvcmRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLWFjY29yZGlvbi1mb250LWZhbWlseTogXCJib2R5XCIgIWRlZmF1bHQ7XG5cbi8vIEFsZXJ0XG4kdGhlbWUtYWxlcnQtYmFyLXdpZHRoOiAxICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtYWxlcnQtaWNvbi1zaXplOiA0ICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LXBhZGRpbmcteDogMi41ICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LXBhZGRpbmcteTogMiAhZGVmYXVsdDtcbiR0aGVtZS1hbGVydC10ZXh0LWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LXRleHQtcmV2ZXJzZS1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS1hbGVydC1saW5rLWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LWxpbmstcmV2ZXJzZS1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcblxuLy8gQmFubmVyXG4kdGhlbWUtYmFubmVyLWJhY2tncm91bmQtY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLWJhbm5lci1mb250LWZhbWlseTogXCJ1aVwiICFkZWZhdWx0O1xuJHRoZW1lLWJhbm5lci1saW5rLWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLWJhbm5lci1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuXG4vLyBCcmVhZGNydW1iXG4kdGhlbWUtYnJlYWRjcnVtYi1iYWNrZ3JvdW5kLWNvbG9yOiBcImRlZmF1bHRcIiAhZGVmYXVsdDtcbiR0aGVtZS1icmVhZGNydW1iLWZvbnQtc2l6ZTogXCJzbVwiICFkZWZhdWx0O1xuJHRoZW1lLWJyZWFkY3J1bWItZm9udC1mYW1pbHk6IFwiYm9keVwiICFkZWZhdWx0O1xuJHRoZW1lLWJyZWFkY3J1bWItbGluay1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS1icmVhZGNydW1iLW1pbi13aWR0aDogXCJtb2JpbGUtbGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1icmVhZGNydW1iLXBhZGRpbmctYm90dG9tOiAyICFkZWZhdWx0O1xuJHRoZW1lLWJyZWFkY3J1bWItcGFkZGluZy10b3A6IDIgIWRlZmF1bHQ7XG4kdGhlbWUtYnJlYWRjcnVtYi1wYWRkaW5nLXg6IDAgIWRlZmF1bHQ7XG4kdGhlbWUtYnJlYWRjcnVtYi1zZXBhcmF0b3ItY29sb3I6IFwiYmFzZVwiICFkZWZhdWx0O1xuXG4vLyBCdXR0b25cbiR0aGVtZS1idXR0b24tZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1idXR0b24tYm9yZGVyLXJhZGl1czogXCJtZFwiICFkZWZhdWx0O1xuJHRoZW1lLWJ1dHRvbi1zbWFsbC13aWR0aDogNiAhZGVmYXVsdDtcbiR0aGVtZS1idXR0b24tc3Ryb2tlLXdpZHRoOiAycHggIWRlZmF1bHQ7XG5cbi8vIENhcmRcbiR0aGVtZS1jYXJkLWJvcmRlci1jb2xvcjogXCJiYXNlLWxpZ2h0ZXJcIiAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLWJvcmRlci1yYWRpdXM6IFwibGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJHRoZW1lLWNhcmQtZ2FwOiAyICFkZWZhdWx0O1xuJHRoZW1lLWNhcmQtZmxhZy1taW4td2lkdGg6IFwidGFibGV0XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY2FyZC1mbGFnLWltYWdlLXdpZHRoOiBcImNhcmQtbGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLWZvbnQtZmFtaWx5OiBcImJvZHlcIiAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLWhlYWRlci10eXBlc2V0OiBcImhlYWRpbmdcIiwgXCJsZ1wiLCAyICFkZWZhdWx0O1xuJHRoZW1lLWNhcmQtbWFyZ2luLWJvdHRvbTogNCAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLXBhZGRpbmctcGVyaW1ldGVyOiAzICFkZWZhdWx0O1xuJHRoZW1lLWNhcmQtcGFkZGluZy15OiAyICFkZWZhdWx0O1xuXG4vLyBDb2xsZWN0aW9uXG4kdGhlbWUtY29sbGVjdGlvbi1mb250LWZhbWlseTogXCJ1aVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbGxlY3Rpb24taGVhZGVyLXR5cGVzZXQ6IFwidWlcIiwgXCJtZFwiLCAzICFkZWZhdWx0O1xuXG4vLyBGb290ZXJcbiR0aGVtZS1mb290ZXItZm9udC1mYW1pbHk6IFwiYm9keVwiICFkZWZhdWx0O1xuJHRoZW1lLWZvb3Rlci1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuXG4vLyBGb3JtIGFuZCBpbnB1dFxuJHRoZW1lLWNoZWNrYm94LWJvcmRlci1yYWRpdXM6IFwic21cIiAhZGVmYXVsdDtcbiR0aGVtZS1mb3JtLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS1pbnB1dC1saW5lLWhlaWdodDogMyAhZGVmYXVsdDtcbiR0aGVtZS1pbnB1dC1tYXgtd2lkdGg6IFwibW9iaWxlLWxnXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtc2VsZWN0LWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJHRoZW1lLWlucHV0LXNlbGVjdC1zaXplOiAyLjUgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtc3RhdGUtYm9yZGVyLXdpZHRoOiAwLjUgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtdGlsZS1ib3JkZXItcmFkaXVzOiBcIm1kXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtdGlsZS1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcblxuLy8gSGVhZGVyXG4kdGhlbWUtaGVhZGVyLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaGVhZGVyLWxvZ28tdGV4dC13aWR0aDogMzMlICFkZWZhdWx0O1xuJHRoZW1lLWhlYWRlci1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuJHRoZW1lLWhlYWRlci1taW4td2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuXG4vLyBIZXJvXG4kdGhlbWUtaGVyby1pbWFnZTogXCIje2dlbmVyYWwuJHRoZW1lLWltYWdlLXBhdGh9L2hlcm8uanBnXCIgIWRlZmF1bHQ7XG5cbi8vIEljb24gTGlzdFxuJHRoZW1lLWljb24tbGlzdC1mb250LWZhbWlseTogXCJib2R5XCIgIWRlZmF1bHQ7XG4kdGhlbWUtaWNvbi1saXN0LXRpdGxlLWZvbnQtZmFtaWx5OiBcImhlYWRpbmdcIiAhZGVmYXVsdDtcblxuLy8gSWRlbnRpZmllclxuJHRoZW1lLWlkZW50aWZpZXItYmFja2dyb3VuZC1jb2xvcjogXCJiYXNlLWRhcmtlc3RcIiAhZGVmYXVsdDtcbiR0aGVtZS1pZGVudGlmaWVyLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaWRlbnRpZmllci1pZGVudGl0eS1kb21haW4tY29sb3I6IFwiYmFzZS1saWdodFwiICFkZWZhdWx0O1xuJHRoZW1lLWlkZW50aWZpZXItbWF4LXdpZHRoOiBcImRlc2t0b3BcIiAhZGVmYXVsdDtcbiR0aGVtZS1pZGVudGlmaWVyLXByaW1hcnktbGluay1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS1pZGVudGlmaWVyLXNlY29uZGFyeS1saW5rLWNvbG9yOiBcImJhc2UtbGlnaHRcIiAhZGVmYXVsdDtcblxuLy8gSW4tUGFnZSBOYXZpZ2F0aW9uXG4kdGhlbWUtaW4tcGFnZS1uYXYtYmFja2dyb3VuZC1jb2xvcjogXCJkZWZhdWx0XCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW4tcGFnZS1uYXYtYmFja2dyb3VuZC1wYWRkaW5nOiAyICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LWJhY2tncm91bmQtcmFkaXVzOiBcImxnXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW4tcGFnZS1uYXYtYmFyLWNvbG9yOiBcImRlZmF1bHRcIiAhZGVmYXVsdDtcbiR0aGVtZS1pbi1wYWdlLW5hdi1iYXItd2lkdGg6IFwiMDVcIiAhZGVmYXVsdDtcbiR0aGVtZS1pbi1wYWdlLW5hdi1mb250LWZhbWlseTogXCJ1aVwiICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LWxpbmstY29sb3I6IFwiZGVmYXVsdFwiICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LW1haW4tY29udGVudC1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LW1hcmdpbi1sZWZ0OiA0ICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LW1hcmdpbi10b3A6IDIuNSAhZGVmYXVsdDtcbiR0aGVtZS1pbi1wYWdlLW5hdi10b3A6IDQgIWRlZmF1bHQ7XG5cbi8vIExpbmtcbiR0aGVtZS1leHRlcm5hbC1saW5rLXNyLWxhYmVsLXRhYi1uZXc6IFwiRXh0ZXJuYWwsIG9wZW5zIGluIGEgbmV3IHRhYi5cIiAhZGVmYXVsdDtcbiR0aGVtZS1leHRlcm5hbC1saW5rLXNyLWxhYmVsLXRhYi1zYW1lOiBcIkV4dGVybmFsLlwiICFkZWZhdWx0O1xuXG4vLyBNb2RhbFxuJHRoZW1lLW1vZGFsLWJvcmRlci1yYWRpdXM6IFwibGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1tb2RhbC1kZWZhdWx0LW1heC13aWR0aDogXCJtb2JpbGUtbGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1tb2RhbC1sZy1jb250ZW50LW1heC13aWR0aDogXCJ0YWJsZXRcIiAhZGVmYXVsdDtcbiR0aGVtZS1tb2RhbC1sZy1tYXgtd2lkdGg6IFwidGFibGV0LWxnXCIgIWRlZmF1bHQ7XG5cbi8vIFBhZ2luYXRpb25cbiR0aGVtZS1wYWdpbmF0aW9uLWJhY2tncm91bmQtY29sb3I6IFwiZGVmYXVsdFwiICFkZWZhdWx0O1xuJHRoZW1lLXBhZ2luYXRpb24tYnJlYWtwb2ludDogXCJ0YWJsZXRcIiAhZGVmYXVsdDtcbiR0aGVtZS1wYWdpbmF0aW9uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiBcIm1kXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcGFnaW5hdGlvbi1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kdGhlbWUtcGFnaW5hdGlvbi1mb250LWZhbWlseTogXCJ1aVwiICFkZWZhdWx0O1xuXG4vLyBQcm9jZXNzIExpc3RcbiR0aGVtZS1wcm9jZXNzLWxpc3QtY291bnRlci1iYWNrZ3JvdW5kLWNvbG9yOiBcIndoaXRlXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItYm9yZGVyLWNvbG9yOiBcImlua1wiICFkZWZhdWx0O1xuJHRoZW1lLXByb2Nlc3MtbGlzdC1jb3VudGVyLWJvcmRlci13aWR0aDogMC41ICFkZWZhdWx0O1xuJHRoZW1lLXByb2Nlc3MtbGlzdC1jb3VudGVyLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItZm9udC1zaXplOiBcImxnXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItZ2FwLWNvbG9yOiBcIndoaXRlXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItZ2FwLXdpZHRoOiAwLjUgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItc2l6ZTogNSAhZGVmYXVsdDtcbiR0aGVtZS1wcm9jZXNzLWxpc3QtY291bnRlci10ZXh0LWNvbG9yOiBcImlua1wiICFkZWZhdWx0O1xuJHRoZW1lLXByb2Nlc3MtbGlzdC1jb25uZWN0b3ItY29sb3I6IFwicHJpbWFyeS1saWdodGVyXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvbm5lY3Rvci13aWR0aDogMSAhZGVmYXVsdDtcbiR0aGVtZS1wcm9jZXNzLWxpc3QtZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1wcm9jZXNzLWxpc3QtZm9udC1zaXplOiBcInNtXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWhlYWRpbmctY29sb3I6IFwiaW5rXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWhlYWRpbmctZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1wcm9jZXNzLWxpc3QtaGVhZGluZy1mb250LXNpemU6IFwibGdcIiAhZGVmYXVsdDtcblxuLy8gTmF2aWdhdGlvblxuJHRoZW1lLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1tZWdhbWVudS1jb2x1bW5zOiAzICFkZWZhdWx0O1xuXG4vLyBTZWFyY2hcbiR0aGVtZS1zZWFyY2gtZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1zZWFyY2gtbWluLXdpZHRoOiAyN2NoICFkZWZhdWx0O1xuXG4vLyBTaWRlbmF2XG4kdGhlbWUtc2lkZW5hdi1jdXJyZW50LWJvcmRlci13aWR0aDogMC41ICFkZWZhdWx0O1xuJHRoZW1lLXNpZGVuYXYtZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcblxuLy8gU2l0ZSBBbGVydFxuJHRoZW1lLXNpdGUtYWxlcnQtbWF4LXdpZHRoOiBcImRlc2t0b3BcIiAhZGVmYXVsdDtcblxuLy8gU3RlcCBpbmRpY2F0b3JcbiRzdGVwLWluZGljYXRvci1iYWNrZ3JvdW5kLWNvbG9yOiBcIndoaXRlXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3ItY291bnRlci1nYXA6IDAuNSAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1jb3VudGVyLWJvcmRlci13aWR0aDogMC41ICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3ItaGVhZGluZy1jb2xvcjogXCJpbmtcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1oZWFkaW5nLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3ItaGVhZGluZy1mb250LXNpemU6IFwibGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1oZWFkaW5nLWZvbnQtc2l6ZS1zbWFsbDogXCJtZFwiICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLWxhYmVsLWZvbnQtc2l6ZTogXCJzbVwiICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLW1pbi13aWR0aDogXCJ0YWJsZXRcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1zZWdtZW50LWNvbG9yLXBlbmRpbmc6IFwiZ3JheS00MFwiICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLXNlZ21lbnQtY29sb3ItY29tcGxldGU6IFwicHJpbWFyeS1kYXJrZXJcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1zZWdtZW50LWNvbG9yLWN1cnJlbnQ6IFwicHJpbWFyeVwiICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLXNlZ21lbnQtZ2FwOiAycHggIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3Itc2VnbWVudC1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3ItdGV4dC1wZW5kaW5nLWNvbG9yOiBcImJhc2UtZGFya1wiICFkZWZhdWx0O1xuXG4vLyBTdW1tYXJ5IGJveFxuJHRoZW1lLXN1bW1hcnktYm94LWJhY2tncm91bmQtY29sb3I6IFwiaW5mby1saWdodGVyXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3VtbWFyeS1ib3gtYm9yZGVyLWNvbG9yOiBcImluZm8tbGlnaHRcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdW1tYXJ5LWJveC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiR0aGVtZS1zdW1tYXJ5LWJveC1ib3JkZXItcmFkaXVzOiBcIm1kXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3VtbWFyeS1ib3gtZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdW1tYXJ5LWJveC1saW5rLWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLXN1bW1hcnktYm94LXRleHQtY29sb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG5cbi8vIFRhYmxlXG4kdGhlbWUtdGFibGUtYm9yZGVyLWNvbG9yOiBcImlua1wiICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiBcImJhc2UtbGlnaHRlclwiICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLWhlYWRlci10ZXh0LWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXN0cmlwZS1iYWNrZ3JvdW5kLWNvbG9yOiBcImJhc2UtbGlnaHRlc3RcIiAhZGVmYXVsdDtcbiR0aGVtZS10YWJsZS1zdHJpcGUtdGV4dC1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS10YWJsZS10ZXh0LWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXNvcnRlZC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogXCJhY2NlbnQtY29vbC1saWdodFwiICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXNvcnRlZC1iYWNrZ3JvdW5kLWNvbG9yOiBcImFjY2VudC1jb29sLWxpZ2h0ZXJcIiAhZGVmYXVsdDtcbiR0aGVtZS10YWJsZS1zb3J0ZWQtc3RyaXBlLWJhY2tncm91bmQtY29sb3I6IFwiYmx1ZS1jb29sLTEwdlwiICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXNvcnRlZC1pY29uLWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXVuc29ydGVkLWljb24tY29sb3I6IFwiYmFzZVwiICFkZWZhdWx0O1xuXG4vLyBUb29sdGlwc1xuJHRoZW1lLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogXCJpbmtcIiAhZGVmYXVsdDtcbiR0aGVtZS10b29sdGlwLWZvbnQtY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLXRvb2x0aXAtZm9udC1zaXplOiBcInhzXCIgIWRlZmF1bHQ7XG4iLCIvKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU1BBQ0lORyBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3BhY2luZyB1bml0cyB0b2tlbnMgaW4gdGhlXG5kb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy9zcGFjaW5nLXVuaXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIHJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgICAycHhcbjAuNSAgICAgICAgICAgNHB4XG4xICAgICAgICAgICAgIDhweFxuMS41ICAgICAgICAgICAxMnB4XG4yICAgICAgICAgICAgIDE2cHhcbjIuNSAgICAgICAgICAgMjBweFxuMyAgICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgICA0OHB4XG43ICAgICAgICAgICAgIDU2cHhcbjggICAgICAgICAgICAgNjRweFxuOSAgICAgICAgICAgICA3MnB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtYm9yZGVyLXJhZGl1cy1zbTogMnB4ICFkZWZhdWx0O1xuJHRoZW1lLWJvcmRlci1yYWRpdXMtbWQ6IDAuNSAhZGVmYXVsdDtcbiR0aGVtZS1ib3JkZXItcmFkaXVzLWxnOiAxICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29sdW1uIGdhcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgMnB4XG4wLjUgICAgICAgICA0cHhcbjEgICAgICAgICAgIDhweFxuMiAgICAgICAgICAgMTZweFxuMyAgICAgICAgICAgMjRweFxuNCAgICAgICAgICAgMzJweFxuNSAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgNDhweFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLWNvbHVtbi1nYXAtc206IDJweCAhZGVmYXVsdDtcbiR0aGVtZS1jb2x1bW4tZ2FwLW1kOiAyICFkZWZhdWx0O1xuJHRoZW1lLWNvbHVtbi1nYXAtbGc6IDMgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGRldGVybWluZSB0aGUgcmVzcG9uc2l2ZSBnYXAgc2l6ZXMgc2V0IHdpdGggLmdyaWQtZ2FwXG4kdGhlbWUtY29sdW1uLWdhcC1tb2JpbGU6IDIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sdW1uLWdhcC1kZXNrdG9wOiA0ICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR3JpZCBjb250YWluZXIgbWF4LXdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tb2JpbGVcbm1vYmlsZS1sZ1xudGFibGV0XG50YWJsZXQtbGdcbmRlc2t0b3BcbmRlc2t0b3AtbGdcbndpZGVzY3JlZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS1ncmlkLWNvbnRhaW5lci1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLXNpdGUtbWFyZ2lucy1icmVha3BvaW50OiBcImRlc2t0b3BcIiAhZGVmYXVsdDtcbiR0aGVtZS1zaXRlLW1hcmdpbnMtd2lkdGg6IDQgIWRlZmF1bHQ7XG4kdGhlbWUtc2l0ZS1tYXJnaW5zLW1vYmlsZS13aWR0aDogMiAhZGVmYXVsdDtcbiIsIi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VVElMSVRJRVMgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHV0aWxpdGllcyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L3V0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5cbiR1dGlsaXRpZXMtdXNlLWltcG9ydGFudDogZmFsc2UgIWRlZmF1bHQ7XG4kb3V0cHV0LXRoZXNlLXV0aWxpdGllczogZGVmYXVsdCAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblV0aWxpdHkgYnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldoaWNoIGJyZWFrcG9pbnRzIGRvZXMgeW91ciBwcm9qZWN0XG5uZWVkPyBTZWxlY3QgYXMgYHRydWVgIGFueSBicmVha3BvaW50XG51c2VkIGJ5IHV0aWxpdGllcyBvciBsYXlvdXQgZ3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLXV0aWxpdHktYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLXV0aWxpdHktYnJlYWtwb2ludHMtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIC8vIDE2MHB4OlxuICAgIFwiY2FyZFwiOiBmYWxzZSxcbiAgICAvLyAyNDBweDpcbiAgICBcImNhcmQtbGdcIjogZmFsc2UsXG4gICAgLy8gMzIwcHg6XG4gICAgXCJtb2JpbGVcIjogZmFsc2UsXG4gICAgLy8gNDgwcHg6XG4gICAgXCJtb2JpbGUtbGdcIjogdHJ1ZSxcbiAgICAvLyA2NDBweDpcbiAgICBcInRhYmxldFwiOiB0cnVlLFxuICAgIC8vIDg4MHB4OlxuICAgIFwidGFibGV0LWxnXCI6IGZhbHNlLFxuICAgIC8vIDEwMjRweDpcbiAgICBcImRlc2t0b3BcIjogdHJ1ZSxcbiAgICAvLyAxMjAwcHg6XG4gICAgXCJkZXNrdG9wLWxnXCI6IGZhbHNlLFxuICAgIC8vIDE0MDBweDpcbiAgICBcIndpZGVzY3JlZW5cIjogZmFsc2VcbiAgKSxcbiAgJHRoZW1lLXV0aWxpdHktYnJlYWtwb2ludHNcbikgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HbG9iYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGUgZm9sbG93aW5nIHBhbGV0dGVzIHdpbGwgYmUgYWRkZWQgdG9cbi0gYmFja2dyb3VuZC1jb2xvclxuLSBib3JkZXItY29sb3Jcbi0gY29sb3Jcbi0gdGV4dC1kZWNvcmF0aW9uLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kZ2xvYmFsLWNvbG9yLXBhbGV0dGVzOiAoXCJwYWxldHRlLWNvbG9yLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJGFkZC1hc3BlY3Qtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGFkZC1hc3BlY3Qtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRhZGQtYXNwZWN0LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kYWRkLWxpc3QtcmVzZXQtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGFkZC1saXN0LXJlc2V0LXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkYWRkLWxpc3QtcmVzZXQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRhbGlnbi1pdGVtcy1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYWxpZ24taXRlbXMtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRhbGlnbi1pdGVtcy1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGFsaWduLXNlbGYtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGFsaWduLXNlbGYtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRhbGlnbi1zZWxmLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kYmFja2dyb3VuZC1jb2xvci1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1jb2xvci1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiB0cnVlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkYmFja2dyb3VuZC1jb2xvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGJvcmRlci1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYm9yZGVyLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogdHJ1ZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGJvcmRlci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGJvcmRlci1jb2xvci1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogdHJ1ZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGJvcmRlci1jb2xvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGJvcmRlci1yYWRpdXMtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRib3JkZXItc3R5bGUtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGJvcmRlci1zdHlsZS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGJvcmRlci1zdHlsZS1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkYm9yZGVyLXdpZHRoLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kYm90dG9tLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRib3R0b20tc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRib3R0b20tc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IHRydWUsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRib3gtc2hhZG93LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kY2lyY2xlLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRjaXJjbGUtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRjaXJjbGUtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRjbGVhcmZpeC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kY2xlYXJmaXgtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRjbGVhcmZpeC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGNvbG9yLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRjb2xvci1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiB0cnVlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkY29sb3Itc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRjdXJzb3Itc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGN1cnNvci1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGN1cnNvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGRpc3BsYXktc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGRpc3BsYXktc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRmbGV4LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRmbGV4LXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkZmxleC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGZsZXgtZGlyZWN0aW9uLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRmbGV4LWRpcmVjdGlvbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGZsZXgtZGlyZWN0aW9uLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kZmxleC13cmFwLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRmbGV4LXdyYXAtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRmbGV4LXdyYXAtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRmbG9hdC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZmxvYXQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRmbG9hdC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGZvbnQtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGZvbnQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGZvbnQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRmb250LWZhbWlseS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRmb250LWZhbWlseS1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGZvbnQtZmVhdHVyZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZm9udC1mZWF0dXJlLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkZm9udC1mZWF0dXJlLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kZm9udC1zdHlsZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZm9udC1zdHlsZS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGZvbnQtc3R5bGUtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGZvbnQtd2VpZ2h0LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kaGVpZ2h0LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRoZWlnaHQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRoZWlnaHQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRqdXN0aWZ5LWNvbnRlbnQtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGp1c3RpZnktY29udGVudC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkanVzdGlmeS1jb250ZW50LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kbGVmdC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kbGVmdC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGxlZnQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRsZXR0ZXItc3BhY2luZy1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kbGV0dGVyLXNwYWNpbmctc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRsZXR0ZXItc3BhY2luZy1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkbGluZS1oZWlnaHQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRtYXJnaW4tc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJG1hcmdpbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkbWFyZ2luLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kbWF4LWhlaWdodC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kbWF4LWhlaWdodC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG1heC1oZWlnaHQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRtYXgtd2lkdGgtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJG1heC13aWR0aC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG1heC13aWR0aC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJG1lYXN1cmUtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJG1lYXN1cmUtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG1lYXN1cmUtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRtaW4taGVpZ2h0LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRtaW4taGVpZ2h0LXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkbWluLWhlaWdodC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJG1pbi13aWR0aC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kbWluLXdpZHRoLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkbWluLXdpZHRoLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kb3BhY2l0eS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kb3BhY2l0eS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG9wYWNpdHktc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRvcmRlci1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kb3JkZXItc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG9yZGVyLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kb3V0bGluZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kb3V0bGluZS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG91dGxpbmUtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRvdXRsaW5lLWNvbG9yLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRvdXRsaW5lLWNvbG9yLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkb3V0bGluZS1jb2xvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJG92ZXJmbG93LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRvdmVyZmxvdy1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG92ZXJmbG93LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kcGFkZGluZy1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkcGFkZGluZy1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJHBpbi1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kcGluLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkcGluLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kcG9zaXRpb24tc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJHBvc2l0aW9uLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkcG9zaXRpb24tc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRyaWdodC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kcmlnaHQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRyaWdodC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJHNxdWFyZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kc3F1YXJlLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkc3F1YXJlLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kdGV4dC1hbGlnbi1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kdGV4dC1hbGlnbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHRleHQtYWxpZ24tc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiR0ZXh0LWRlY29yYXRpb24tc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJHRleHQtZGVjb3JhdGlvbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiB0cnVlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkdGV4dC1kZWNvcmF0aW9uLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kdGV4dC1kZWNvcmF0aW9uLWNvbG9yLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiR0ZXh0LWRlY29yYXRpb24tY29sb3Itc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogdHJ1ZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHRleHQtZGVjb3JhdGlvbi1jb2xvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJHRleHQtaW5kZW50LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiR0ZXh0LWluZGVudC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHRleHQtaW5kZW50LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kdGV4dC10cmFuc2Zvcm0tc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJHRleHQtdHJhbnNmb3JtLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkdGV4dC10cmFuc2Zvcm0tc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiR0b3Atc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJHRvcC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHRvcC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJHZlcnRpY2FsLWFsaWduLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiR2ZXJ0aWNhbC1hbGlnbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHZlcnRpY2FsLWFsaWduLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kd2hpdGVzcGFjZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kd2hpdGVzcGFjZS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHdoaXRlc3BhY2Utc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiR3aWR0aC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kd2lkdGgtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHdpZHRoLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kei1pbmRleC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kei1pbmRleC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHotaW5kZXgtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5WYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8vIC5hZGQtYXNwZWN0XG5cbiRhZGQtYXNwZWN0LXBhbGV0dGVzOiAoKSAhZGVmYXVsdDtcbiRhZGQtYXNwZWN0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYWxpZ24taXRlbXNcblxuJGFsaWduLWl0ZW1zLXBhbGV0dGVzOiAoXCJwYWxldHRlLWFsaWduLWl0ZW1zLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kYWxpZ24taXRlbXMtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5hbGlnbi1zZWxmXG5cbiRhbGlnbi1zZWxmLXBhbGV0dGVzOiAoXCJwYWxldHRlLWFsaWduLXNlbGYtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRhbGlnbi1zZWxmLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYmFja2dyb3VuZC1jb2xvclxuXG4kYmFja2dyb3VuZC1jb2xvci1wYWxldHRlczogKCkgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1jb2xvci1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmJvcmRlclxuXG4kYm9yZGVyLXBhbGV0dGVzOiAoXCJwYWxldHRlLWJvcmRlci1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGJvcmRlci1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmJvcmRlci1jb2xvclxuXG4kYm9yZGVyLWNvbG9yLXBhbGV0dGVzOiAoKSAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5ib3JkZXItcmFkaXVzXG5cbiRib3JkZXItcmFkaXVzLXBhbGV0dGVzOiAoXCJwYWxldHRlLWJvcmRlci1yYWRpdXMtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYm9yZGVyLXN0eWxlXG5cbiRib3JkZXItc3R5bGUtcGFsZXR0ZXM6IChcInBhbGV0dGUtYm9yZGVyLXN0eWxlLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYm9yZGVyLXdpZHRoXG5cbiRib3JkZXItd2lkdGgtcGFsZXR0ZXM6IChcInBhbGV0dGUtYm9yZGVyLXdpZHRoLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYm90dG9tXG5cbiRib3R0b20tcGFsZXR0ZXM6IChcInBhbGV0dGUtYm90dG9tLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG5cbiRib3R0b20tbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5ib3gtc2hhZG93XG5cbiRib3gtc2hhZG93LXBhbGV0dGVzOiAoXCJwYWxldHRlLWJveC1zaGFkb3ctZGVmYXVsdFwiKSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5jaXJjbGVcblxuJGNpcmNsZS1wYWxldHRlczogKFwicGFsZXR0ZS1jaXJjbGUtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRjaXJjbGUtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5jb2xvclxuXG4kY29sb3ItcGFsZXR0ZXM6ICgpICFkZWZhdWx0O1xuJGNvbG9yLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuY3Vyc29yXG5cbiRjdXJzb3ItcGFsZXR0ZXM6IChcInBhbGV0dGUtY3Vyc29yLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kY3Vyc29yLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuZGlzcGxheVxuXG4kZGlzcGxheS1wYWxldHRlczogKFwicGFsZXR0ZS1kaXNwbGF5LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kZGlzcGxheS1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZsZXhcblxuJGZsZXgtcGFsZXR0ZXM6IChcInBhbGV0dGUtZmxleC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZsZXgtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5mbGV4LWRpcmVjdGlvblxuXG4kZmxleC1kaXJlY3Rpb24tcGFsZXR0ZXM6IChcInBhbGV0dGUtZmxleC1kaXJlY3Rpb24tZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRmbGV4LWRpcmVjdGlvbi1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZsZXgtd3JhcFxuXG4kZmxleC13cmFwLXBhbGV0dGVzOiAoXCJwYWxldHRlLWZsZXgtd3JhcC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZsZXgtd3JhcC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZsb2F0XG5cbiRmbG9hdC1wYWxldHRlczogKFwicGFsZXR0ZS1mbG9hdC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZsb2F0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuZm9udFxuXG4kZm9udC1wYWxldHRlczogKFwicGFsZXR0ZS1mb250LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kZm9udC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZvbnQtZmFtaWx5XG5cbiRmb250LWZhbWlseS1wYWxldHRlczogKFwicGFsZXR0ZS1mb250LWZhbWlseS1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuZm9udC1mZWF0dXJlLXNldHRpbmdzXG5cbiRmb250LWZlYXR1cmUtcGFsZXR0ZXM6IChcInBhbGV0dGUtZm9udC1mZWF0dXJlLXNldHRpbmdzLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kZm9udC1mZWF0dXJlLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuZm9udC1zdHlsZVxuXG4kZm9udC1zdHlsZS1wYWxldHRlczogKFwicGFsZXR0ZS1mb250LXN0eWxlLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kZm9udC1zdHlsZS1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZvbnQtd2VpZ2h0XG5cbiRmb250LXdlaWdodC1wYWxldHRlczogKFwicGFsZXR0ZS1mb250LXdlaWdodC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuaGVpZ2h0XG5cbiRoZWlnaHQtcGFsZXR0ZXM6IChcInBhbGV0dGUtaGVpZ2h0LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kaGVpZ2h0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuanVzdGlmeS1jb250ZW50XG5cbiRqdXN0aWZ5LWNvbnRlbnQtcGFsZXR0ZXM6IChcInBhbGV0dGUtanVzdGlmeS1jb250ZW50LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kanVzdGlmeS1jb250ZW50LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAubGVmdFxuXG4kbGVmdC1wYWxldHRlczogKFwicGFsZXR0ZS1sZWZ0LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kbGVmdC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmxldHRlci1zcGFjaW5nXG5cbiRsZXR0ZXItc3BhY2luZy1wYWxldHRlczogKFwicGFsZXR0ZS1sZXR0ZXItc3BhY2luZy1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGxldHRlci1zcGFjaW5nLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAubGluZS1oZWlnaHRcblxuJGxpbmUtaGVpZ2h0LXBhbGV0dGVzOiAoXCJwYWxldHRlLWxpbmUtaGVpZ2h0LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5tYXJnaW5cblxuJG1hcmdpbi1wYWxldHRlczogKFwicGFsZXR0ZS1tYXJnaW4tZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRtYXJnaW4tbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG4kbWFyZ2luLXZlcnRpY2FsLXBhbGV0dGVzOiAoXCJwYWxldHRlLW1hcmdpbi12ZXJ0aWNhbC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG1hcmdpbi12ZXJ0aWNhbC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcbiRtYXJnaW4taG9yaXpvbnRhbC1wYWxldHRlczogKFwicGFsZXR0ZS1tYXJnaW4taG9yaXpvbnRhbC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG1hcmdpbi1ob3Jpem9udGFsLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAubWF4LWhlaWdodFxuXG4kbWF4LWhlaWdodC1wYWxldHRlczogKFwicGFsZXR0ZS1tYXgtaGVpZ2h0LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kbWF4LWhlaWdodC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLm1heC13aWR0aFxuXG4kbWF4LXdpZHRoLXBhbGV0dGVzOiAoXCJwYWxldHRlLW1heC13aWR0aC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG1heC13aWR0aC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLm1lYXN1cmVcblxuJG1lYXN1cmUtcGFsZXR0ZXM6IChcInBhbGV0dGUtbWVhc3VyZS1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG1lYXN1cmUtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5taW4taGVpZ2h0XG5cbiRtaW4taGVpZ2h0LXBhbGV0dGVzOiAoXCJwYWxldHRlLW1pbi1oZWlnaHQtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRtaW4taGVpZ2h0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAubWluLXdpZHRoXG5cbiRtaW4td2lkdGgtcGFsZXR0ZXM6IChcInBhbGV0dGUtbWluLXdpZHRoLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kbWluLXdpZHRoLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAub3BhY2l0eVxuXG4kb3BhY2l0eS1wYWxldHRlczogKFwicGFsZXR0ZS1vcGFjaXR5LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kb3BhY2l0eS1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLm9yZGVyXG5cbiRvcmRlci1wYWxldHRlczogKFwicGFsZXR0ZS1vcmRlci1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG9yZGVyLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAub3V0bGluZVxuXG4kb3V0bGluZS1wYWxldHRlczogKFwicGFsZXR0ZS1vdXRsaW5lLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kb3V0bGluZS1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLm91dGxpbmUtY29sb3JcblxuJG91dGxpbmUtY29sb3ItcGFsZXR0ZXM6IChcInBhbGV0dGUtb3V0bGluZS1jb2xvci1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG91dGxpbmUtY29sb3ItbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5vdmVyZmxvd1xuXG4kb3ZlcmZsb3ctcGFsZXR0ZXM6IChcInBhbGV0dGUtb3ZlcmZsb3ctZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRvdmVyZmxvdy1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnBhZGRpbmdcblxuJHBhZGRpbmctcGFsZXR0ZXM6IChcInBhbGV0dGUtcGFkZGluZy1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHBhZGRpbmctbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5wb3NpdGlvblxuXG4kcG9zaXRpb24tcGFsZXR0ZXM6IChcInBhbGV0dGUtcG9zaXRpb24tZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnJpZ2h0XG5cbiRyaWdodC1wYWxldHRlczogKFwicGFsZXR0ZS1yaWdodC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHJpZ2h0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuc3F1YXJlXG5cbiRzcXVhcmUtcGFsZXR0ZXM6IChcInBhbGV0dGUtc3F1YXJlLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kc3F1YXJlLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAudGV4dC1hbGlnblxuXG4kdGV4dC1hbGlnbi1wYWxldHRlczogKFwicGFsZXR0ZS10ZXh0LWFsaWduLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kdGV4dC1hbGlnbi1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnRleHQtZGVjb3JhdGlvblxuXG4kdGV4dC1kZWNvcmF0aW9uLXBhbGV0dGVzOiAoXCJwYWxldHRlLXRleHQtZGVjb3JhdGlvbi1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHRleHQtZGVjb3JhdGlvbi1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnRleHQtZGVjb3JhdGlvbi1jb2xvclxuXG4kdGV4dC1kZWNvcmF0aW9uLWNvbG9yLXBhbGV0dGVzOiAoKSAhZGVmYXVsdDtcbiR0ZXh0LWRlY29yYXRpb24tY29sb3ItbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC50ZXh0LWluZGVudFxuXG4kdGV4dC1pbmRlbnQtcGFsZXR0ZXM6IChcInBhbGV0dGUtdGV4dC1pbmRlbnQtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiR0ZXh0LWluZGVudC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnRleHQtdHJhbnNmb3JtXG5cbiR0ZXh0LXRyYW5zZm9ybS1wYWxldHRlczogKFwicGFsZXR0ZS10ZXh0LXRyYW5zZm9ybS1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHRleHQtdHJhbnNmb3JtLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAudG9wXG5cbiR0b3AtcGFsZXR0ZXM6IChcInBhbGV0dGUtdG9wLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kdG9wLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAudmVydGljYWwtYWxpZ25cblxuJHZlcnRpY2FsLWFsaWduLXBhbGV0dGVzOiAoXCJwYWxldHRlLXZlcnRpY2FsLWFsaWduLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kdmVydGljYWwtYWxpZ24tbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC53aGl0ZS1zcGFjZVxuXG4kd2hpdGVzcGFjZS1wYWxldHRlczogKFwicGFsZXR0ZS13aGl0ZS1zcGFjZS1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHdoaXRlc3BhY2UtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC53aWR0aFxuXG4kd2lkdGgtcGFsZXR0ZXM6IChcInBhbGV0dGUtd2lkdGgtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiR3aWR0aC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnotaW5kZXhcblxuJHotaW5kZXgtcGFsZXR0ZXM6IChcInBhbGV0dGUtei1pbmRleC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHotaW5kZXgtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWxcIjtcbkB1c2UgXCIuLi8uLi90b2tlbnMvY29sb3Ivc2hvcnRjb2Rlcy1jb2xvci1hbGxcIiBhcyAqO1xuXG5AZnVuY3Rpb24gY29sb3IoJHZhbHVlLCAkZmxhZ3MuLi4pIHtcbiAgJHZhbHVlOiBnZW5lcmFsLnVucGFjaygkdmFsdWUpO1xuXG4gIC8vIE5vbi10b2tlbiBjb2xvcnMgbWF5IGJlIHBhc3NlZCB3aXRoIHNwZWNpZmljIGZsYWdzXG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBjb2xvciB7XG4gICAgLy8gb3ZlcnJpZGUgb3Igc2V0LXRoZW1lIHdpbGwgYWxsb3cgYW55IGNvbG9yXG4gICAgQGlmIGxpc3QuaW5kZXgoJGZsYWdzLCBvdmVycmlkZSkgb3IgbGlzdC5pbmRleCgkZmxhZ3MsIHNldC10aGVtZSkge1xuICAgICAgLy8gb3ZlcnJpZGUgKyBuby13YXJuIHdpbGwgc2tpcCB3YXJuaW5nc1xuICAgICAgQGlmIGxpc3QuaW5kZXgoJGZsYWdzLCBuby13YXJuKSB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHRoZW1lLXNob3ctY29tcGlsZS13YXJuaW5ncyB7XG4gICAgICAgIEB3YXJuICdPdmVycmlkZTogYCN7JHZhbHVlfWAgaXMgbm90IGEgVVNXRFMgY29sb3IgdG9rZW4uJztcbiAgICAgIH1cblxuICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLy8gRmFsc2UgdmFsdWVzIG1heSBiZSBwYXNzZWQgdGhyb3VnaCB3aGVuIHNldHRpbmcgdGhlbWUgY29sb3JzXG4gIEBpZiAkdmFsdWUgPT0gZmFsc2Uge1xuICAgIEBpZiBsaXN0LmluZGV4KCRmbGFncywgc2V0LXRoZW1lKSB7XG4gICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBOb3csIGFueSB2YWx1ZSBzaG91bGQgYmUgZXZhbHVhdGVkIGFzIGEgdG9rZW5cblxuICAkdmFsdWU6IGdlbmVyYWwuc21hcnQtcXVvdGUoJHZhbHVlKTtcblxuICBAaWYgbWFwLmhhcy1rZXkoJGFsbC1jb2xvci1zaG9ydGNvZGVzLCAkdmFsdWUpIHtcbiAgICAkb3VyLWNvbG9yOiBtYXAuZ2V0KCRhbGwtY29sb3Itc2hvcnRjb2RlcywgJHZhbHVlKTtcbiAgICBAaWYgJG91ci1jb2xvciA9PSBmYWxzZSB7XG4gICAgICBAZXJyb3IgJ2AjeyR2YWx1ZX1gIGlzIGEgY29sb3IgdGhhdCBkb2VzIG5vdCBleGlzdCAnXG4gICAgICAgICsgJ29yIGlzIHNldCB0byBmYWxzZS4nO1xuICAgIH1cbiAgICBAcmV0dXJuICRvdXItY29sb3I7XG4gIH1cblxuICAvLyBJZiB3ZSdyZSB1c2luZyB0aGUgdGhlbWUgZmxhZywgJHByb2plY3QtY29sb3Itc2hvcnRjb2RlcyBoYXMgbm90IHlldCBiZWVuIHNldFxuICBAaWYgbm90IGxpc3QuaW5kZXgoJGZsYWdzLCBzZXQtdGhlbWUpIHtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJHByb2plY3QtY29sb3Itc2hvcnRjb2RlcywgJHZhbHVlKSB7XG4gICAgICAkb3VyLWNvbG9yOiAobWFwLmdldCgkcHJvamVjdC1jb2xvci1zaG9ydGNvZGVzLCAkdmFsdWUpKTtcbiAgICAgIEBpZiAkb3VyLWNvbG9yID09IGZhbHNlIHtcbiAgICAgICAgQGVycm9yICdgI3skdmFsdWV9YCBpcyBhIGNvbG9yIHRoYXQgZG9lcyBub3QgZXhpc3QgJ1xuICAgICAgICAgICsgJ29yIGlzIHNldCB0byBmYWxzZS4nO1xuICAgICAgfVxuICAgICAgQHJldHVybiAkb3VyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZ2VuZXJhbC5lcnJvci1ub3QtdG9rZW4oJHZhbHVlLCBcImNvbG9yXCIpO1xufVxuXG4vLyBAZGVidWcgY29sb3IoXCJvcmFuZ2UtODB2XCIpO1xuLy8gQHJldHVybiAjMzUyMzEzO1xuXG4vLyBAZGVidWcgY29sb3IoXCJwcmltYXJ5LWRhcmtcIik7XG4vLyBAcmV0dXJuICMxYTQ0ODA7XG5cbi8vIEBkZWJ1ZyBjb2xvcihcInByaW1hcnktbGlnaHRlc3RcIik7XG4vLyBAcmV0dXJuIGVycm9yOiBzZXQgdG8gZmFsc2U7XG5cbi8vIEBkZWJ1ZyBjb2xvcigjZjAwKTtcbi8vIEByZXR1cm4gZXJyb3I6IG5vdCBhIHZhbGlkIHRva2VuO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmFwcGVuZC1pbXBvcnRhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQXBwZW5kIGAhaW1wb3J0YW50YCB0byBhIGxpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJnZXQtbGFzdFwiIGFzICo7XG5cbkBmdW5jdGlvbiBhcHBlbmQtaW1wb3J0YW50KCRzb3VyY2UsICRkZXN0aW5hdGlvbikge1xuICBAaWYgZ2V0LWxhc3QoJHNvdXJjZSkgPT0gXCIhaW1wb3J0YW50XCIge1xuICAgIEByZXR1cm4gbGlzdC5hcHBlbmQoJGRlc3RpbmF0aW9uLCAhaW1wb3J0YW50LCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRkZXN0aW5hdGlvbjtcbn1cblxuLy8gQGRlYnVnIGFwcGVuZC1pbXBvcnRhbnQoKDEsIDIsICFpbXBvcnRhbnQpLCAoMywgNCkpO1xuLy8gQHJldHVybiAzLCA0LCAhaW1wb3J0YW50XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWxhc3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJuIHRoZSBsYXN0IGl0ZW0gb2YgYSBsaXN0LFxuUmV0dXJuIG51bGwgaWYgdGhlIHZhbHVlIGlzIG51bGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuQGZ1bmN0aW9uIGdldC1sYXN0KCRwcm9wcykge1xuICAkbGVuZ3RoOiBsaXN0Lmxlbmd0aCgkcHJvcHMpO1xuICAkbGFzdDogaWYoJGxlbmd0aCA9PSAwLCBudWxsLCBsaXN0Lm50aCgkcHJvcHMsIC0xKSk7XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8gQGRlYnVnIGdldC1sYXN0KCgxLCAyLCAzKSk7XG4vLyBAcmV0dXJuIDM7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZGUtbGlzdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UcmFuc2Zvcm0gYSBvbmUtZWxlbWVudCBsaXN0IG9yIGFyZ2xpc3RcbmludG8gdGhhdCBzaW5nbGUgZWxlbWVudC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbigxKSA9PiAxXG4oKDEpKSA9PiAoMSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcblxuQGZ1bmN0aW9uIGRlLWxpc3QoJHZhbHVlKSB7XG4gICR0eXBlczogKFwibGlzdFwiLCBcImFyZ2xpc3RcIik7XG5cbiAgQGlmIG5vdCBsaXN0LmluZGV4KCR0eXBlcywgbWV0YS50eXBlLW9mKCR2YWx1ZSkpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gICRvdXRwdXQ6IGlmKGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSwgbGlzdC5udGgoJHZhbHVlLCAxKSwgJHZhbHVlKTtcblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vIEBkZWJ1ZyBkZS1saXN0KCgxKSk7XG4vLyBAcmV0dXJuIDE7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXJyb3Itbm90LXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgYSBjb21tb24gbm90LWEtdG9rZW4gZXJyb3IuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJlcnJvclwiIGFzICo7XG5cbkBmdW5jdGlvbiBlcnJvci1ub3QtdG9rZW4oJHRva2VuLCAkdHlwZSwgJHZhbGlkLXRva2VuLW1hcDogZmFsc2UpIHtcbiAgJHZhbGlkLXRva2VuLW1lc3NhZ2U6IGlmKFxuICAgICR2YWxpZC10b2tlbi1tYXAsXG4gICAgXCIgVmFsaWQgdG9rZW5zOiAje21hcC5rZXlzKCR2YWxpZC10b2tlbi1tYXApfVwiLFxuICAgIFwiXCJcbiAgKTtcbiAgQHJldHVybiB1c3dkcy1lcnJvcihcbiAgICBcIicjeyR0b2tlbn0nIGlzIG5vdCBhIHZhbGlkIFVTV0RTICN7JHR5cGV9IHRva2VuLiAjeyR2YWxpZC10b2tlbi1tZXNzYWdlfVwiXG4gICk7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXN3ZHMtZXJyb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWxsb3cgdGhlIHN5c3RlbSB0byBwYXNzIGFuIGVycm9yIGFzIHRleHRcbnRvIHRlc3QgZXJyb3Igc3RhdGVzIGluIHVuaXQgdGVzdGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJGVycm9yLW91dHB1dC1vdmVycmlkZTogZmFsc2UgIWRlZmF1bHQ7XG5AZnVuY3Rpb24gdXN3ZHMtZXJyb3IoJG1lc3NhZ2UsICRvdmVycmlkZTogJGVycm9yLW91dHB1dC1vdmVycmlkZSkge1xuICBAaWYgJG92ZXJyaWRlIHtcbiAgICBAcmV0dXJuIFwiRXJyb3I6ICN7JG1lc3NhZ2V9XCI7XG4gIH1cblxuICBAZXJyb3IgXCIjeyRtZXNzYWdlfVwiO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1kZWZhdWx0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGRlZmF1bHQgdmFsdWUgZnJvbSBhIG1hcFxub2YgcHJvamVjdCBkZWZhdWx0c1xuZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKVxuPiAkdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9wcm9qZWN0LWRlZmF1bHRzXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGdldC1kZWZhdWx0KCR2YXIpIHtcbiAgJHZhbHVlOiBtYXAuZ2V0KCRwcm9qZWN0LWRlZmF1bHRzLCAkdmFyKTtcbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaGFzLWltcG9ydGFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DaGVjayB0byBzZWUgaWYgYCFpbXBvcnRhbnRgIGlzXG5iZWluZyBwYXNzZWQgaW4gYSBtaXhpbidzIHByb3BzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuQHVzZSBcImRlLWxpc3RcIiBhcyAqO1xuQHVzZSBcImdldC1sYXN0XCIgYXMgKjtcblxuQGZ1bmN0aW9uIGhhcy1pbXBvcnRhbnQoJHByb3BzKSB7XG4gICRwcm9wczogZGUtbGlzdCgkcHJvcHMpO1xuXG4gIEBpZiBnZXQtbGFzdCgkcHJvcHMpID09IFwiIWltcG9ydGFudFwiIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBAZGVidWcgaGFzLWltcG9ydGFudCgoZm9vLCBcIiFpbXBvcnRhbnRcIikpO1xuLy8gQHJldHVybiB0cnVlXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWFwLWNvbGxlY3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29sbGVjdCBtdWx0aXBsZSBtYXBzIGludG8gYSBzaW5nbGVcbmxhcmdlIG1hcFxuc291cmNlOiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9iaWdnbGVzcm9ja3MvZDc1MDkxNzAwZjhmMmJlNWFiZmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AZnVuY3Rpb24gbWFwLWNvbGxlY3QoJG1hcHMuLi4pIHtcbiAgJGNvbGxlY3Rpb246ICgpO1xuXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgICRjb2xsZWN0aW9uOiBtYXAubWVyZ2UoJGNvbGxlY3Rpb24sICRtYXApO1xuICB9XG5cbiAgQHJldHVybiAkY29sbGVjdGlvbjtcbn1cblxuLy8gQGRlYnVnIG1hcC1jb2xsZWN0KFxuLy8gICAoXG4vLyAgICAgXCJmb29cIjogYmFyLFxuLy8gICApLFxuLy8gICAoXG4vLyAgICAgXCJiYXpcIjogcXV4LFxuLy8gICApXG4vLyApO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1hcC1kZWVwLWdldCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYXV0aG9yIEh1Z28gR2lyYXVkZWxcbkBhY2Nlc3MgcHVibGljXG5AcGFyYW0ge01hcH0gJG1hcCAtIE1hcFxuQHBhcmFtIHtBcmdsaXN0fSAka2V5cyAtIEtleSBjaGFpblxuQHJldHVybiB7Kn0gLSBEZXNpcmVkIHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuQHVzZSBcInNhc3M6bWFwXCI7XG5cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgJG1hcDogbWFwLmdldCgkbWFwLCAka2V5KTtcbiAgfVxuXG4gIEByZXR1cm4gJG1hcDtcbn1cblxuLy8gQGRlYnVnIG1hcC1kZWVwLWdldChcbi8vICAgKFxuLy8gICAgIFwiZm9vXCI6IChcbi8vICAgICAgIFwiYmFyXCI6IGJhelxuLy8gICAgIClcbi8vICAgKSxcbi8vICAgZm9vLFxuLy8gICBiYXJcbi8vICk7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubXVsdGktY2F0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbmNhdGVuYXRlIHR3byBsaXN0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuQGZ1bmN0aW9uIG11bHRpLWNhdCgkbGlzdDEsICRsaXN0Mikge1xuICAkdGhpcy1saXN0OiAoKTtcblxuICBAZWFjaCAkZSBpbiAkbGlzdDEge1xuICAgIEBlYWNoICRlZSBpbiAkbGlzdDIge1xuICAgICAgJHRoaXMtYmxvY2s6ICRlICsgJGVlO1xuICAgICAgJHRoaXMtbGlzdDogbGlzdC5qb2luKCR0aGlzLWxpc3QsICR0aGlzLWJsb2NrKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR0aGlzLWxpc3Q7XG59XG5cbi8vIEBkZWJ1ZyBtdWx0aS1jYXQoKDEsIDIpLCAoYSwgYikpO1xuLy8gMWEsIDFiLCAyYSwgMmJcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5yZW1vdmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVtb3ZlIGEgdmFsdWUgZnJvbSBhIGxpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5cbkBmdW5jdGlvbiByZW1vdmUoJGxpc3QsICR2YWx1ZSwgJHJlY3Vyc2l2ZTogZmFsc2UpIHtcbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsaXN0Lmxlbmd0aCgkbGlzdCkge1xuICAgIEBpZiBtZXRhLnR5cGUtb2YobGlzdC5udGgoJGxpc3QsICRpKSkgPT0gbGlzdCBhbmQgJHJlY3Vyc2l2ZSB7XG4gICAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZChcbiAgICAgICAgJHJlc3VsdCxcbiAgICAgICAgcmVtb3ZlKGxpc3QubnRoKCRsaXN0LCAkaSksICR2YWx1ZSwgJHJlY3Vyc2l2ZSlcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiBsaXN0Lm50aCgkbGlzdCwgJGkpICE9ICR2YWx1ZSB7XG4gICAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIEBkZWJ1ZyByZW1vdmUoKDEsIDIsIDMpLCAyKTtcbi8vIEByZXR1cm4gMSwgM1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNtYXJ0LXF1b3RlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblF1b3RlcyBzdHJpbmdzXG5JbnNwZWN0cyBgcHhgLCBgeHNgLCBhbmQgYHhsYCBudW1iZXJzXG5MZWF2ZXMgYm9vbHMgYXMgaXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG5AZnVuY3Rpb24gc21hcnQtcXVvdGUoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcInN0cmluZ1wiIHtcbiAgICBAcmV0dXJuIHN0cmluZy5xdW90ZSgkdmFsdWUpO1xuICB9XG5cbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09XG4gICAgXCJudW1iZXJcIiBhbmRcbiAgICBsaXN0LmluZGV4KChcInB4XCIsIFwieGxcIiwgXCJ4c1wiKSwgbWF0aC51bml0KCR2YWx1ZSkpXG4gIHtcbiAgICBAcmV0dXJuIG1ldGEuaW5zcGVjdCgkdmFsdWUpO1xuICB9XG5cbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09IFwiY29sb3JcIiB7XG4gICAgQGVycm9yICdPbmx5IHVzZSBxdW90ZWQgY29sb3IgdG9rZW5zIGluIFVTV0RTIGZ1bmN0aW9ucyBhbmQgbWl4aW5zLiAnXG4gICAgICArICdTZWUgZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnMvY29sb3IgJ1xuICAgICAgKyAnZm9yIG1vcmUgaW5mb3JtYXRpb24uJztcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLyBAZGVidWcgc21hcnQtcXVvdGUoZm9vKTtcbi8vIEByZXR1cm4gZm9vO1xuLy8gQGRlYnVnIHNtYXJ0LXF1b3RlKFwiM3hzXCIpO1xuLy8gQGRlYnVnIDN4cztcbiIsIkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyLXJlcGxhY2UoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVwbGFjZSBhbnkgc3Vic3RyaW5nIHdpdGggYW5vdGhlclxuc3RyaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHJpbmcuaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHJpbmcuc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArXG4gICAgICBzdHItcmVwbGFjZShcbiAgICAgICAgc3RyaW5nLnNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0cmluZy5sZW5ndGgoJHNlYXJjaCkpLFxuICAgICAgICAkc2VhcmNoLFxuICAgICAgICAkcmVwbGFjZVxuICAgICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQGRlYnVnIHN0ci1yZXBsYWNlKFwiQmF0bWFuXCIsIFwibWFuXCIpO1xuLy8gQHJldHVybiBCYXQ7XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0ci1zcGxpdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TcGxpdCBhIHN0cmluZyBhdCBhIGdpdmVuIHNlcGFyYXRvclxuYW5kIGNvbnZlcnQgaW50byBhIGxpc3Qgb2Ygc3Vic3RyaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIHN0ci1zcGxpdCgkc3RyaW5nLCAkc2VwYXJhdG9yKSB7XG4gICRzcGxpdC1hcnI6ICgpO1xuICAkaW5kZXg6IHN0cmluZy5pbmRleCgkc3RyaW5nLCAkc2VwYXJhdG9yKTtcbiAgQHdoaWxlICRpbmRleCAhPSBudWxsIHtcbiAgICAkaXRlbTogc3RyaW5nLnNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpO1xuICAgICRzcGxpdC1hcnI6IGxpc3QuYXBwZW5kKCRzcGxpdC1hcnIsICRpdGVtKTtcbiAgICAkc3RyaW5nOiBzdHJpbmcuc2xpY2UoJHN0cmluZywgJGluZGV4ICsgMSk7XG4gICAgJGluZGV4OiBzdHJpbmcuaW5kZXgoJHN0cmluZywgJHNlcGFyYXRvcik7XG4gIH1cbiAgJHNwbGl0LWFycjogbGlzdC5hcHBlbmQoJHNwbGl0LWFyciwgJHN0cmluZyk7XG5cbiAgQHJldHVybiAkc3BsaXQtYXJyO1xufVxuXG4vLyBAZGVidWcgc3RyLXNwbGl0KFwiMSwgMiwgMywgNCwgNVwiLCBcIixcIik7XG4vLyBAcmV0dXJuIFwiMVwiIFwiIDJcIiBcIiAzXCIgXCIgNFwiIFwiIDVcIjtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHJpcC11bml0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5AcGFyYW0ge051bWJlcn0gJG51bWJlciAtIE51bWJlciB0byByZW1vdmUgdW5pdCBmcm9tXG5AcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkbnVtYmVyKSA9PSBcIm51bWJlclwiIGFuZCBub3QgbWF0aC5pcy11bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiBtYXRoLmRpdigkbnVtYmVyLCAoJG51bWJlciAqIDAgKyAxKSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59XG5cbi8vIEBkZWJ1ZyBzdHJpcC11bml0KDEwcHgpO1xuLy8gQHJldHVybiAxMDtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5iYXNlLXRvLW1hcCgpXG5AVE9ETzogRGVwcmVjYXRlIGFuZCBkZWxldGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBzaW5nbGUgYmFzZSB0byBhIFVTV0RTXG52YWx1ZSBtYXAuXG5cbkNhbmRpZGF0ZSBmb3IgZGVwcmVjYXRpb24gaWYgd2UgcmVtb3ZlXG5pc1JlYWRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwicmVtb3ZlXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGJhc2UtdG8tbWFwKCR2YWx1ZXMpIHtcbiAgJGw6IGxpc3QubGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIEBpZiAkbCA9PSAxIG9yIGxpc3QubnRoKCR2YWx1ZXMsICRsKSAhPSBpc1JlYWRhYmxlIHtcbiAgICBAcmV0dXJuIChzbHVnOiAkdmFsdWVzLCBpc1JlYWRhYmxlOiB0cnVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlczogcmVtb3ZlKCR2YWx1ZXMsIGlzUmVhZGFibGUpO1xuXG4gICAgQHJldHVybiAoc2x1ZzogdW5xdW90ZShsaXN0Lm50aCgkdmFsdWVzLCAxKSksIGlzUmVhZGFibGU6IHRydWUpO1xuICB9XG59XG5cbkBmdW5jdGlvbiB0by1tYXAoJGtleSwgJHZhbHVlcykge1xuICAkbDogbGlzdC5sZW5ndGgoJHZhbHVlcyk7XG5cbiAgQGlmICRrZXkgPT0gXCJub01vZGlmaWVyXCIgb3IgJGtleSA9PSBcIm5vVmFsdWVcIiB7XG4gICAgJGtleTogXCJcIjtcbiAgfVxuXG4gIEByZXR1cm4gKHNsdWc6ICRrZXksIGNvbnRlbnQ6ICR2YWx1ZXMpO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRvLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG5AcmV0dXJuIHtOdW1iZXJ9XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gXCJzdHJpbmdcIiB7XG4gICAgQHdhcm4gXCJWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLlwiO1xuICB9XG5cbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKSA9PSBcIi1cIjtcbiAgJG51bWJlcnM6IChcbiAgICBcIjBcIjogMCxcbiAgICBcIjFcIjogMSxcbiAgICBcIjJcIjogMixcbiAgICBcIjNcIjogMyxcbiAgICBcIjRcIjogNCxcbiAgICBcIjVcIjogNSxcbiAgICBcIjZcIjogNixcbiAgICBcIjdcIjogNyxcbiAgICBcIjhcIjogOCxcbiAgICBcIjlcIjogOSxcbiAgKTtcblxuICBAZm9yICRpIGZyb20gaWYoJG1pbnVzLCAyLCAxKSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gXCIuXCIpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKFxuICAgICAgICBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSxcbiAgICAgICAgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpXG4gICAgICApO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudW5wYWNrKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNyZWF0ZSBsaXN0cyBvZiBzaW5nbGUgaXRlbXMgZnJvbSBsaXN0c1xub2YgbGlzdHMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4oMSwgKDIuMSwgMi4yKSwgMykgLS0+XG4oMSwgMi4xLCAyLjIsIDMpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwiZGUtbGlzdFwiIGFzICo7XG5cbkBmdW5jdGlvbiB1bnBhY2soJHZhbHVlKSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDAge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgQGVhY2ggJGkgaW4gJHZhbHVlIHtcbiAgICBAaWYgbWV0YS50eXBlLW9mKCRpKSA9PSBcImxpc3RcIiB7XG4gICAgICBAZWFjaCAkaWkgaW4gJGkge1xuICAgICAgICAkb3V0cHV0OiBsaXN0LmFwcGVuZCgkb3V0cHV0LCAkaWksIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICRvdXRwdXQ6IGxpc3QuYXBwZW5kKCRvdXRwdXQsICRpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBkZS1saXN0KCRvdXRwdXQpO1xufVxuXG4vLyBAZGVidWcgdW5wYWNrKCgxLCAoMi4xLCAyLjIpLCAzKSk7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc2V0LXRoZW1lLWNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBzeXN0ZW0gY29sb3IgdG9rZW5cbm9yIGEgaGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCI7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIjtcbkB1c2UgXCIuLi8uLi90b2tlbnMvY29sb3Ivc2hvcnRjb2Rlcy1jb2xvci1zeXN0ZW1cIiBhcyB0b2tlbnM7XG5cbkBmdW5jdGlvbiBzZXQtdGhlbWUtY29sb3IoJHZhbHVlLCAkZmxhZzogbnVsbCkge1xuICAkdmFsdWU6IGdlbmVyYWwudW5wYWNrKCR2YWx1ZSk7XG5cbiAgLy8gSWYgaXQncyBhIGNvbG9yLCByZXR1cm4gdGhhdCBjb2xvclxuICAvLyBXaXRoaG9sZCB3YXJuaW5nIGlmIFwibm8td2FyblwiIGZsYWdcblxuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gY29sb3Ige1xuICAgIEBpZiAkZmxhZyA9PSBcIm5vLXdhcm5cIiB7XG4gICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9XG5cbiAgICBAaWYgc2V0dGluZ3MuJHRoZW1lLXNob3ctY29tcGlsZS13YXJuaW5ncyB7XG4gICAgICBAd2FybiAnT3ZlcnJpZGU6IGAjeyR2YWx1ZX1gIGlzIG5vdCBhIFVTV0RTIGNvbG9yIHRva2VuLic7XG4gICAgfVxuXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBJZiBpdCdzIGZhbHNlLCByZXR1cm4gZmFsc2VcblxuICBAaWYgJHZhbHVlID09IGZhbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIEFueSBvdGhlciB2YWx1ZSBzaG91bGQgYmUgZXZhbHVhdGVkIGFzIGEgc3lzdGVtIHRva2VuXG5cbiAgJHZhbHVlOiBnZW5lcmFsLnNtYXJ0LXF1b3RlKCR2YWx1ZSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KHRva2Vucy4kc3lzdGVtLWNvbG9yLXNob3J0Y29kZXMsICR2YWx1ZSkge1xuICAgICRvdXItY29sb3I6IG1hcC5nZXQodG9rZW5zLiRzeXN0ZW0tY29sb3Itc2hvcnRjb2RlcywgJHZhbHVlKTtcbiAgICBAaWYgJG91ci1jb2xvciA9PSBmYWxzZSB7XG4gICAgICBAZXJyb3IgJ1VTV0RTIGRvZXMgbm90IGluY2x1ZGUgLTkwdiBjb2xvciB0b2tlbnMnO1xuICAgIH1cbiAgICBAcmV0dXJuICRvdXItY29sb3I7XG4gIH1cblxuICBAZXJyb3IgJ2AjeyR2YWx1ZX1gIGlzIG5vdCBhIHZhbGlkIFVTV0RTIGNvbG9yIHRva2VuLiAnXG4gICAgICArICdTZWUgZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnMvY29sb3IgJ1xuICAgICAgKyAnZm9yIG1vcmUgaW5mb3JtYXRpb24uJztcbn1cblxuLy8gQGRlYnVnIHNldC10aGVtZS1jb2xvcihcInJlZC01MFwiKTtcbi8vIEByZXR1cm4gI2Q4MzkzMztcbi8vIEBkZWJ1ZyBzZXQtdGhlbWUtY29sb3IoZmFsc2UpO1xuLy8gQHJldHVybiBmYWxzZTtcbi8vIEBkZWJ1ZyBzZXQtdGhlbWUtY29sb3IoXCJyZWQtOTB2XCIpO1xuLy8gQHJldHVybiBlcnJvciBcIm5vIDkwdiB0b2tlbnNcIjtcbi8vIEBkZWJ1ZyBzZXQtdGhlbWUtY29sb3IoI2YwMCwgbm8td2Fybik7XG4vLyBAcmV0dXJuICNmMDA7XG4vLyBAZGVidWcgc2V0LXRoZW1lLWNvbG9yKCNmMDApO1xuLy8gQHJldHVybiAjZjAwICsgd2FybmluZztcbi8vIEBkZWJ1ZyBzZXQtdGhlbWUtY29sb3IoXCJmb29cIik7XG4vLyBAcmV0dXJuIGVycm9yIFwibm90IHZhbGlkXCI7XG4iLCJAdXNlIFwicm9vdFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucHgtdG8tcmVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcHggdG8gYSB2YWx1ZSBpbiByZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBmdW5jdGlvbiBweC10by1yZW0oJHBpeGVscykge1xuICBAaWYgbm90ICRwaXhlbHMge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgJHB4LXRvLXJlbTogKG1hdGguZGl2KCRwaXhlbHMsIHJvb3QuJHJvb3QtZm9udC1zaXplLWVxdWl2KSkgKiAxcmVtO1xuICAkcHgtdG8tcmVtOiBtYXRoLmRpdihtYXRoLnJvdW5kKCRweC10by1yZW0gKiAxMDApLCAxMDApO1xuXG4gIEByZXR1cm4gJHB4LXRvLXJlbTtcbn1cblxuLy8gQGRlYnVnIHB4LXRvLXJlbSgxNnB4KTtcbi8vIEByZXR1cm4gMXJlbVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbS10by1weCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHZhbHVlIGluIHJlbSB0byBhIHZhbHVlIGluIHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwicm9vdFwiO1xuXG5AZnVuY3Rpb24gcmVtLXRvLXB4KCR2YWx1ZS1pbi1yZW0pIHtcbiAgQGlmIHVuaXQoJHZhbHVlLWluLXJlbSkgPT0gXCJyZW1cIiB7XG4gICAgJHJlbS10by1weDogKG1hdGguZGl2KCR2YWx1ZS1pbi1yZW0sIDFyZW0pKSAqIHJvb3QuJHJvb3QtZm9udC1zaXplLWVxdWl2O1xuICAgIEByZXR1cm4gJHJlbS10by1weDtcbiAgfVxuICBAaWYgdW5pdCgkdmFsdWUtaW4tcmVtKSAhPSBcInB4XCIge1xuICAgIEBlcnJvciAnVGhpcyB2YWx1ZSBtdXN0IGJlIGluIGVpdGhlciBweCBvciByZW0nO1xuICB9XG4gIEByZXR1cm4gJHZhbHVlLWluLXJlbTtcbn1cblxuLy8gQGRlYnVnIHJlbS10by1weCgycmVtKTtcbi8vIEByZXR1cm4gMzJweFxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbS10by11c2VyLWVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW5cblt1c2VyLXNldHRpbmdzXSBlbSBmb3IgdXNlIGluIG1lZGlhXG5xdWVyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbkBmdW5jdGlvbiByZW0tdG8tdXNlci1lbSgkZ3JpZC1pbi1yZW0pIHtcbiAgJHJlbS10by11c2VyLWVtOiAobWF0aC5kaXYoJGdyaWQtaW4tcmVtLCAxcmVtKSkgKiAxZW07XG5cbiAgQHJldHVybiAkcmVtLXRvLXVzZXItZW07XG59XG5cbi8vIEBkZWJ1ZyByZW0tdG8tdXNlci1lbSgycmVtKTtcbi8vIEByZXR1cm4gMmVtXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3BhY2luZy1tdWx0aXBsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHNwYWNpbmcgdW5pdCBtdWx0aXBsZSBpbnRvXG50aGUgZGVzaXJlZCBmaW5hbCB1bml0cyAoY3VycmVudGx5IHJlbSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi8uLi90b2tlbnMvdW5pdHMvZ3JpZC1iYXNlXCI7XG5AdXNlIFwicm9vdFwiO1xuXG5AZnVuY3Rpb24gc3BhY2luZy1tdWx0aXBsZSgkdW5pdCkge1xuICAkZ3JpZC10by1yZW06IG1hdGguZGl2KFxuICAgICAgKGdyaWQtYmFzZS4kc3lzdGVtLXNwYWNpbmctZ3JpZC1iYXNlICogJHVuaXQpLFxuICAgICAgcm9vdC4kcm9vdC1mb250LXNpemUtZXF1aXZcbiAgICApICogMXJlbTtcblxuICBAcmV0dXJuICRncmlkLXRvLXJlbTtcbn1cblxuLy8gQGRlYnVnIHNwYWNpbmctbXVsdGlwbGUoMSk7XG4vLyBAcmV0dXJuIDAuNXJlbVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVuaXRzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgc3BhY2luZyB1bml0IGludG9cbnRoZSBkZXNpcmVkIGZpbmFsIHVuaXRzIChjdXJyZW50bHkgcmVtKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC9lcnJvci1ub3QtdG9rZW4uc2Nzc1wiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9vdXRwdXQvbnVtYmVyLXRvLXRva2VuXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvcHJvamVjdC1zcGFjaW5nXCIgYXMgdmFycztcblxuQGZ1bmN0aW9uIHVuaXRzKCR2YWx1ZSkge1xuICAkY29udmVydGVkOiBpZihcbiAgICBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcInN0cmluZ1wiLFxuICAgIHN0cmluZy5xdW90ZSgkdmFsdWUpLFxuICAgIG51bWJlci10by10b2tlbigkdmFsdWUpXG4gICk7XG5cbiAgQGlmIG5vdChtYXAuaGFzLWtleSh2YXJzLiRwcm9qZWN0LXNwYWNpbmctc3RhbmRhcmQsICRjb252ZXJ0ZWQpKSB7XG4gICAgQHJldHVybiBlcnJvci1ub3QtdG9rZW4oXG4gICAgICAkdmFsdWUsXG4gICAgICBcInNwYWNpbmcgdW5pdFwiLFxuICAgICAgdmFycy4kcHJvamVjdC1zcGFjaW5nLXN0YW5kYXJkXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLmdldCh2YXJzLiRwcm9qZWN0LXNwYWNpbmctc3RhbmRhcmQsICRjb252ZXJ0ZWQpO1xufVxuXG4vLyBAZGVidWcgdW5pdHMoMC41KTtcbi8vIEByZXR1cm4gMC4yNXJlbTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5udW1iZXItdG8tdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYW4gaW50ZWdlciBvciBudW1lcmljIHZhbHVlXG5pbnRvIGEgc3lzdGVtIHZhbHVlXG5cbkV4OiAwLjUgICAtLT4gJzA1J1xuICAgIC0xcHggIC0tPiAnbmVnLTFweCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9wcm9qZWN0LXNwYWNpbmdcIiBhcyB2YXJzO1xuXG5AZnVuY3Rpb24gbnVtYmVyLXRvLXRva2VuKCRudW1iZXIpIHtcbiAgJG51bWJlcjogbWV0YS5pbnNwZWN0KCRudW1iZXIpO1xuXG4gIEBpZiBub3QobWFwLmhhcy1rZXkodmFycy4kbnVtYmVyLXRvLXZhbHVlLCAkbnVtYmVyKSkge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuIG1hcC5nZXQodmFycy4kbnVtYmVyLXRvLXZhbHVlLCAkbnVtYmVyKTtcbn1cblxuLy8gQGRlYnVnIG51bWJlci10by10b2tlbigwLjUpO1xuLy8gQHJldHVybiAwNTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Qcm9qZWN0IGZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0cyBmb250IHNldHRpbmdzIGluIGEgbWFwIGZvclxubG9vcGluZy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCIuLi9zZXR0aW5nc1wiO1xuXG4kcHJvamVjdC1mb250LXR5cGUtdG9rZW5zOiAoXG4gIFwiY29uZFwiOiAoXG4gICAgXCJ0eXBlZmFjZS10b2tlblwiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC10eXBlLWNvbmQsXG4gICAgXCJjdXN0b20tc3RhY2tcIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtY29uZC1jdXN0b20tc3RhY2ssXG4gICAgXCJzcmNcIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtY29uZC1jdXN0b20tc3JjLFxuICApLFxuICBcImljb25cIjogKFxuICAgIFwidHlwZWZhY2UtdG9rZW5cIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtdHlwZS1pY29uLFxuICAgIFwiY3VzdG9tLXN0YWNrXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LWljb24tY3VzdG9tLXN0YWNrLFxuICAgIFwic3JjXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LWljb24tY3VzdG9tLXNyYyxcbiAgKSxcbiAgXCJsYW5nXCI6IChcbiAgICBcInR5cGVmYWNlLXRva2VuXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LXR5cGUtbGFuZyxcbiAgICBcImN1c3RvbS1zdGFja1wiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC1sYW5nLWN1c3RvbS1zdGFjayxcbiAgICBcInNyY1wiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC1sYW5nLWN1c3RvbS1zcmMsXG4gICksXG4gIFwibW9ub1wiOiAoXG4gICAgXCJ0eXBlZmFjZS10b2tlblwiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC10eXBlLW1vbm8sXG4gICAgXCJjdXN0b20tc3RhY2tcIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtbW9uby1jdXN0b20tc3RhY2ssXG4gICAgXCJzcmNcIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtbW9uby1jdXN0b20tc3JjLFxuICApLFxuICBcInNhbnNcIjogKFxuICAgIFwidHlwZWZhY2UtdG9rZW5cIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtdHlwZS1zYW5zLFxuICAgIFwiY3VzdG9tLXN0YWNrXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXN0YWNrLFxuICAgIFwic3JjXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXNyYyxcbiAgKSxcbiAgXCJzZXJpZlwiOiAoXG4gICAgXCJ0eXBlZmFjZS10b2tlblwiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC10eXBlLXNlcmlmLFxuICAgIFwiY3VzdG9tLXN0YWNrXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zdGFjayxcbiAgICBcInNyY1wiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC1zZXJpZi1jdXN0b20tc3JjLFxuICApLFxuKTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MdW1pbmFuY2UgcmFuZ2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kc3lzdGVtLWNvbG9yLWdyYWRlczogKFxuICAxMDA6IChcbiAgICBcIm1pblwiOiAwLFxuICAgIFwibWF4XCI6IDAsXG4gICksXG4gIDkwOiAoXG4gICAgXCJtaW5cIjogMC4wMDUsXG4gICAgXCJtYXhcIjogMC4wMTUsXG4gICksXG4gIDgwOiAoXG4gICAgXCJtaW5cIjogMC4wMixcbiAgICBcIm1heFwiOiAwLjA0LFxuICApLFxuICA3MDogKFxuICAgIFwibWluXCI6IDAuMDUsXG4gICAgXCJtYXhcIjogMC4wNyxcbiAgKSxcbiAgNjA6IChcbiAgICBcIm1pblwiOiAwLjEsXG4gICAgXCJtYXhcIjogMC4xMjUsXG4gICksXG4gIDUwOiAoXG4gICAgXCJtaW5cIjogMC4xNzUsXG4gICAgXCJtYXhcIjogMC4xODMsXG4gICksXG4gIDQwOiAoXG4gICAgXCJtaW5cIjogMC4yMjUsXG4gICAgXCJtYXhcIjogMC4zLFxuICApLFxuICAzMDogKFxuICAgIFwibWluXCI6IDAuMzUsXG4gICAgXCJtYXhcIjogMC40NSxcbiAgKSxcbiAgMjA6IChcbiAgICBcIm1pblwiOiAwLjUsXG4gICAgXCJtYXhcIjogMC42NSxcbiAgKSxcbiAgMTA6IChcbiAgICBcIm1pblwiOiAwLjc1LFxuICAgIFwibWF4XCI6IDAuODIsXG4gICksXG4gIDU6IChcbiAgICBcIm1pblwiOiAwLjg1LFxuICAgIFwibWF4XCI6IDAuOTMsXG4gICksXG4gIDA6IChcbiAgICBcIm1pblwiOiAxLFxuICAgIFwibWF4XCI6IDEsXG4gICksXG4pO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5zKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhIG5hbWVzc3BhY2Ugb2YgJHR5cGUgaWYgdGhhdFxubmFtZXNwYWNlIGlzIHNldCB0byBvdXRwdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsL21hcC1kZWVwLWdldFwiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvc21hcnQtcXVvdGVcIiBhcyAqO1xuXG5AZnVuY3Rpb24gbnMoJHR5cGUpIHtcbiAgJHR5cGU6IHNtYXJ0LXF1b3RlKCR0eXBlKTtcblxuICBAaWYgbm90IG1hcC1kZWVwLWdldChzZXR0aW5ncy4kdGhlbWUtbmFtZXNwYWNlLWNvbXBsZXRlLCAkdHlwZSwgb3V0cHV0KSB7XG4gICAgQHJldHVybiBcIlwiO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZGVlcC1nZXQoc2V0dGluZ3MuJHRoZW1lLW5hbWVzcGFjZS1jb21wbGV0ZSwgJHR5cGUsIG5hbWVzcGFjZSk7XG59XG5cbi8vIEBkZWJ1ZyBucyhcImdyaWRcIik7XG4vLyBAcmV0dXJuIGdyaWQtXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LXN5c3RlbS1jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBzeXN0ZW0gY29sb3IgZnJvbSBpdHNcbmZhbWlseSwgdmFsdWUsIGFuZCB2aXZpZCBvciBhIHBhc3NlZFxudmFyaWFibGUgdGhhdCBpcywgaXRzZWxmLCBhIGxpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2NvbG9yL3N5c3RlbS1jb2xvcnNcIiBhcyBjb2xvcjtcblxuQGZ1bmN0aW9uIGdldC1zeXN0ZW0tY29sb3IoXG4gICRjb2xvci1mYW1pbHk6IGZhbHNlLFxuICAkY29sb3ItZ3JhZGU6IGZhbHNlLFxuICAkY29sb3ItdmFyaWFudDogZmFsc2Vcbikge1xuICAvLyBJZiB0aGUgYXJnIGJlaW5nIHBhc3NlZCB0byB0aGUgZm5cbiAgLy8gaXMgYSB2YXJpYWJsZSBkZWZpbmVkIGFzIGEgbGlzdCxcbiAgLy8gJGNvbG9yLWZhbWlseSB3aWxsIGNvbnRhaW4gdGhpc1xuICAvLyBlbnRpcmUgbGlzdCwgYW5kIG5lZWRzIHRvIGJlXG4gIC8vIHVucGFja2VkLlxuICAvLyBleDpcbiAgLy8gICAgaW4gc2V0dGluZ3M6XG4gIC8vICAgICAgJHRoZW1lLWNvbG9yLXByaW1hcnkuJ2RhcmsnOiAnYmx1ZScsIDcwXG4gIC8vICAgIGluIHRoZSB0aGVtZSBjb2xvcnMgbWFwOlxuICAvLyAgICAgICRjb2xvci1wcmltYXJ5LWRhcms6IGdldC1zeXN0ZW0tY29sb3IoJHRoZW1lLWNvbG9yLXByaW1hcnkuJ2RhcmsnKSxcblxuICBAaWYgbWV0YS50eXBlLW9mKCRjb2xvci1mYW1pbHkpID09IFwibGlzdFwiIHtcbiAgICBAaWYgbGlzdC5sZW5ndGgoJGNvbG9yLWZhbWlseSkgPiAyIHtcbiAgICAgICRjb2xvci12YXJpYW50OiBsaXN0Lm50aCgkY29sb3ItZmFtaWx5LCAzKTtcbiAgICB9XG4gICAgJGNvbG9yLWdyYWRlOiBsaXN0Lm50aCgkY29sb3ItZmFtaWx5LCAyKTtcbiAgICAkY29sb3ItZmFtaWx5OiBsaXN0Lm50aCgkY29sb3ItZmFtaWx5LCAxKTtcbiAgfVxuXG4gICRjb2xvci1mYW1pbHk6IGdlbmVyYWwuc21hcnQtcXVvdGUoJGNvbG9yLWZhbWlseSk7XG4gICRjb2xvci12YXJpYW50OiBnZW5lcmFsLnNtYXJ0LXF1b3RlKCRjb2xvci12YXJpYW50KTtcblxuICAvLyBJZiB0aGUgYXJnIGJlaW5nIHBhc3NlZCB0byB0aGUgZm5cbiAgLy8gaXMgZmFsc2UsIGl0IHNob3VsZCBvdXRwdXQgYXMgYGZhbHNlYFxuICAvLyB0byBwcmVzZXJ2ZSBhIGZhbHNlIHZhbHVlIGluIHRoZVxuICAvLyB0YXJnZXQgbWFwXG4gIC8vIGV4OlxuICAvLyAgICBpbiBzZXR0aW5nczpcbiAgLy8gICAgICAkdGhlbWUtY29sb3ItcHJpbWFyeS4nZGFya2VzdCc6IGZhbHNlO1xuICAvLyAgICBpbiB0aGUgdGhlbWUgY29sb3JzIG1hcDpcbiAgLy8gICAgICAnZGFya2VzdCc6IGdldC1zeXN0ZW0tY29sb3IoJHRoZW1lLWNvbG9yLXByaW1hcnkuJ2Rhcmtlc3QnKSxcbiAgLy8gICAgICAnZGFya2VzdCc6IGZhbHNlLCAvLyBpcyB0aGUgZGVzaXJlZCBvdXRjb21lXG4gIC8vIFRPRE86IHNob3VsZCBhIGZhbHNlLXBhc3MgY29sb3IgZnVuY3Rpb24gYmUgYSBzZXBhcmF0ZSBmbj9cblxuICBAaWYgbm90ICRjb2xvci1mYW1pbHkge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAaWYgJGNvbG9yLXZhcmlhbnQge1xuICAgICRvdXRwdXQ6IGdlbmVyYWwubWFwLWRlZXAtZ2V0KFxuICAgICAgY29sb3IuJHN5c3RlbS1jb2xvcnMsXG4gICAgICAkY29sb3ItZmFtaWx5LFxuICAgICAgJGNvbG9yLXZhcmlhbnQsXG4gICAgICAkY29sb3ItZ3JhZGVcbiAgICApO1xuXG4gICAgQHJldHVybiAkb3V0cHV0O1xuICB9XG5cbiAgJG91dHB1dDogZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgY29sb3IuJHN5c3RlbS1jb2xvcnMsXG4gICAgJGNvbG9yLWZhbWlseSxcbiAgICAkY29sb3ItZ3JhZGVcbiAgKTtcblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTGluZSBoZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiRzeXN0ZW0tbGluZS1oZWlnaHQ6IChcbiAgMTogMSxcbiAgMjogMS4yLFxuICAzOiAxLjM1LFxuICA0OiAxLjUsXG4gIDU6IDEuNjIsXG4gIDY6IDEuNzUsXG4pO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiRzeXN0ZW0tbWVhc3VyZS1zbWFsbGVyOiA0NGV4O1xuJHN5c3RlbS1tZWFzdXJlLXNtYWxsOiA2MGV4O1xuJHN5c3RlbS1tZWFzdXJlLWJhc2U6IDY0ZXg7XG4kc3lzdGVtLW1lYXN1cmUtbGFyZ2U6IDY4ZXg7XG4kc3lzdGVtLW1lYXN1cmUtbGFyZ2VyOiA3MmV4O1xuJHN5c3RlbS1tZWFzdXJlLWxhcmdlc3Q6IDg4ZXg7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FwLWhlaWdodCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIGNhcCBoZWlnaHQgb2YgYSB2YWxpZCB0eXBlZmFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zXCI7XG5AdXNlIFwidmFsaWRhdGUtdHlwZWZhY2UtdG9rZW5cIiBhcyAqO1xuXG5AZnVuY3Rpb24gY2FwLWhlaWdodCgkdHlwZWZhY2UtdG9rZW4pIHtcbiAgQGlmIG5vdCAkdHlwZWZhY2UtdG9rZW4ge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAkdHlwZWZhY2UtdG9rZW46IHZhbGlkYXRlLXR5cGVmYWNlLXRva2VuKCR0eXBlZmFjZS10b2tlbik7XG4gICR0b2tlbi1kYXRhOiBtYXAuZ2V0KHRva2Vucy4kYWxsLXR5cGVmYWNlLXRva2VucywgJHR5cGVmYWNlLXRva2VuKTtcbiAgQHJldHVybiBtYXAuZ2V0KCR0b2tlbi1kYXRhLCBcImNhcC1oZWlnaHRcIik7XG59XG5cbi8vIEBkZWJ1ZyBjYXAtaGVpZ2h0KFwicHVibGljLXNhbnNcIik7XG4vLyBAcmV0dXJuIDM2MnB4O1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhbGlkYXRlLXR5cGVmYWNlLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNoZWNrIHRvIHNlZSBpZiBhIHR5cGVmYWNlLXRva2VuIGV4aXN0cy5cblRocm93IGFuIGVycm9yIGlmIGEgcGFzc2VkIHRva2VuIGRvZXNcbm5vdCBleGlzdCBpbiB0aGUgdHlwZWZhY2UtdG9rZW4gbWFwLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zXCI7XG5AdXNlIFwiLi4vZ2VuZXJhbC9lcnJvci1ub3QtdG9rZW5cIiBhcyAqO1xuXG5AZnVuY3Rpb24gdmFsaWRhdGUtdHlwZWZhY2UtdG9rZW4oJHR5cGVmYWNlLXRva2VuKSB7XG4gIEBpZiBub3QgbWFwLmhhcy1rZXkodG9rZW5zLiRhbGwtdHlwZWZhY2UtdG9rZW5zLCAkdHlwZWZhY2UtdG9rZW4pIHtcbiAgICBAcmV0dXJuIGVycm9yLW5vdC10b2tlbigkdHlwZWZhY2UtdG9rZW4sIFwidHlwZWZhY2VcIiwgJGFsbC10eXBlZmFjZS10b2tlbnMpO1xuICB9XG5cbiAgQHJldHVybiAkdHlwZWZhY2UtdG9rZW47XG59XG5cbi8vIEBkZWJ1ZyB2YWxpZGF0ZS10eXBlZmFjZS10b2tlbihcInB1YmxpYy1zYW5zXCIpO1xuLy8gQHJldHVybiBwdWJsaWMtc2Fuc1xuXG4vLyBAZGVidWcgdmFsaWRhdGUtdHlwZWZhY2UtdG9rZW4oXCJmb29cIik7XG4vLyBAcmV0dXJuIGVycm9yXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29udmVydC10by1mb250LXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBmb250LXJvbGUgdG9rZW4gaW50byBhXG5mb250LXR5cGUgdG9rZW4uIExlYXZlcyBmb250LXR5cGUgdG9rZW5zXG51bmNoYW5nZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvZm9udC1yb2xlLXRva2Vuc1wiIGFzICo7XG5cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLWZvbnQtdHlwZSgkdG9rZW4pIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRwcm9qZWN0LWZvbnQtcm9sZS10b2tlbnMsICR0b2tlbikge1xuICAgIEByZXR1cm4gbWFwLmdldCgkcHJvamVjdC1mb250LXJvbGUtdG9rZW5zLCAkdG9rZW4pO1xuICB9XG5cbiAgQHJldHVybiAkdG9rZW47XG59XG5cbi8vIEBkZWJ1ZyBjb252ZXJ0LXRvLWZvbnQtdHlwZShcImhlYWRpbmdcIik7XG4vLyBAcmV0dXJuIHNlcmlmXG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC1zb3VyY2VzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk91dHB1dHMgYSBsaXN0IG9mIGZvbnQgc291cmNlcyB1c2VkIGluXG5hIEBmb250LWZhY2UgZGVjbGFyYXRpb24uXG5cbiR0aGVtZS1mb250LWJyb3dzZXItY29tcGF0aWJpbGl0eTogdHJ1ZSAtIG91dHB1dCB3b2ZmMiwgd29mZiwgdHRmXG4kdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IGZhbHNlIC0gb3V0cHV0IHdvZmYyXG5cbkBwYXJhbSBzdGVtOiBzdHJpbmcgLSBbZm9udCBwYXRoXS9bY3VzdG9tLXNyYy5kaXJdL1tjdXN0b20tc3JjLltzdHlsZV0uW3dlaWdodF1dXG5Ab3V0cHV0OiBzdHJpbmdcblxuZmlsZXR5cGVzIG11c3QgYmUgb25lIG9mIHRoZSBmaWxldHlwZXMgc2V0IGluIHZhcmlhYmxlcy8kcHJvamVjdC1mb250LWZhY2UtZmlsZXR5cGVzICh3b2ZmLCB3b2ZmMiwgdHRmKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIGZvbnQtc291cmNlcygkc3RlbSkge1xuICBAaWYgJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5IHtcbiAgICBAcmV0dXJuIHVybCgjeyRzdGVtfS53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICB1cmwoI3skc3RlbX0ud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKCN7JHN0ZW19LnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIH1cblxuICBAcmV0dXJuIHVybCgjeyRzdGVtfS53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWZvbnQtc3RhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udCBzdGFjayBmcm9tIGEgc3R5bGUtIG9yXG5yb2xlLWJhc2VkIGZvbnQgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9mb250LXR5cGUtdG9rZW5zXCIgYXMgdHlwZXM7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2ZvbnQvdHlwZWZhY2VzXCIgYXMgdHlwZWZhY2VzO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCI7XG5AdXNlIFwiY29udmVydC10by1mb250LXR5cGVcIiBhcyAqO1xuXG5AZnVuY3Rpb24gZ2V0LWZvbnQtc3RhY2soJHRva2VuKSB7XG4gIC8vIFN0YXJ0IGJ5IGNvbnZlcnRpbmcgdG8gYSB0eXBlIHRva2VuIChzYW5zLCBzZXJpZiwgZXRjKVxuICAkdHlwZS10b2tlbjogY29udmVydC10by1mb250LXR5cGUoJHRva2VuKTtcbiAgJG91dHB1dC1kaXNwbGF5LW5hbWU6IHRydWU7XG4gICR0aGlzLXN0YWNrOiBudWxsO1xuICAvLyBHZXQgdGhlIGZvbnQgdHlwZSBtZXRhZGF0YVxuICAkdGhpcy1mb250LW1hcDogbWFwLmdldCh0eXBlcy4kcHJvamVjdC1mb250LXR5cGUtdG9rZW5zLCAkdHlwZS10b2tlbik7XG4gIC8vIE9ubHkgb3V0cHV0IGlmIHRoZSBmb250IHR5cGUgaGFzIGFuIGFzc2lnbmVkIHR5cGVmYWNlIHRva2VuXG4gIEBpZiBtYXAuZ2V0KCR0aGlzLWZvbnQtbWFwLCBcInR5cGVmYWNlLXRva2VuXCIpIHtcbiAgICAkdGhpcy1mb250LXRva2VuOiBtYXAuZ2V0KCR0aGlzLWZvbnQtbWFwLCBcInR5cGVmYWNlLXRva2VuXCIpO1xuICAgIC8vIEdldCB0aGUgdHlwZWZhY2UgbWV0YWRhdGFcbiAgICAkdGhpcy10eXBlZmFjZS1kYXRhOiBtYXAuZ2V0KFxuICAgICAgdHlwZWZhY2VzLiRhbGwtdHlwZWZhY2UtdG9rZW5zLFxuICAgICAgJHRoaXMtZm9udC10b2tlblxuICAgICk7XG4gICAgJHRoaXMtbmFtZTogbWFwLmdldCgkdGhpcy10eXBlZmFjZS1kYXRhLCBcImRpc3BsYXktbmFtZVwiKTtcbiAgICAvLyBJZiBpdCdzIGEgc3lzdGVtIHR5cGVmYWNlLCBkb24ndCBvdXRwdXQgdGhlIGRpc3BsYXkgbmFtZVxuICAgIEBpZiBtYXAuaGFzLWtleSgkdGhpcy10eXBlZmFjZS1kYXRhLCBcInN5c3RlbS1mb250XCIpIHtcbiAgICAgICRvdXRwdXQtZGlzcGxheS1uYW1lOiBmYWxzZTtcbiAgICAgIC8vIEBkZWJ1ZyBcIml0J3MgYSBzeXN0ZW0gZm9udFwiO1xuICAgIH1cbiAgICAvLyBJZiB0aGVyZSdzIGEgY3VzdG9tIHN0YWNrLCB1c2UgaXQgYW5kIG91dHB1dCB0aGUgZGlzcGxheSBuYW1lXG4gICAgQGlmIG1hcC5nZXQoJHRoaXMtZm9udC1tYXAsIFwiY3VzdG9tLXN0YWNrXCIpIHtcbiAgICAgICR0aGlzLXN0YWNrOiBtYXAuZ2V0KCR0aGlzLWZvbnQtbWFwLCBcImN1c3RvbS1zdGFja1wiKTtcbiAgICAgICRvdXRwdXQtZGlzcGxheS1uYW1lOiB0cnVlO1xuICAgICAgLy8gQGRlYnVnIFwiaXQgaGFzIGEgY3VzdG9tIHN0YWNrXCI7XG4gICAgfVxuICAgIC8vIE90aGVyd2lzZSwganVzdCBnZXQgdGhlIHRva2VuJ3MgZGVmYXVsdCBzdGFja1xuICAgIEBlbHNlIHtcbiAgICAgICR0aGlzLXN0YWNrOiBnZW5lcmFsLm1hcC1kZWVwLWdldChcbiAgICAgICAgdHlwZWZhY2VzLiRhbGwtdHlwZWZhY2UtdG9rZW5zLFxuICAgICAgICAkdGhpcy1mb250LXRva2VuLFxuICAgICAgICBcInN0YWNrXCJcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIElmIHRoZSB0eXBlZmFjZSBoYXMgbm8gZGlzcGxheSBuYW1lIChzeXN0ZW0gZm9udHMpLCBkb24ndCBvdXRwdXQgdGhlIGRpc3BsYXkgbmFtZVxuICAgIEBpZiBub3QgbWFwLmdldCgkdGhpcy10eXBlZmFjZS1kYXRhLCBcImRpc3BsYXktbmFtZVwiKSB7XG4gICAgICAkb3V0cHV0LWRpc3BsYXktbmFtZTogZmFsc2U7XG4gICAgfVxuICAgIEBpZiBub3QgJG91dHB1dC1kaXNwbGF5LW5hbWUge1xuICAgICAgQHJldHVybiAjeyR0aGlzLXN0YWNrfTtcbiAgICB9XG4gICAgQHJldHVybiBzdHJpbmcudW5xdW90ZShcIiN7JHRoaXMtbmFtZX0sICN7JHRoaXMtc3RhY2t9XCIpO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vIEBkZWJ1ZyBnZXQtZm9udC1zdGFjayhcImhlYWRpbmdcIik7XG4vLyBAcmV0dXJuIE1lcnJpd2VhdGhlciBXZWIsIEdlb3JnaWEsIENhbWJyaWEsIFRpbWVzIE5ldyBSb21hbiwgVGltZXMsIHNlcmlmXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LXR5cGVmYWNlLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIHR5cGVmYWNlIHRva2VuIGZyb20gYSBmb250LXR5cGUgb3JcbmZvbnQtcm9sZSB0b2tlbi5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2dlbmVyYWxcIjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvZm9udC1yb2xlLXRva2Vuc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzL2ZvbnQtdHlwZS10b2tlbnNcIiBhcyAqO1xuXG5AZnVuY3Rpb24gZ2V0LXR5cGVmYWNlLXRva2VuKCRmb250LXRva2VuKSB7XG4gICR0aGlzLXRva2VuOiAkZm9udC10b2tlbjtcbiAgQGlmIG1hcC5oYXMta2V5KCRwcm9qZWN0LWZvbnQtcm9sZS10b2tlbnMsICRmb250LXRva2VuKSB7XG4gICAgJHRoaXMtdG9rZW46IG1hcC5nZXQoJHByb2plY3QtZm9udC1yb2xlLXRva2VucywgJGZvbnQtdG9rZW4pO1xuICB9XG4gIEByZXR1cm4gZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgJHByb2plY3QtZm9udC10eXBlLXRva2VucyxcbiAgICAkdGhpcy10b2tlbixcbiAgICBcInR5cGVmYWNlLXRva2VuXCJcbiAgKTtcbn1cblxuLy8gQGRlYnVnIGdldC10eXBlZmFjZS10b2tlbihcInNhbnNcIik7XG4vLyBAcmV0dXJuIHNvdXJjZS1zYW5zLXByb1xuLy8gQGRlYnVnIGdldC10eXBlZmFjZS10b2tlbihcImhlYWRpbmdcIik7XG4vLyBAcmV0dXJuIG1lcnJpd2VhdGhlclxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5vcm1hbGl6ZS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vcm1hbGl6ZXMgYSBzcGVjaWZpYyBmYWNlJ3Mgb3B0aWNhbCBzaXplXG50byBhIHNldCB0YXJnZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi8uLi90b2tlbnNcIjtcbkB1c2UgXCIuLi9nZW5lcmFsXCI7XG5AdXNlIFwiLi4vdW5pdHNcIjtcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS10eXBlLXNjYWxlKCRjYXAtaGVpZ2h0LCAkc2NhbGUpIHtcbiAgQGlmIG5vdCAkY2FwLWhlaWdodCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gICR0aGlzLXNjYWxlOiB0b2tlbnMuJHN5c3RlbS1iYXNlLWNhcC1oZWlnaHQgKlxuICAgIG1hdGguZGl2KGdlbmVyYWwuc3RyaXAtdW5pdCgkc2NhbGUpLCAkY2FwLWhlaWdodCkgKiAxcHg7XG5cbiAgQHJldHVybiB1bml0cy5weC10by1yZW0oJHRoaXMtc2NhbGUpO1xufVxuXG4vLyBAZGVidWcgbm9ybWFsaXplLXR5cGUtc2NhbGUoMzYycHgsIDE2cHgpO1xuLy8gQHJldHVybiAxcmVtXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3lzdGVtLXR5cGUtc2NhbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdmFsdWUgZnJvbSB0aGUgc3lzdGVtIHR5cGUgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2ZvbnRcIjtcblxuQGZ1bmN0aW9uIHN5c3RlbS10eXBlLXNjYWxlKCRzY2FsZSkge1xuICAkc2NhbGU6IGdlbmVyYWwuc21hcnQtcXVvdGUoJHNjYWxlKTtcblxuICBAaWYgbm90ICRzY2FsZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBpZiBub3QobWFwLmhhcy1rZXkoZm9udC4kc3lzdGVtLXR5cGUtc2NhbGUsICRzY2FsZSkpIHtcbiAgICBAcmV0dXJuIGdlbmVyYWwuZXJyb3Itbm90LXRva2VuKCRzY2FsZSwgXCJ0eXBlIHNjYWxlXCIsICRzeXN0ZW0tdHlwZS1zY2FsZSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC5nZXQoZm9udC4kc3lzdGVtLXR5cGUtc2NhbGUsICRzY2FsZSk7XG59XG5cbi8vIEBkZWJ1ZyBzeXN0ZW0tdHlwZS1zY2FsZSgyKTtcbi8vIEByZXR1cm4gMTNweDtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FYXNpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4kcHJvamVjdC1lYXNpbmc6IDAuMTVzIGVhc2UtaW4tb3V0O1xuIiwiLyogIGRlcHJlY2F0ZWQuc2Nzc1xuICAgIC0tLVxuICAgIE9jY2FzaW9uYWxseSB0aGUgZGVzaWduIHN5c3RlbSB3aWxsIGRlcHJlY2F0ZVxuICAgIG9sZCB2YXJpYWJsZXMgb3IgZnVuY3Rpb25hbGl0eS4gSWYgd2UgcmVwbGFjZVxuICAgIHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB3aXRoIHNvbWV0aGluZyBuZXcsIHRoaXMgaXMgYVxuICAgIHBsYWNlIHRvIGNvbm5lY3QgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IHRvIHRoZVxuICAgIG5ldyBmdW5jdGlvbmFsaXR5LCBpbiB0aGUgc2VydmljZSBvZiBiZXR0ZXJcbiAgICBjb250aW51aXR5IGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoaW4gYVxuICAgIG1ham9yIHJlbGVhc2UgY3ljbGUuXG5cbiAgICBOb3RlIHRoZSBVU1dEUyB2ZXJzaW9uIHdoZXJlIHdlIGRlcHJlY2F0ZWQgdGhlXG4gICAgb2xkIGZ1bmN0aW9uYWxpdHkgaW4gYSBjb21tZW50LlxuXG4gICAgQmUgc3VyZSB0byB1cGRhdGUgbm90aWZpY2F0aW9ucy5zY3NzLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuKi9cblxuLy8gRGVwcmVjYXRlZCBpbiAzLjAuMFxuJG91dHB1dC1hbGwtdXRpbGl0aWVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBEZXByZWNhdGVkIGluIDMuMS4wXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbkBtaXhpbiBlbWJlZC1jb250YWluZXIoJGhlaWdodCwgJHdpZHRoKSB7XG4gIHBhZGRpbmctYm90dG9tOiBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoJGhlaWdodCwgJHdpZHRoKSk7XG59XG5cbiRmb250LXNtb290aGluZy13YXJuaW5nOiBcIkZvbnQgc21vb3RoaW5nIHdhcyBkZXByZWNhdGVkIGluIFVTV0RTIDMuNS4wLiBQbGVhc2UgcmVtb3ZlIGFueSByZWZlcmVuY2VzIHRvIGl0LlwiO1xuXG4vLyBEZXByZWNhdGVkIGluIDMuNS4wXG5AbWl4aW4gYWRkLWtub2Nrb3V0LWZvbnQtc21vb3RoaW5nIHtcbiAgQHdhcm4gJGZvbnQtc21vb3RoaW5nLXdhcm5pbmc7XG59XG5cbkBtaXhpbiBuby1rbm9ja291dC1mb250LXNtb290aGluZyB7XG4gIEB3YXJuICRmb250LXNtb290aGluZy13YXJuaW5nO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmFkdmFuY2VkLWNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciB0cmlwbGV0OlxuW2ZhbWlseV0sIFtncmFkZV0sIFt2YXJpYW50XVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLy8gY29sb3IoKSBjYW4gaGF2ZSBhIDEsIDIsIG9yIDMgYXJndW1lbnRzIHBhc3NlZCB0byBpdDpcbi8vXG4vLyBbZmFtaWx5XVxuLy8gZXg6IGNvbG9yKCdwcmltYXJ5Jylcbi8vICAgICAtIHRoZSBkZWZhdWx0IGluIGEgdGhlbWUgcGFsZXR0ZSBmYW1pbHlcbi8vXG4vLyBbZmFtaWx5XSwgW2dyYWRlXVxuLy8gZXg6IGNvbG9yKCdyZWQnLCA1MClcbi8vICAgICAtIGEgc3RhbmRhcmQgc3lzdGVtIGNvbG9yXG4vLyBleDogY29sb3IoJ2FjY2VudC13YXJtJywgJ2xpZ2h0Jylcbi8vICAgICAtIGEgc3RhbmRhcmQgdGhlbWUgY29sb3Jcbi8vIGV4OiBjb2xvcigncHJpbWFyeScsICd2aXZpZCcpXG4vLyAgICAgLSBpbiB0aGVtZSBjb2xvcnMsICd2aXZpZCcgaXMgY29uc2lkZXJlZCBhIGdyYWRlXG4vL1xuLy8gW2ZhbWlseV0sIFtncmFkZV0sIFt2aXZpZF1cbi8vIGV4OiBjb2xvcigncmVkJywgNTAsICd2aXZpZCcpXG4vLyAgICAgLSBhIHZpdmlkIHN5c3RlbSBjb2xvclxuLy8gICAgIC0gb25seSBzeXN0ZW0gY29sb3JzIHJlcXVpcmVkIHRocmVlIGFyZ3VtZW50c1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9nZW5lcmFsXCI7XG5AdXNlIFwiZ2V0LXN5c3RlbS1jb2xvclwiIGFzICo7XG5cbkBmdW5jdGlvbiBhZHZhbmNlZC1jb2xvcihcbiAgJGNvbG9yLWZhbWlseTogZmFsc2UsXG4gICRjb2xvci1ncmFkZTogZmFsc2UsXG4gICRjb2xvci12YXJpYW50OiBmYWxzZVxuKSB7XG4gIC8vIENvbnZlcnQgYW55IGFyZ2xpc3RzIGludG8gbGlzdHNcbiAgJGNvbG9yLWZhbWlseTogaWYoXG4gICAgbWV0YS50eXBlLW9mKCRjb2xvci1mYW1pbHkpID09IFwiYXJnbGlzdFwiLFxuICAgIGdlbmVyYWwudW5wYWNrKCRjb2xvci1mYW1pbHkpLFxuICAgICRjb2xvci1mYW1pbHlcbiAgKTtcblxuICAvLyBJZiAkY29sb3ItZmFtaWx5IGlzIGEgbGlzdCwgY29sb3IoKSBoYWQgYSB2YXJpYWJsZVxuICAvLyBwYXNzZWQgdG8gaXQsIGFuZCBhcmdzIG5lZWQgdG8gYmUgcmUtc2V0IHdpdGggdGhlXG4gIC8vIHZhbHVlcyBmcm9tIHRoZSAkY29sb3ItZmFtaWx5IGxpc3Q6XG4gIEBpZiBtZXRhLnR5cGUtb2YoJGNvbG9yLWZhbWlseSkgPT0gXCJsaXN0XCIge1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkY29sb3ItZmFtaWx5KSA+IDIge1xuICAgICAgJGNvbG9yLXZhcmlhbnQ6IGxpc3QubnRoKCRjb2xvci1mYW1pbHksIDMpO1xuICAgIH1cbiAgICAkY29sb3ItZ3JhZGU6IGxpc3QubnRoKCRjb2xvci1mYW1pbHksIDIpO1xuICAgICRjb2xvci1mYW1pbHk6IGxpc3QubnRoKCRjb2xvci1mYW1pbHksIDEpO1xuICB9XG5cbiAgLy8gU2V0IGluaXRpYWwgc3RhdGUgb2YgdmFyc1xuICAkY29sb3ItZmFtaWx5OiBnZW5lcmFsLnNtYXJ0LXF1b3RlKCRjb2xvci1mYW1pbHkpO1xuICAkY29sb3ItZ3JhZGU6IGdlbmVyYWwuc21hcnQtcXVvdGUoJGNvbG9yLWdyYWRlKTtcbiAgJGNvbG9yLXZhcmlhbnQ6IGdlbmVyYWwuc21hcnQtcXVvdGUoJGNvbG9yLXZhcmlhbnQpO1xuXG4gIC8vIEBkZWJ1ZyAnI3skY29sb3ItZmFtaWx5fTogI3ttZXRhLnR5cGUtb2YoJGNvbG9yLWZhbWlseSl9LCAjeyRjb2xvci1ncmFkZX06ICN7bWV0YS50eXBlLW9mKCRjb2xvci1ncmFkZSl9LCAjeyRjb2xvci12YXJpYW50fTogI3ttZXRhLnR5cGUtb2YoJGNvbG9yLXZhcmlhbnQpfScgO1xuXG4gIC8vIElmIHRoZXJlIGFyZSBubyBhcmdzLCB0aHJvdyBhbiBlcnJvclxuICBAaWYgbm90ICRjb2xvci1mYW1pbHkge1xuICAgIEBlcnJvciAnSW5jbHVkZSBhIGNvbG9yIGluIHRoZSBmb3JtIFtmYW1pbHldLCBbZ3JhZGVdLCBbdml2aWRdJztcbiAgfVxuXG4gIC8vIElmIHRoZSBncmFkZSBpcyBhIG51bWJlciwgaXQncyBhIHN5c3RlbSBjb2xvclxuICAvLyBleDogKCdyZWQnLCA1MClcbiAgQGlmIG1ldGEudHlwZS1vZigkY29sb3ItZ3JhZGUpID09IFwibnVtYmVyXCIge1xuICAgIEByZXR1cm4gZ2V0LXN5c3RlbS1jb2xvcigkY29sb3ItZmFtaWx5LCAkY29sb3ItZ3JhZGUsICRjb2xvci12YXJpYW50KTtcbiAgfVxuXG4gIC8vIG5vbi1udW1iZXIgZ3JhZGVzIGFyZSBhc3NvY2lhdGVkIHdpdGggbm9uLWRlZmF1bHQgdGhlbWUgY29sb3JzXG4gIC8vIGV4OiAoJ2Jhc2UnLCAnZGFya2VyJylcbiAgLy8gZGVmYXVsdCB0aGVtZSBjb2xvcnMgaGF2ZSBubyBncmFkZVxuICAvLyBleDogKCdiYXNlJylcbiAgQGlmIG1hcC5oYXMta2V5KCRhbGwtcHJvamVjdC1jb2xvcnMsICRjb2xvci1mYW1pbHkpIHtcbiAgICBAaWYgbm90XG4gICAgICBtYXAuaGFzLWtleShtYXAuZ2V0KCRhbGwtcHJvamVjdC1jb2xvcnMsICRjb2xvci1mYW1pbHkpLCAkY29sb3ItZ3JhZGUpXG4gICAge1xuICAgICAgQGVycm9yICdgI3skY29sb3ItZ3JhZGV9YCBpcyBub3QgYSB2YWxpZCBncmFkZSBvZiBgI3skY29sb3ItZmFtaWx5fWAuICdcbiAgICAgICAgKyAnVmFsaWQgZ3JhZGVzOiAnXG4gICAgICAgICsgJyN7bWFwLmtleXMobWFwLmdldCgkYWxsLXByb2plY3QtY29sb3JzLCAkY29sb3ItZmFtaWx5KSl9JztcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZ2VuZXJhbC5lcnJvci1ub3QtdG9rZW4oXG4gICAgICAkY29sb3ItZmFtaWx5LFxuICAgICAgXCJ0aGVtZSBmYW1pbHlcIixcbiAgICAgICRhbGwtcHJvamVjdC1jb2xvcnNcbiAgICApO1xuICB9XG4gIEByZXR1cm4gZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgJGFsbC1wcm9qZWN0LWNvbG9ycyxcbiAgICAkY29sb3ItZmFtaWx5LFxuICAgICRjb2xvci1ncmFkZVxuICApO1xufVxuXG4vLyBAZGVidWcgYWR2YW5jZWQtY29sb3IoXCJyZWRcIiwgNTAsIFwidml2aWRcIik7XG4vLyBAcmV0dXJuICNlNTIyMDc7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FsY3VsYXRlLWdyYWRlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSB0aGUgZ3JhZGUgZXF1aXZhbGVudCBhbnkgY29sb3IsXG5ldmVuIG5vbi10b2tlbiBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG5AdXNlIFwiLi4vZ2VuZXJhbFwiO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9sdW1pbmFuY2UtZ3JhZGUtcmFuZ2VzXCIgYXMgKjtcbkB1c2UgXCJjb2xvci10b2tlbi1hc3NpZ25tZW50XCIgYXMgKjtcbkB1c2UgXCJjb2xvci10b2tlbi1mYW1pbHlcIiBhcyAqO1xuQHVzZSBcImNvbG9yLXRva2VuLWdyYWRlXCIgYXMgKjtcbkB1c2UgXCJkZWNvbXBvc2UtY29sb3ItdG9rZW5cIiBhcyAqO1xuQHVzZSBcImlzLWNvbG9yLXRva2VuXCIgYXMgKjtcbkB1c2UgXCJsdW1pbmFuY2VcIiBhcyAqO1xuXG5AZnVuY3Rpb24gY2FsY3VsYXRlLWdyYWRlKCRjb2xvci10b2tlbikge1xuICAkdHJhbnNwYXJlbmN5LWVycm9yOiBcIlVTV0RTIGNhbid0IGNhbGN1bGF0ZSB0aGUgZ3JhZGUgb2YgYSB0cmFuc3BhcmVudCBjb2xvci4gQXZvaWQgdXNpbmcgdHJhbnNwYXJlbmN5IGluIHRoZW1lIGNvbG9ycyBhbmQgdGV4dC5cIjtcbiAgJGdyYWRlOiBudWxsO1xuICAkbHVtOiBudWxsO1xuICAkY3VzdG9tLWNvbG9yOiBmYWxzZTtcbiAgJGNvbG9yLXRva2VuLWFzc2lnbm1lbnQ6IGZhbHNlO1xuXG4gIC8vIERldGVybWluZSBpZiB0aGUgY29sb3IgaXMgYSBjdXN0b20gY29sb3JcbiAgQGlmIG1ldGEudHlwZS1vZigkY29sb3ItdG9rZW4pID09IFwiY29sb3JcIiB7XG4gICAgJGN1c3RvbS1jb2xvcjogJGNvbG9yLXRva2VuO1xuICB9IEBlbHNlIHtcbiAgICAkY29sb3ItdG9rZW4tYXNzaWdubWVudDogY29sb3ItdG9rZW4tYXNzaWdubWVudCgkY29sb3ItdG9rZW4pO1xuICAgIEBpZiBtZXRhLnR5cGUtb2YoJGNvbG9yLXRva2VuLWFzc2lnbm1lbnQpID09IFwiY29sb3JcIiB7XG4gICAgICAkY3VzdG9tLWNvbG9yOiBjb2xvci10b2tlbi1hc3NpZ25tZW50KCRjb2xvci10b2tlbik7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgaXQncyBjdXN0b20sIGNvbXBhcmUgaXRzIHJMdW0gdG8gVVNXRFMgZ3JhZGUgckx1bSByYW5nZXNcbiAgQGlmICRjdXN0b20tY29sb3Ige1xuICAgIC8vIElmIHRoZSBjb2xvciB1c2VzIHRyYW5zcGFyZW5jeSwgdGhyb3cgYW4gZXJyb3JcbiAgICBAaWYgY29sb3IuYWxwaGEoJGN1c3RvbS1jb2xvcikgIT0gMSB7XG4gICAgICBAcmV0dXJuIGdlbmVyYWwudXN3ZHMtZXJyb3IoJHRyYW5zcGFyZW5jeS1lcnJvcik7XG4gICAgfVxuICAgICRsdW06IGx1bWluYW5jZSgkY3VzdG9tLWNvbG9yKTtcbiAgICAvLyBDeWNsZSB0aHJvdWdoIGdyYWRlcywga25vd2luZyBjdXJyZW50IEFORCBuZXh0IGdyYWRlXG4gICAgJG91ci1ncmFkZXM6IG1hcC5rZXlzKCRzeXN0ZW0tY29sb3ItZ3JhZGVzKTtcbiAgICAkZ3JhZGUtY291bnQ6IGxpc3QubGVuZ3RoKCRvdXItZ3JhZGVzKTtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmFkZS1jb3VudCB7XG4gICAgICAkdGhpcy1ncmFkZTogbGlzdC5udGgoJG91ci1ncmFkZXMsICRpKTtcbiAgICAgICR0aGlzLWdyYWRlLW1pbjogZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgICAgICRzeXN0ZW0tY29sb3ItZ3JhZGVzLFxuICAgICAgICAkdGhpcy1ncmFkZSxcbiAgICAgICAgXCJtaW5cIlxuICAgICAgKTtcbiAgICAgICR0aGlzLWdyYWRlLW1heDogZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgICAgICRzeXN0ZW0tY29sb3ItZ3JhZGVzLFxuICAgICAgICAkdGhpcy1ncmFkZSxcbiAgICAgICAgXCJtYXhcIlxuICAgICAgKTtcbiAgICAgICRuZXh0LWdyYWRlOiBpZigkaSA8ICRncmFkZS1jb3VudCwgbGlzdC5udGgoJG91ci1ncmFkZXMsICRpICsgMSksIGZhbHNlKTtcbiAgICAgICRuZXh0LWdyYWRlLW1pbjogaWYoXG4gICAgICAgICRuZXh0LWdyYWRlLFxuICAgICAgICBnZW5lcmFsLm1hcC1kZWVwLWdldCgkc3lzdGVtLWNvbG9yLWdyYWRlcywgJG5leHQtZ3JhZGUsIFwibWluXCIpLFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICAgIC8vIElmIHRoZSBsdW0gZml0cyB0aGUgcmFuZ2UsIGFzc2lnbiBhIFVTV0RTIGdyYWRlXG4gICAgICAvLyBPdGhlcndpc2UsIHNldCBhIGdyYWRlIG1pZHdheSBiZXR3ZWVuIHR3byBVU1dEUyBncmFkZXNcbiAgICAgIEBpZiAoJGx1bSA+PSAkdGhpcy1ncmFkZS1taW4pIGFuZCAoJGx1bSA8PSAkdGhpcy1ncmFkZS1tYXgpIHtcbiAgICAgICAgQHJldHVybiAkdGhpcy1ncmFkZTtcbiAgICAgIH1cbiAgICAgIEBpZiAoJGx1bSA+ICR0aGlzLWdyYWRlLW1heCkgYW5kICgkbHVtIDwgJG5leHQtZ3JhZGUtbWluKSB7XG4gICAgICAgICRjdXN0b20tZ3JhZGUtbWlkcG9pbnQ6IG1hdGguZGl2KCgkdGhpcy1ncmFkZSArICRuZXh0LWdyYWRlKSwgMik7XG4gICAgICAgICRjdXN0b20tZ3JhZGU6ICRjdXN0b20tZ3JhZGUtbWlkcG9pbnQ7XG4gICAgICAgIEByZXR1cm4gJGN1c3RvbS1ncmFkZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgbm90IGlzLWNvbG9yLXRva2VuKCRjb2xvci10b2tlbi1hc3NpZ25tZW50KSB7XG4gICAgQHJldHVybiBnZW5lcmFsLmVycm9yLW5vdC10b2tlbigkY29sb3ItdG9rZW4tYXNzaWdubWVudCwgXCJjb2xvclwiKTtcbiAgfVxuXG4gICRzeXN0ZW0tdG9rZW46ICRjb2xvci10b2tlbi1hc3NpZ25tZW50O1xuICAkdG9rZW4tc3BsaXQ6IGRlY29tcG9zZS1jb2xvci10b2tlbigkc3lzdGVtLXRva2VuKTtcbiAgJHRva2VuLWZhbWlseTogY29sb3ItdG9rZW4tZmFtaWx5KCR0b2tlbi1zcGxpdCk7XG4gIC8vIElmIHRoZSBjb2xvciB1c2VzIHRyYW5zcGFyZW5jeSwgdGhyb3cgYW4gZXJyb3JcbiAgQGlmIHN0cmluZy5pbmRleCgkdG9rZW4tZmFtaWx5LCBcInRyYW5zcGFyZW50XCIpIHtcbiAgICBAcmV0dXJuIGdlbmVyYWwudXN3ZHMtZXJyb3IoJHRyYW5zcGFyZW5jeS1lcnJvcik7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdG9rZW4gZ3JhZGVcbiAgJHRva2VuLWdyYWRlOiBjb2xvci10b2tlbi1ncmFkZSgkdG9rZW4tc3BsaXQpO1xuICBAcmV0dXJuICR0b2tlbi1ncmFkZTtcbn1cblxuLy8gQGRlYnVnIGNhbGN1bGF0ZS1ncmFkZShcInJlZC02MHZcIik7XG4vLyBAcmV0dXJuIDYwO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWFzc2lnbm1lbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHRoZSBzeXN0ZW0gdG9rZW4gZXF1aXZhbGVudCBvZiBhbnlcbnRoZW1lIGNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcImlzLXN5c3RlbS1jb2xvci10b2tlblwiIGFzICo7XG5AdXNlIFwiaXMtdGhlbWUtY29sb3ItdG9rZW5cIiBhcyAqO1xuQHVzZSBcIi4uL2dlbmVyYWwvZXJyb3Itbm90LXRva2VuXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi90b2tlbnMvY29sb3IvYXNzaWdubWVudHMtdGhlbWUtY29sb3JcIiBhcyAqO1xuXG5AZnVuY3Rpb24gY29sb3ItdG9rZW4tYXNzaWdubWVudCgkY29sb3ItdG9rZW4pIHtcbiAgQGlmIGlzLXN5c3RlbS1jb2xvci10b2tlbigkY29sb3ItdG9rZW4pIHtcbiAgICAkc3lzdGVtLXRva2VuOiAkY29sb3ItdG9rZW47XG4gICAgQHJldHVybiAkc3lzdGVtLXRva2VuO1xuICB9XG5cbiAgQGlmIG5vdCBpcy10aGVtZS1jb2xvci10b2tlbigkY29sb3ItdG9rZW4pIHtcbiAgICBAcmV0dXJuIGVycm9yLW5vdC10b2tlbigkY29sb3ItdG9rZW4sIFwiY29sb3JcIik7XG4gIH1cblxuICAkdGhlbWUtdG9rZW46ICRjb2xvci10b2tlbjtcbiAgJHRoZW1lLXRva2VuLWFzc2lnbm1lbnQ6IG1hcC5nZXQoJGFzc2lnbm1lbnRzLXRoZW1lLWNvbG9yLCAkdGhlbWUtdG9rZW4pO1xuICBAcmV0dXJuICR0aGVtZS10b2tlbi1hc3NpZ25tZW50O1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXN5c3RlbS1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gd2hldGhlciBhIHRva2VuIGlzIGEgc3lzdGVtXG5jb2xvciB0b2tlblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2NvbG9yL3Nob3J0Y29kZXMtY29sb3Itc3lzdGVtXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGlzLXN5c3RlbS1jb2xvci10b2tlbigkdG9rZW4pIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRzeXN0ZW0tY29sb3Itc2hvcnRjb2RlcywgJHRva2VuKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vIEBkZWJ1ZyBpcy1zeXN0ZW0tY29sb3ItdG9rZW4oXCJyZWQtY29vbC01dlwiKTtcbi8vIEByZXR1cm4gdHJ1ZTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy10aGVtZS1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gd2hldGhlciBhIHRva2VuIGlzIGEgdGhlbWVcbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uLy4uL3Rva2Vucy9jb2xvci9zaG9ydGNvZGVzLWNvbG9yLXByb2plY3RcIiBhcyAqO1xuXG5AZnVuY3Rpb24gaXMtdGhlbWUtY29sb3ItdG9rZW4oJHRva2VuKSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkcHJvamVjdC1jb2xvci1zaG9ydGNvZGVzLCAkdG9rZW4pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AdXNlIFwiZGVjb21wb3NlLWNvbG9yLXRva2VuXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGNvbG9yLXRva2VuLWZhbWlseSgkY29sb3ItdG9rZW4pIHtcbiAgJHNwbGl0OiBpZihcbiAgICBtZXRhLnR5cGUtb2YoJGNvbG9yLXRva2VuKSA9PSBcImxpc3RcIixcbiAgICAkY29sb3ItdG9rZW4sXG4gICAgZGVjb21wb3NlLWNvbG9yLXRva2VuKCRjb2xvci10b2tlbilcbiAgKTtcbiAgJGZhbWlseTogbGlzdC5udGgoJHNwbGl0LCAxKTtcbiAgQHJldHVybiAkZmFtaWx5O1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlY29tcG9zZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0IGEgY29sb3IgdG9rZW4gaW50byBpbnRvIGEgbGlzdFxub2YgZm9ybSBbZmFtaWx5XSwgW2dyYWRlXSwgW3ZhcmlhbnRdXG5WaXZpZCB2YXJpYW50cyByZXR1cm4gXCJ2aXZpZFwiIGFzIHRoZVxudmFyaWFudC5cbklmIG5laXRoZXIgZ3JhZGUgbm9yIHZhcmlhbnQgZXhpc3RzLFxucmV0dXJucyAnbnVsbCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkB1c2UgXCIuLi9nZW5lcmFsL3N0ci1zcGxpdFwiIGFzICo7XG5AdXNlIFwiLi4vZ2VuZXJhbC90by1udW1iZXJcIiBhcyAqO1xuXG5AZnVuY3Rpb24gZGVjb21wb3NlLWNvbG9yLXRva2VuKCR0b2tlbikge1xuICAkc2VwYXJhdG9yOiBcIi1cIjtcbiAgJGZhbWlseTogZmFsc2U7XG4gICRncmFkZTogZmFsc2U7XG4gICR2YXJpYW50OiBmYWxzZTtcbiAgJGV4Y2VwdGlvbnM6IChcbiAgICBcImJsYWNrXCI6IDEwMCxcbiAgICBcIndoaXRlXCI6IDAsXG4gICk7XG5cbiAgJHRva2VuOiBpZigkdG9rZW4gPT0gXCJpbmtcIiwgXCJiYXNlLWRhcmtlc3RcIiwgJHRva2VuKTtcbiAgLy8gSWYgdGhlcmUncyBubyBzZXBhcmF0b3IsIHNldCBmYW1pbHkgYW5kIGdyYWRlXG4gIEBpZiBub3Qgc3RyaW5nLmluZGV4KCR0b2tlbiwgJHNlcGFyYXRvcikge1xuICAgICRmYW1pbHk6ICR0b2tlbjtcbiAgICAkZ3JhZGU6IGlmKFxuICAgICAgbWFwLmhhcy1rZXkoJGV4Y2VwdGlvbnMsICRmYW1pbHkpLFxuICAgICAgbWFwLmdldCgkZXhjZXB0aW9ucywgJGZhbWlseSksXG4gICAgICBcInJvb3RcIlxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgICRzcGxpdDogc3RyLXNwbGl0KCR0b2tlbiwgJHNlcGFyYXRvcik7XG4gICAgJGxhc3Q6IGxpc3QubnRoKCRzcGxpdCwgbGlzdC5sZW5ndGgoJHNwbGl0KSk7XG4gICAgLy8gSWYgdGhlIGxhc3Qgc3RyaW5nIGlzIG92ZXIgMyBjaGFyLCBpdCdzIGEgdGhlbWUgdG9rZW5cbiAgICBAaWYgc3RyaW5nLmxlbmd0aCgkbGFzdCkgPiAzIHtcbiAgICAgIEBpZiAkbGFzdCA9PSBcInZpdmlkXCIge1xuICAgICAgICAkdmFyaWFudDogXCJ2aXZpZFwiO1xuICAgICAgICAkZ3JhZGU6IFwicm9vdFwiO1xuICAgICAgfSBAZWxzZSBpZiAkbGFzdCA9PSBcIndhcm1cIiBvciAkbGFzdCA9PSBcImNvb2xcIiB7XG4gICAgICAgICRncmFkZTogXCJyb290XCI7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGdyYWRlOiAkbGFzdDtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSB0cmVhdCBhcyBzeXN0ZW0gdG9rZW5cbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIERldGVybWluZSBpZiBpdCdzIGEgdml2aWQgdmFyaWFudFxuICAgICAgQGlmIHN0cmluZy5pbmRleCgkbGFzdCwgXCJ2XCIpIHtcbiAgICAgICAgJHZhcmlhbnQ6IFwidml2aWRcIjtcbiAgICAgICAgJGdyYWRlOiBzdHJpbmcuc2xpY2UoJGxhc3QsIDEsIChzdHJpbmcuaW5kZXgoJGxhc3QsIFwidlwiKSAtIDEpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZ3JhZGU6ICRsYXN0O1xuICAgICAgfVxuICAgICAgLy8gTWFrZSBzdXJlIHRoZSBncmFkZSBpcyBhIG51bWJlclxuICAgICAgJGdyYWRlOiBpZihtZXRhLnR5cGUtb2YoJGdyYWRlKSA9PSBcInN0cmluZ1wiLCB0by1udW1iZXIoJGdyYWRlKSwgJGdyYWRlKTtcbiAgICB9XG4gICAgLy8gQ29sbGVjdCBjb21wb3VuZC13b3JkIGZhbWlsaWVzXG4gICAgJGlzLWNvbXBvdW5kLWZhbWlseTogZmFsc2U7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCRzcGxpdCkgPT1cbiAgICAgIDMgb3JcbiAgICAgIGxpc3QuaW5kZXgoJHNwbGl0LCBcIndhcm1cIikgb3JcbiAgICAgIGxpc3QuaW5kZXgoJHNwbGl0LCBcImNvb2xcIilcbiAgICB7XG4gICAgICAkaXMtY29tcG91bmQtZmFtaWx5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgJGlzLWNvbXBvdW5kLWZhbWlseSB7XG4gICAgICAkZmFtaWx5OiBsaXN0Lm50aCgkc3BsaXQsIDEpICsgJHNlcGFyYXRvciArIGxpc3QubnRoKCRzcGxpdCwgMik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZmFtaWx5OiBsaXN0Lm50aCgkc3BsaXQsIDEpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRmYW1pbHksICRncmFkZSwgJHZhcmlhbnQ7XG59XG5cbi8vIEBkZWJ1ZyBkZWNvbXBvc2UtY29sb3ItdG9rZW4oXCJhY2NlbnQtY29vbFwiKTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBncmFkZSBvZiBhIFVTV0RTIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZ3JhZGVcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm1cIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tZGFya2VyXCIpXG4+IFwiZGFya2VyXCJcbmNvbG9yLXRva2VuLWdyYWRlKFwicmVkLTUwdlwiKVxuPiA1MFxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5cbkB1c2UgXCJkZWNvbXBvc2UtY29sb3ItdG9rZW5cIiBhcyAqO1xuXG5AZnVuY3Rpb24gY29sb3ItdG9rZW4tZ3JhZGUoJGNvbG9yLXRva2VuKSB7XG4gICRzcGxpdDogaWYoXG4gICAgbWV0YS50eXBlLW9mKCRjb2xvci10b2tlbikgPT0gXCJsaXN0XCIsXG4gICAgJGNvbG9yLXRva2VuLFxuICAgIGRlY29tcG9zZS1jb2xvci10b2tlbigkY29sb3ItdG9rZW4pXG4gICk7XG4gICRncmFkZTogbGlzdC5udGgoJHNwbGl0LCAyKTtcbiAgQHJldHVybiAkZ3JhZGU7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtY29sb3ItdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB3aGV0aGVyIGEgZ2l2ZW4gc3RyaW5nIGlzIGFcblVTV0RTIGNvbG9yIHRva2VuLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2NvbG9yL3Nob3J0Y29kZXMtY29sb3ItYWxsXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGlzLWNvbG9yLXRva2VuKCR0b2tlbikge1xuICAkaXMtY29sb3ItdG9rZW46IGlmKG1hcC5oYXMta2V5KCRhbGwtY29sb3Itc2hvcnRjb2RlcywgJHRva2VuKSwgdHJ1ZSwgZmFsc2UpO1xuICBAcmV0dXJuICRpcy1jb2xvci10b2tlbjtcbn1cblxuLy8gQGRlYnVnIGlzLWNvbG9yLXRva2VuKFwicmVkLXdhcm0tNTBcIik7XG4vLyBAcmV0dXJuIHRydWVcbiIsIi8vIEBUT0RPIGNhbmRpZGF0ZSBmb3IgcmVtb3ZhbCBiZWNhdXNlIG9mIGJ1aWx0LWluIG1hdGgucG93KClcbi8vIGh0dHBzOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL21vZHVsZXMvbWF0aCNwb3dcblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucG93KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJhaXNlcyBhIHVuaXRsZXNzIG51bWJlciB0byB0aGUgcG93ZXJcbm9mIGFub3RoZXIgdW5pdGxlc3MgbnVtYmVyXG5JbmNsdWRlcyBoZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gcG93KCRudW1iZXIsICRleHBvbmVudCkge1xuICBAaWYgKG1hdGgucm91bmQoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICBAcmV0dXJuIGV4cCgkZXhwb25lbnQgKiBsbigkbnVtYmVyKSk7XG4gIH1cblxuICAkdmFsdWU6IDE7XG5cbiAgQGlmICRleHBvbmVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJG51bWJlcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJGV4cG9uZW50IDwgMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlLCAkbnVtYmVyKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkhlbHBlciBmdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8qIGZhY3RvcmlhbCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZmFjdG9yaWFsKCR2YWx1ZSkge1xuICAkcmVzdWx0OiAxO1xuXG4gIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgQHJldHVybiAkcmVzdWx0O1xuICB9XG5cbiAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJHZhbHVlIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogJGluZGV4O1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vKiBzdW1tYXRpb24oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbkBmdW5jdGlvbiBzdW1tYXRpb24oJGl0ZXJhdGVlLCAkaW5wdXQsICRpbml0aWFsOiAwLCAkbGltaXQ6IDEwMCkge1xuICAkc3VtOiAwO1xuXG4gIEBmb3IgJGluZGV4IGZyb20gJGluaXRpYWwgdG8gJGxpbWl0IHtcbiAgICAkc3VtOiAkc3VtICsgbWV0YS5jYWxsKCRpdGVyYXRlZSwgJGlucHV0LCAkaW5kZXgpO1xuICB9XG5cbiAgQHJldHVybiAkc3VtO1xufVxuXG4vKiBleHAtbWFjbGF1cmluKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5AZnVuY3Rpb24gZXhwLW1hY2xhdXJpbigkeCwgJG4pIHtcbiAgQHJldHVybiBtYXRoLmRpdihwb3coJHgsICRuKSwgZmFjdG9yaWFsKCRuKSk7XG59XG5cbkBmdW5jdGlvbiBleHAoJHZhbHVlKSB7XG4gIEByZXR1cm4gc3VtbWF0aW9uKG1ldGEuZ2V0LWZ1bmN0aW9uKFwiZXhwLW1hY2xhdXJpblwiKSwgJHZhbHVlLCAwLCAxMDApO1xufVxuXG5AZnVuY3Rpb24gbG4tbWFjbGF1cmluKCR4LCAkbikge1xuICBAcmV0dXJuIG1hdGguZGl2KHBvdygtMSwgJG4gKyAxKSwgJG4pICogKHBvdygkeCAtIDEsICRuKSk7XG59XG5cbkBmdW5jdGlvbiBzdW1tYXRpb24oJGl0ZXJhdGVlLCAkaW5wdXQsICRpbml0aWFsOiAwLCAkbGltaXQ6IDEwMCkge1xuICAkc3VtOiAwO1xuXG4gIEBmb3IgJGluZGV4IGZyb20gJGluaXRpYWwgdG8gJGxpbWl0IHtcbiAgICAkc3VtOiAkc3VtICsgbWV0YS5jYWxsKCRpdGVyYXRlZSwgJGlucHV0LCAkaW5kZXgpO1xuICB9XG5cbiAgQHJldHVybiAkc3VtO1xufVxuXG4vKiBsbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuQGZ1bmN0aW9uIGxuKCR2YWx1ZSkge1xuICAkdGVuLWV4cDogMTtcbiAgJGxuLXRlbjogMi4zMDI1ODUwOTtcblxuICBAd2hpbGUgKCR2YWx1ZSA+IHBvdygxMCwgJHRlbi1leHApKSB7XG4gICAgJHRlbi1leHA6ICR0ZW4tZXhwICsgMTtcbiAgfVxuXG4gIEByZXR1cm4gc3VtbWF0aW9uKFxuICAgICAgbWV0YS5nZXQtZnVuY3Rpb24oXCJsbi1tYWNsYXVyaW5cIiksXG4gICAgICBtYXRoLmRpdigkdmFsdWUsIHBvdygxMCwgJHRlbi1leHApKSxcbiAgICAgIDEsXG4gICAgICAxMDBcbiAgICApICsgJHRlbi1leHAgKiAkbG4tdGVuO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgdHlwZSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJzeXN0ZW1cIiB8IFwidGhlbWVcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcIi4uL2dlbmVyYWwvZXJyb3Itbm90LXRva2VuXCIgYXMgKjtcbkB1c2UgXCJpcy1zeXN0ZW0tY29sb3ItdG9rZW5cIiBhcyAqO1xuQHVzZSBcImlzLXRoZW1lLWNvbG9yLXRva2VuXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGNvbG9yLXRva2VuLXR5cGUoJHRva2VuKSB7XG4gICR0eXBlOiBpZihpcy1zeXN0ZW0tY29sb3ItdG9rZW4oJHRva2VuKSwgXCJzeXN0ZW1cIiwgZmFsc2UpO1xuICBAaWYgbm90ICR0eXBlIHtcbiAgICAkdHlwZTogaWYoaXMtdGhlbWUtY29sb3ItdG9rZW4oJHRva2VuKSwgXCJ0aGVtZVwiLCBmYWxzZSk7XG4gIH1cbiAgQGlmIG5vdCAkdHlwZSB7XG4gICAgQHJldHVybiBlcnJvci1ub3QtdG9rZW4oJHRva2VuLCBcImNvbG9yXCIpO1xuICB9XG4gIEByZXR1cm4gJHR5cGU7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdmFyaWFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB2YXJpYW50IG9mIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJ2aXZpZFwiIHwgZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybVwiKVxuPiBmYWxzZVxuY29sb3ItdG9rZW4tdmFyaWFudChcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudChcInJlZC01MHZcIilcbj4gXCJ2aXZpZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJ2aXZpZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5cbkB1c2UgXCIuL2RlY29tcG9zZS1jb2xvci10b2tlblwiIGFzICo7XG5cbkBmdW5jdGlvbiBjb2xvci10b2tlbi12YXJpYW50KCRjb2xvci10b2tlbikge1xuICAkc3BsaXQ6IGlmKFxuICAgIG1ldGEudHlwZS1vZigkY29sb3ItdG9rZW4pID09IFwibGlzdFwiLFxuICAgICRjb2xvci10b2tlbixcbiAgICBkZWNvbXBvc2UtY29sb3ItdG9rZW4oJGNvbG9yLXRva2VuKVxuICApO1xuICAkdmFyaWFudDogbGlzdC5udGgoJHNwbGl0LCAzKTtcbiAgQHJldHVybiAkdmFyaWFudDtcbn1cbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIHR3byBjb2xvclxuZ3JhZGVzLiBUYWtlcyBudW1iZXJzIG9yIGNvbG9yIHRva2Vucy5cbm1hZ2ljLW51bWJlcig1MCwgMTApXG5yZXR1cm46IDQwXG5tYWdpYy1udW1iZXIoXCJyZWQtNTBcIiwgXCJyZWQtMTBcIilcbnJldHVybjogNDBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJjYWxjdWxhdGUtZ3JhZGVcIiBhcyAqO1xuXG5AZnVuY3Rpb24gbWFnaWMtbnVtYmVyKCRncmFkZS0xLCAkZ3JhZGUtMikge1xuICAkZ3JhZGUtMTogaWYoXG4gICAgbWV0YS50eXBlLW9mKCRncmFkZS0xKSA9PSBcIm51bWJlclwiLFxuICAgICRncmFkZS0xLFxuICAgIGNhbGN1bGF0ZS1ncmFkZSgkZ3JhZGUtMSlcbiAgKTtcbiAgJGdyYWRlLTI6IGlmKFxuICAgIG1ldGEudHlwZS1vZigkZ3JhZGUtMikgPT0gXCJudW1iZXJcIixcbiAgICAkZ3JhZGUtMixcbiAgICBjYWxjdWxhdGUtZ3JhZGUoJGdyYWRlLTIpXG4gICk7XG4gICRtYWdpYy1udW1iZXI6IG1hdGguYWJzKCRncmFkZS0xIC0gJGdyYWRlLTIpO1xuICBAcmV0dXJuICRtYWdpYy1udW1iZXI7XG59XG5cbi8vIEBkZWJ1ZyBtYWdpYy1udW1iZXIoMTAwLCAzMCk7XG4vLyBAcmV0dXJuIDcwO1xuXG4vLyBAZGVidWcgbWFnaWMtbnVtYmVyKFwicmVkLTUwXCIsIFwicmVkLTEwXCIpXG4vLyBAcmV0dXJuIDQwXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB3aGV0aGVyIHR3byBncmFkZXMgYWNoaWV2ZVxuc3BlY2lmaWVkIHRhcmdldCBjb2xvciBjb250cmFzdFxuUmV0dXJuczogdHJ1ZSB8IGZhbHNlXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigxMCwgNTAsIFwiQUFcIilcbj4gZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA2MCwgXCJBQVwiKVxuPiB0cnVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwibWFnaWMtbnVtYmVyXCIgYXMgKjtcbkB1c2UgXCJ3Y2FnLW1hZ2ljLW51bWJlclwiIGFzICo7XG5cbkBmdW5jdGlvbiBpcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigkZ3JhZGUtMSwgJGdyYWRlLTIsICR3Y2FnLXRhcmdldCkge1xuICAkdGFyZ2V0LW1hZ2ljLW51bWJlcjogd2NhZy1tYWdpYy1udW1iZXIoJHdjYWctdGFyZ2V0KTtcbiAgJG1hZ2ljLW51bWJlcjogbWFnaWMtbnVtYmVyKCRncmFkZS0xLCAkZ3JhZGUtMik7XG4gIEBpZiAkbWFnaWMtbnVtYmVyID49ICR0YXJnZXQtbWFnaWMtbnVtYmVyIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG53Y2FnLW1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBtYWdpYyBudW1iZXIgb2YgYSBzcGVjaWZpY1xud2NhZyBncmFkZTpcblwiQUFcIlxuXCJBQS1MYXJnZVwiXG5cIkFBQVwiXG53Y2FnLW1hZ2ljLW51bWJlcihcIkFBXCIpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvd2NhZy1tYWdpYy1udW1iZXJzXCIgYXMgKjtcblxuQGZ1bmN0aW9uIHdjYWctbWFnaWMtbnVtYmVyKCR3Y2FnLXRhcmdldCkge1xuICAkd2NhZy1tYWdpYy1udW1iZXI6IG1hcC5nZXQoJHN5c3RlbS13Y2FnLW1hZ2ljLW51bWJlcnMsICR3Y2FnLXRhcmdldCk7XG4gIEByZXR1cm4gJHdjYWctbWFnaWMtbnVtYmVyO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhY2Nlc3NpYmxlIGxpbmsgY29sb3JzIGZvciBhIGdpdmVuXG5iYWNrZ3JvdW5kIGNvbG9yXG5yZXR1cm5zOiBsaW5rLXRva2VuLCBob3Zlci10b2tlblxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gIFwiYmxhY2tcIixcbiAgXCJyZWQtNjBcIixcbiAgXCJyZWQtMTBcIixcbiAgXCJBQVwiKVxuPiBcInJlZC0xMFwiLCBcInJlZC01XCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTYwdlwiLFxuICBcInJlZC0xMHZcIixcbiAgXCJBQS1sYXJnZVwiKVxuPiBcInJlZC02MHZcIiwgXCJyZWQtNTB2XCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTV2XCIsXG4gIFwicmVkLTYwdlwiLFxuICBcIkFBXCIpXG4+IFwicmVkLTV2XCIsIFwid2hpdGVcIlxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gIFwiYmxhY2tcIixcbiAgXCJ3aGl0ZVwiLFxuICBcInJlZC02MHZcIixcbiAgXCJBQVwiKVxuPiBcIndoaXRlXCIsIFwid2hpdGVcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5cbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCIuLi9nZW5lcmFsL2dldC1kZWZhdWx0XCIgYXMgKjtcbkB1c2UgXCIuLi9nZW5lcmFsL3N0ci1zcGxpdFwiIGFzICo7XG5AdXNlIFwiLi4vZ2VuZXJhbC9yZW1vdmVcIiBhcyAqO1xuQHVzZSBcImdldC1jb2xvci10b2tlbi1mcm9tLWJnXCIgYXMgKjtcbkB1c2UgXCJjYWxjdWxhdGUtZ3JhZGVcIiBhcyAqO1xuQHVzZSBcImRlY29tcG9zZS1jb2xvci10b2tlblwiIGFzICo7XG5AdXNlIFwiaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXJcIiBhcyAqO1xuQHVzZSBcIm5leHQtdG9rZW5cIiBhcyAqO1xuXG5AZnVuY3Rpb24gZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gICRiZy1jb2xvcjogXCJkZWZhdWx0XCIsXG4gICRwcmVmZXJyZWQtbGluay10b2tlbjogXCJkZWZhdWx0XCIsXG4gICRmYWxsYmFjay1saW5rLXRva2VuOiBcImRlZmF1bHRcIixcbiAgJHdjYWctdGFyZ2V0OiBcIkFBXCIsXG4gICRjb250ZXh0OiBmYWxzZVxuKSB7XG4gICRjb250ZXh0LXRleHQ6IGlmKCRjb250ZXh0LCBcIlsjeyRjb250ZXh0fV0gXCIsIFwiXCIpO1xuICAkaXMtZGVmYXVsdDogZmFsc2U7XG4gICRpcy1kZWZhdWx0LXByZWZlcnJlZDogZmFsc2U7XG4gICRpcy1kZWZhdWx0LWZhbGxiYWNrOiBmYWxzZTtcbiAgJGRlZmF1bHQtcmV2ZXJzZTogZmFsc2U7XG4gICRkZWZhdWx0LXN0YW5kYXJkOiBmYWxzZTtcbiAgQGlmICRiZy1jb2xvciA9PSBcImRlZmF1bHRcIiB7XG4gICAgJGJnLWNvbG9yOiBnZXQtZGVmYXVsdChcImJnLWNvbG9yXCIpO1xuICB9XG4gIEBpZiAkcHJlZmVycmVkLWxpbmstdG9rZW4gPT0gXCJkZWZhdWx0XCIge1xuICAgICRwcmVmZXJyZWQtbGluay10b2tlbjogZ2V0LWRlZmF1bHQoXCJwcmVmZXJyZWQtbGluay10b2tlblwiKTtcbiAgICAkZGVmYXVsdC1yZXZlcnNlOiB0cnVlO1xuICB9XG4gIEBpZiAkZmFsbGJhY2stbGluay10b2tlbiA9PSBcImRlZmF1bHRcIiB7XG4gICAgJGZhbGxiYWNrLWxpbmstdG9rZW46IGdldC1kZWZhdWx0KFwiZmFsbGJhY2stbGluay10b2tlblwiKTtcbiAgICAkc3RhbmRhcmQtcmV2ZXJzZTogdHJ1ZTtcbiAgfVxuICAkYmctZ3JhZGU6IGNhbGN1bGF0ZS1ncmFkZSgkYmctY29sb3IpO1xuICAkcHJlZmVycmVkLWhvdmVyLXRva2VuOiBmYWxzZTtcbiAgJGRlZmF1bHQtaG92ZXItdG9rZW46IGZhbHNlO1xuICAkYWNjZXNzaWJsZS1ob3Zlci10b2tlbjogZmFsc2U7XG4gICRhY2Nlc3NpYmxlLWxpbmstdG9rZW46IGdldC1jb2xvci10b2tlbi1mcm9tLWJnKFxuICAgICRiZy1jb2xvcixcbiAgICAkcHJlZmVycmVkLWxpbmstdG9rZW4sXG4gICAgJGZhbGxiYWNrLWxpbmstdG9rZW4sXG4gICAgJHdjYWctdGFyZ2V0LFxuICAgICRjb250ZXh0LFxuICAgICRmb3I6IFwibGlua1wiXG4gICk7XG4gICRhY2Nlc3NpYmxlLWxpbmstZ3JhZGU6IGNhbGN1bGF0ZS1ncmFkZSgkYWNjZXNzaWJsZS1saW5rLXRva2VuKTtcbiAgLy8gR2V0IHRoZSBob3ZlciBjb2xvciB0b2tlblxuICAvLyBJZiBsaW5rIGlzIGxpZ2h0ZXIgdGhhbiBiZyBzZXQgJGlzLXJldmVyc2UgdG8gdHJ1ZVxuICAkaXMtcmV2ZXJzZTogaWYoJGFjY2Vzc2libGUtbGluay1ncmFkZSA8ICRiZy1ncmFkZSwgdHJ1ZSwgZmFsc2UpO1xuICAvLyBJZiB1c2luZyBkZWZhdWx0cywgc2V0IHRoZSBkZWZhdWx0IGhvdmVyXG4gIC8vICRsaW5rLWtpbmQgaXMgdXNlZCBmb3IgZXJyb3IgbWVzc2FnaW5nXG4gICRsaW5rLWtpbmQ6IGZhbHNlO1xuICBAaWYgJGlzLXJldmVyc2Uge1xuICAgIEBpZiAkZGVmYXVsdC1yZXZlcnNlIHtcbiAgICAgICRkZWZhdWx0LWhvdmVyLXRva2VuOiAkdGhlbWUtbGluay1yZXZlcnNlLWhvdmVyLWNvbG9yO1xuICAgICAgJGxpbmsta2luZDogXCJkZWZhdWx0IHJldmVyc2VcIjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJGRlZmF1bHQtc3RhbmRhcmQge1xuICAgICRkZWZhdWx0LWhvdmVyLXRva2VuOiAkdGhlbWUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAkbGluay1raW5kOiBcImRlZmF1bHRcIjtcbiAgfVxuICBAaWYgJGRlZmF1bHQtaG92ZXItdG9rZW4ge1xuICAgICRkZWZhdWx0LWhvdmVyLWdyYWRlOiBjYWxjdWxhdGUtZ3JhZGUoJGRlZmF1bHQtaG92ZXItdG9rZW4pO1xuICAgIEBpZiBpcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcihcbiAgICAgICRkZWZhdWx0LWhvdmVyLWdyYWRlLFxuICAgICAgJGJnLWdyYWRlLFxuICAgICAgJHdjYWctdGFyZ2V0XG4gICAgKVxuICAgIHtcbiAgICAgICRhY2Nlc3NpYmxlLWhvdmVyLXRva2VuOiAkZGVmYXVsdC1ob3Zlci10b2tlbjtcbiAgICB9XG4gICAgQGlmIG5vdCAkYWNjZXNzaWJsZS1ob3Zlci10b2tlbiBhbmQgJHRoZW1lLXNob3ctY29tcGlsZS13YXJuaW5ncyB7XG4gICAgICBAd2FybiBcIiN7JGNvbnRleHQtdGV4dH1UaGUgI3skbGluay1raW5kfSBsaW5rIGhvdmVyIChgI3skZGVmYXVsdC1ob3Zlci10b2tlbn1gKSBkb2VzIG5vdCBoYXZlICN7JHdjYWctdGFyZ2V0fSBjb250cmFzdCBvbiBhICN7JGJnLWNvbG9yfSBiYWNrZ3JvdW5kLiBQbGVhc2UgdXBkYXRlIHlvdXIgcHJvamVjdCBzZXR0aW5ncy5cIjtcbiAgICB9XG4gIH1cbiAgQGlmIG5vdCAkYWNjZXNzaWJsZS1ob3Zlci10b2tlbiB7XG4gICAgJGRpcmVjdGlvbjogaWYoJGlzLXJldmVyc2UsIFwibGlnaHRlclwiLCBcImRhcmtlclwiKTtcbiAgICAkaG92ZXItdG9rZW46IG5leHQtdG9rZW4oJGFjY2Vzc2libGUtbGluay10b2tlbiwgJGRpcmVjdGlvbik7XG4gICAgLy8gVXNlIHRoZSBuZXh0IHRva2VuLCBpZiBpdCBpcyB2YWxpZFxuICAgIEBpZiAkaG92ZXItdG9rZW4ge1xuICAgICAgJGFjY2Vzc2libGUtaG92ZXItdG9rZW46ICRob3Zlci10b2tlbjtcbiAgICAgIC8vIE90aGVyd2lzZSB1c2UgdGhlIHRva2VuIGl0c2VsZiBhcyBob3ZlciwgYW5kIHdhcm4uXG4gICAgfSBAZWxzZSB7XG4gICAgICAkYWNjZXNzaWJsZS1ob3Zlci10b2tlbjogJGFjY2Vzc2libGUtbGluay10b2tlbjtcbiAgICAgIEBpZiAkdGhlbWUtc2hvdy1jb21waWxlLXdhcm5pbmdzIHtcbiAgICAgICAgQHdhcm4gXCIjeyRjb250ZXh0LXRleHR9QSBgI3skYWNjZXNzaWJsZS1ob3Zlci10b2tlbn1gIGxpbmsgZG9lcyBub3QgaGF2ZSAjeyRkaXJlY3Rpb259IGhvdmVyIGF2YWlsYWJsZS4gSG92ZXIgc2V0IHRvIGxpbmsgY29sb3IuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGFjY2Vzc2libGUtbGluay10b2tlbiwgJGFjY2Vzc2libGUtaG92ZXItdG9rZW47XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubmV4dC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIG5leHQgXCJkYXJrZXJcIiBvciBcImxpZ2h0ZXJcIiBjb2xvclxudG9rZW4gb2YgdGhlIHNhbWUgdG9rZW4gdHlwZSBhbmQgdmFyaWFudC5cblJldHVybnM6IGNvbG9yLXRva2VuIHwgZmFsc2Vcbm5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJhY2NlbnQtd2FybS1saWdodFwiXG5uZXh0LXRva2VuKFwiZ3JheS0xMFwiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTVcIlxubmV4dC10b2tlbihcImdyYXktNVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJ3aGl0ZVwiXG5uZXh0LXRva2VuKFwid2hpdGVcIiwgXCJsaWdodGVyXCIpXG4+IGZhbHNlXG5uZXh0LXRva2VuKFwicmVkLTUwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MHZcIlxubmV4dC10b2tlbihcInJlZC01MFwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MFwiXG5uZXh0LXRva2VuKFwicmVkLTgwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC05MFwiXG5uZXh0LXRva2VuKFwicmVkLTkwXCIsIFwiZGFya2VyXCIpXG4+IFwiYmxhY2tcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwiZGFya2VyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJibGFja1wiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTkwXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5cbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvbHVtaW5hbmNlLWdyYWRlLXJhbmdlc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzL3RoZW1lLWNvbG9yLWdyYWRlc1wiIGFzICo7XG5AdXNlIFwiY29sb3ItdG9rZW4tZmFtaWx5XCIgYXMgKjtcbkB1c2UgXCJjb2xvci10b2tlbi1ncmFkZVwiIGFzICo7XG5AdXNlIFwiY29sb3ItdG9rZW4tdHlwZVwiIGFzICo7XG5AdXNlIFwiY29sb3ItdG9rZW4tYXNzaWdubWVudFwiIGFzICo7XG5AdXNlIFwiZGVjb21wb3NlLWNvbG9yLXRva2VuXCIgYXMgKjtcbkB1c2UgXCJjb2xvci10b2tlbi12YXJpYW50XCIgYXMgKjtcblxuQGZ1bmN0aW9uIG5leHQtdG9rZW4oJHRva2VuLCAkZGlyZWN0aW9uKSB7XG4gICRuZXh0LXRva2VuOiBmYWxzZTtcbiAgJHR5cGU6IGNvbG9yLXRva2VuLXR5cGUoJHRva2VuKTtcbiAgJHRva2VuLXNwbGl0OiBkZWNvbXBvc2UtY29sb3ItdG9rZW4oJHRva2VuKTtcbiAgLy8gMS4gU3lzdGVtIGNhc2VcbiAgQGlmICR0eXBlID09IFwic3lzdGVtXCIge1xuICAgIC8vIHRyYW5zcGFyZW50IHRva2VucyByZXR1cm4gZG9uJ3QgaGF2ZSBhIG5leHQgdG9rZW5cbiAgICBAaWYgJHRva2VuID09IFwidHJhbnNwYXJlbnRcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBibGFjayBhbmQgd2hpdGUgdG9rZW5zIHVzZSB0aGUgZ3JheSBmYW1pbHkgZm9yIG5leHRcbiAgICAkY3VycmVudC1mYW1pbHk6IGlmKFxuICAgICAgJHRva2VuID09IFwid2hpdGVcIiBvciAkdG9rZW4gPT0gXCJibGFja1wiLFxuICAgICAgXCJncmF5XCIsXG4gICAgICBjb2xvci10b2tlbi1mYW1pbHkoJHRva2VuLXNwbGl0KVxuICAgICk7XG4gICAgLy8gYmxhY2stIGFuZCB3aGl0ZS10cmFuc3BhcmVudCB0b2tlbnMgZG9uJ3QgaGF2ZSBhIG5leHRcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRjdXJyZW50LWZhbWlseSwgXCItdHJhbnNwYXJlbnRcIikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgJGN1cnJlbnQtZ3JhZGU6IGNvbG9yLXRva2VuLWdyYWRlKCR0b2tlbi1zcGxpdCk7XG4gICAgLy8gTm90aGluZyBjYW4gYmUgZGFya2VyIHRoYW4gYmxhY2sgb3IgbGlnaHRlciB0aGFuIHdoaXRlXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJkYXJrZXJcIiBhbmQgJGN1cnJlbnQtZ3JhZGUgPT0gMTAwIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIEBpZiAkZGlyZWN0aW9uID09IFwibGlnaHRlclwiIGFuZCAkY3VycmVudC1ncmFkZSA9PSAwIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIEdyYWRlcyB1bmRlciA1IHNob3VsZCBiZSB0cmVhdGVkIGFzIDVcbiAgICBAaWYgJGN1cnJlbnQtZ3JhZGUgPiAwIGFuZCAkY3VycmVudC1ncmFkZSA8IDUge1xuICAgICAgJGN1cnJlbnQtZ3JhZGU6IDU7XG4gICAgfVxuICAgICRzeXN0ZW0tZ3JhZGUtbGlzdDogbWFwLmtleXMoJHN5c3RlbS1jb2xvci1ncmFkZXMpO1xuICAgICRjdXJyZW50LWdyYWRlLWluZGV4OiBsaXN0LmluZGV4KCRzeXN0ZW0tZ3JhZGUtbGlzdCwgJGN1cnJlbnQtZ3JhZGUpO1xuICAgIC8vIE5vdGU6IFN5c3RlbSBncmFkZXMgZ28gZnJvbSBkYXJrZXN0ICgxMDApIHRvIGxpZ2h0ZXN0ICgwKVxuICAgICRuZXh0LWdyYWRlOiBpZihcbiAgICAgICRkaXJlY3Rpb24gPT0gXCJkYXJrZXJcIixcbiAgICAgIGxpc3QubnRoKCRzeXN0ZW0tZ3JhZGUtbGlzdCwgKCRjdXJyZW50LWdyYWRlLWluZGV4IC0gMSkpLFxuICAgICAgbGlzdC5udGgoJHN5c3RlbS1ncmFkZS1saXN0LCAoJGN1cnJlbnQtZ3JhZGUtaW5kZXggKyAxKSlcbiAgICApO1xuICAgICRvdXRwdXQtZ3JhZGU6ICRuZXh0LWdyYWRlO1xuICAgIC8vIEtlZXAgdGhlIHNhbWUgdml2aWQgdmFyaWFudCBhcyB0aGUgcGFyZW50XG4gICAgLy8gTm90ZTogR3JhZGUgOTAgaGFzIG5vIHZpdmlkIHZhcmlhbnRcbiAgICBAaWYgY29sb3ItdG9rZW4tdmFyaWFudCgkdG9rZW4tc3BsaXQpID09IFwidml2aWRcIiBhbmQgKCRuZXh0LWdyYWRlIDwgOTApIHtcbiAgICAgICRvdXRwdXQtZ3JhZGU6ICRuZXh0LWdyYWRlICsgXCJ2XCI7XG4gICAgfVxuICAgIC8vIFVzZSBibGFjayBhbmQgd2hpdGUgdG9rZW5zIGZvciBncmFkZXMgMTAwIGFuZCAwLi4uXG4gICAgQGlmICRuZXh0LWdyYWRlID09IDEwMCB7XG4gICAgICAkbmV4dC10b2tlbjogXCJibGFja1wiO1xuICAgIH0gQGVsc2UgaWYgJG5leHQtZ3JhZGUgPT0gMCB7XG4gICAgICAkbmV4dC10b2tlbjogXCJ3aGl0ZVwiO1xuICAgICAgLy8gLi4uT3RoZXJ3aXNlIG91dHB1dCB0b2tlbiBpbiBleHBlY3RlZCBmb3JtXG4gICAgfSBAZWxzZSB7XG4gICAgICAkbmV4dC10b2tlbjogJGN1cnJlbnQtZmFtaWx5ICsgXCItXCIgKyAkb3V0cHV0LWdyYWRlO1xuICAgIH1cbiAgICAvLyAyLiBUaGVtZSBjYXNlXG4gIH0gQGVsc2Uge1xuICAgICRjdXJyZW50LWdyYWRlOiBjb2xvci10b2tlbi1ncmFkZSgkdG9rZW4tc3BsaXQpO1xuICAgIC8vIFZpdmlkIHRoZW1lIHRva2VuIHNob3VsZCBiZSBjb25zaWRlcmVkIHJvb3QgZm9yIG9yZGVyaW5nXG4gICAgJGN1cnJlbnQtZ3JhZGU6IGlmKCRjdXJyZW50LWdyYWRlID09IFwidml2aWRcIiwgXCJyb290XCIsICRjdXJyZW50LWdyYWRlKTtcbiAgICAkY3VycmVudC1mYW1pbHk6IGNvbG9yLXRva2VuLWZhbWlseSgkdG9rZW4tc3BsaXQpO1xuICAgIC8vIEluayBzaG91bGQgYmUgY29uc2lkZXJlZCBiYXNlLWRhcmtlc3RcbiAgICAvLyBUT0RPOiBTaG91bGQgaXQ/XG4gICAgQGlmICR0b2tlbiA9PSBcImlua1wiIHtcbiAgICAgICRjdXJyZW50LWZhbWlseTogXCJiYXNlXCI7XG4gICAgICAkY3VycmVudC1ncmFkZTogXCJkYXJrZXN0XCI7XG4gICAgfVxuICAgIC8vIEJsYWNrIGlzIGRhcmtlciB0aGFuIGRhcmtlc3RcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcImRhcmtlclwiIGFuZCAkY3VycmVudC1ncmFkZSA9PSBcImRhcmtlc3RcIiB7XG4gICAgICBAcmV0dXJuIFwiYmxhY2tcIjtcbiAgICB9XG4gICAgLy8gV2hpdGUgaXMgbGlnaHRlciB0aGFuIGxpZ2h0ZXN0XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJsaWdodGVyXCIgYW5kICRjdXJyZW50LWdyYWRlID09IFwibGlnaHRlc3RcIiB7XG4gICAgICBAcmV0dXJuIFwid2hpdGVcIjtcbiAgICB9XG4gICAgJHRoZW1lLWdyYWRlLWxpc3Q6IG1hcC5rZXlzKCR0aGVtZS1jb2xvci1ncmFkZXMpO1xuICAgICRjdXJyZW50LWdyYWRlLWluZGV4OiBsaXN0LmluZGV4KCR0aGVtZS1ncmFkZS1saXN0LCAkY3VycmVudC1ncmFkZSk7XG4gICAgLy8gTm90ZTogVGhlbWUgZ3JhZGVzIGdvIGZyb20gYGxpZ2h0ZXN0YCB0byBgZGFya2VzdGBcbiAgICAkbmV4dC1ncmFkZTogaWYoXG4gICAgICAkZGlyZWN0aW9uID09IFwiZGFya2VyXCIsXG4gICAgICBsaXN0Lm50aCgkdGhlbWUtZ3JhZGUtbGlzdCwgKCRjdXJyZW50LWdyYWRlLWluZGV4ICsgMSkpLFxuICAgICAgbGlzdC5udGgoJHRoZW1lLWdyYWRlLWxpc3QsICgkY3VycmVudC1ncmFkZS1pbmRleCAtIDEpKVxuICAgICk7XG4gICAgLy8gRXhjbHVkZSBgcm9vdGAgZnJvbSB0b2tlbiBvdXRwdXRcbiAgICBAaWYgJG5leHQtZ3JhZGUgPT0gXCJyb290XCIge1xuICAgICAgQHJldHVybiAkY3VycmVudC1mYW1pbHk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkbmV4dC10b2tlbjogJGN1cnJlbnQtZmFtaWx5ICsgXCItXCIgKyAkbmV4dC1ncmFkZTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIG5leHQgY29sb3IgaXMgc2V0IHRvIGZhbHNlLCB1c2UgYmxhY2svd2hpdGUgaW5zdGVhZFxuICAgIEBpZiBub3QgY29sb3ItdG9rZW4tYXNzaWdubWVudCgkbmV4dC10b2tlbikge1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gXCJkYXJrZXJcIiB7XG4gICAgICAgIEByZXR1cm4gXCJibGFja1wiO1xuICAgICAgfVxuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gXCJsaWdodGVyXCIge1xuICAgICAgICBAcmV0dXJuIFwid2hpdGVcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbmV4dC10b2tlbjtcbn1cblxuLy8gQGRlYnVnIG5leHQtdG9rZW4oXCJncmF5LTEwXCIsIFwibGlnaHRlclwiKTtcbi8vIEByZXR1cm4gZ3JheS01O1xuXG4vLyBAZGVidWcgbmV4dC10b2tlbihcInJlZC04MHZcIiwgXCJkYXJrZXJcIik7XG4vLyBAcmV0dXJuIHJlZC05MDtcblxuLy8gQGRlYnVnIG5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIik7XG4vLyBAcmV0dXJuIGFjY2VudC13YXJtLWxpZ2h0O1xuXG4vLyBAZGVidWcgbmV4dC10b2tlbihcIndoaXRlXCIsIFwibGlnaHRlclwiKTtcbi8vIEByZXR1cm4gZmFsc2U7XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcImRlY29tcG9zZS1jb2xvci10b2tlblwiIGFzICo7XG5AdXNlIFwibHVtaW5hbmNlXCIgYXMgKjtcbkB1c2UgXCJjYWxjdWxhdGUtZ3JhZGVcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9sdW1pbmFuY2UtZ3JhZGUtcmFuZ2VzXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QtY29sb3JzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNoZWNrIHRvIHNlZSBpZiBhbGwgc3lzdGVtIGNvbG9yc1xuZmFsbCBiZXR3ZWVuIHRoZSBwcm9wZXIgcmVsYXRpdmVcbmx1bWluYW5jZSByYW5nZSBmb3IgdGhlaXIgZ3JhZGUuXG5IYXMgYSBjb3VwbGUgcXVpcmtzLCBhcyB0aGUgbHVtaW5hbmNlKClcbmZ1bmN0aW9uIHJldHVybnMgc2xpZ2h0bHkgZGlmZmVyZW50XG5yZXN1bHRzIHRoYW4gZXhwZWN0ZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gdGVzdC1jb2xvcnMoJG1hcCkge1xuICAkZXhjZXB0aW9uczogXCJibGFja1wiLCBcIndoaXRlXCIsIFwidHJhbnNwYXJlbnRcIiwgXCJibGFjay10cmFuc3BhcmVudFwiLFxuICAgIFwid2hpdGUtdHJhbnNwYXJlbnRcIjtcblxuICBAZWFjaCAkdG9rZW4sICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkZmFtaWx5OiBsaXN0Lm50aChkZWNvbXBvc2UtY29sb3ItdG9rZW4oJHRva2VuKSwgMSk7XG4gICAgJGdyYWRlOiBsaXN0Lm50aChkZWNvbXBvc2UtY29sb3ItdG9rZW4oJHRva2VuKSwgMik7XG5cbiAgICBAaWYgbm90ICR2YWx1ZSB7XG4gICAgICAvLyBlbXB0eSBibG9ja1xuICAgIH0gQGVsc2UgaWYgbm90IGxpc3QuaW5kZXgoJGV4Y2VwdGlvbnMsICRmYW1pbHkpIHtcbiAgICAgICRjb21wdXRlZDogY2FsY3VsYXRlLWdyYWRlKCR2YWx1ZSk7XG4gICAgICBAZGVidWcgXCJDaGVja2VkICN7JGZhbWlseX0tI3skZ3JhZGV9XCI7XG4gICAgICBAaWYgJGdyYWRlIDw9IDUge1xuICAgICAgICAvLyBlbXB0eSBibG9ja1xuICAgICAgfSBAZWxzZSBpZiAkY29tcHV0ZWQgIT0gJGdyYWRlIHtcbiAgICAgICAgQHdhcm4gXCIjeyR0b2tlbn0gKCN7JHZhbHVlfSkgbHVtOiAje2x1bWluYW5jZSgkdmFsdWUpfSBpcyBub3QgaW4gdGhlIHJhbmdlICN7bWFwLmdldCgkc3lzdGVtLWNvbG9yLWdyYWRlcywgJGdyYWRlKX1cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIDE7XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWxcIjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbHVtbnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3V0cHV0cyBhIGdyaWQtY29sIG51bWJlciBiYXNlZCBvblxudGhlIG51bWJlciBvZiBkZXNpcmVkIGNvbHVtbnMgaW4gdGhlXG4xMi1jb2x1bW4gZ3JpZFxuXG5FeDogY29sdW1ucygyKSAtLT4gNlxuICAgIGdyaWQtY29sKGNvbHVtbnMoMikpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gY29sdW1ucygkbnVtYmVyKSB7XG4gICRvcHRpb25zOiBcImF1dG9cIiwgXCJmaWxsXCI7XG4gICRudW1iZXI6IGdlbmVyYWwuc21hcnQtcXVvdGUoJG51bWJlcik7XG5cbiAgQGlmIGxpc3QuaW5kZXgoJG9wdGlvbnMsICRudW1iZXIpIHtcbiAgICBAcmV0dXJuICRudW1iZXI7XG4gIH1cbiAgQGlmIDEyICUgJG51bWJlciAhPSAwIHtcbiAgICBAZXJyb3IgJ2AjeyRudW1iZXJ9YCBtdXN0IGJlIGEgZGl2aXNvciBvZiAxMi4nO1xuICB9XG4gICRjb2x1bW5zOiBtYXRoLmRpdigxMiwgJG51bWJlcik7XG4gIEByZXR1cm4gJGNvbHVtbnM7XG59XG5cbi8vIEBkZWJ1ZyBjb2x1bW5zKDIpO1xuLy8gQHJldHVybiA2O1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblVTV0RTIFByb3BlcnRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkB1c2UgXCIuL2Z1bmN0aW9ucy9nZW5lcmFsL21hcC1jb2xsZWN0XCIgYXMgKjtcbkB1c2UgXCIuL2Z1bmN0aW9ucy91bml0cy91bml0c1wiIGFzICo7XG5AdXNlIFwiLi9mdW5jdGlvbnMvdW5pdHMvc3BhY2luZy1tdWx0aXBsZVwiIGFzICo7XG5AdXNlIFwiLi9mdW5jdGlvbnMvdXRpbGl0aWVzL2xpbmUtaGVpZ2h0XCIgYXMgKjtcbi8vIFRPRE86IF5eXiBzL2IgXCJmdW5jdGlvbnMvdXRpbGl0aWVzL3VuaXRzXCJcblxuLy8gPyBUaGlzIGZpbGUgdXNlczpcbi8vIFwic2hvcnRjb2Rlcy1jb2xvci10aGVtZVwiO1xuLy8gXCJzaG9ydGNvZGVzLWNvbG9yLXN0YXRlXCI7XG4vLyBcInNob3J0Y29kZXMtY29sb3ItYmFzaWNcIjtcbi8vIFwiZ2xvYmFsXCI7XG4vLyBcInN5c3RlbS1jb2xvcnNcIjtcbkB1c2UgXCIuL3Rva2Vucy9jb2xvclwiIGFzICo7XG5cbkB1c2UgXCIuL3Rva2Vucy91bml0cy9jb2x1bW4tZ2Fwc1wiIGFzICo7XG5AdXNlIFwiLi90b2tlbnMvdW5pdHMvc3BhY2luZ1wiIGFzICo7XG5AdXNlIFwiLi90b2tlbnMvdW5pdHMvc3BhY2luZy1lbVwiIGFzICo7XG4vLyBUT0RPOiBeXl4gJ3NwYWNpbmcnP1xuXG5AdXNlIFwiLi90b2tlbnMvZm9udC9tZWFzdXJlXCIgYXMgKjtcbi8vIFRPRE86IF5eXiAndHlwb2dyYXBoeSc/XG5cbkB1c2UgXCIuL3ZhcmlhYmxlcy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCIuL3ZhcmlhYmxlcy9wcm9qZWN0LWZvbnQtc3RhY2tzXCIgYXMgKjtcbi8vIFRPRE86IF5eXiB3aHkgJ3Byb2plY3QnIGFuZCB3aHkgbm90P1xuXG5AdXNlIFwiLi9zZXR0aW5nc1wiIGFzICo7XG5cbiRzdGFuZGFyZC1jb2xvcnM6IG1hcC1jb2xsZWN0KFxuICAkdG9rZW5zLWNvbG9yLXRoZW1lLFxuICAkdG9rZW5zLWNvbG9yLXN0YXRlLFxuICAkdG9rZW5zLWNvbG9yLWdsb2JhbFxuKTtcblxuJGV4dGVuZGVkLWNvbG9yczogbWFwLWNvbGxlY3QoJHN5c3RlbS1jb2xvcnMsICR0b2tlbnMtY29sb3ItYmFzaWMpO1xuXG4kcGFydGlhbC12YWx1ZXM6IChcbiAgemVyby16ZXJvOiAoXG4gICAgMDogMCxcbiAgKSxcbiAgbm9uZTogKFxuICAgIFwibm9uZVwiOiBub25lLFxuICApLFxuICBhdXRvOiAoXG4gICAgXCJhdXRvXCI6IGF1dG8sXG4gICksXG4gIGZ1bGwtcGVyY2VudDogKFxuICAgIFwiZnVsbFwiOiAxMDAlLFxuICApLFxuICBmdWxsLXZpZXdwb3J0LWhlaWdodDogKFxuICAgIFwidmlld3BvcnRcIjogMTAwdmgsXG4gICksXG4gIGZ1bGwtdmlld3BvcnQtd2lkdGg6IChcbiAgICBcInZpZXdwb3J0XCI6IDEwMHZ3LFxuICApLFxuKTtcblxuJHN5c3RlbS1wcm9wZXJ0aWVzOiAoXG4gIGFsaWduLWl0ZW1zOiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwiYWxpZ24tc3RhcnRcIjogZmxleC1zdGFydCxcbiAgICAgIFwiYWxpZ24tZW5kXCI6IGZsZXgtZW5kLFxuICAgICAgXCJhbGlnbi1jZW50ZXJcIjogY2VudGVyLFxuICAgICAgXCJhbGlnbi1zdHJldGNoXCI6IHN0cmV0Y2gsXG4gICAgICBcImFsaWduLWJhc2VsaW5lXCI6IGJhc2VsaW5lLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBhbGlnbi1zZWxmOiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwiYWxpZ24tc2VsZi1zdGFydFwiOiBmbGV4LXN0YXJ0LFxuICAgICAgXCJhbGlnbi1zZWxmLWVuZFwiOiBmbGV4LWVuZCxcbiAgICAgIFwiYWxpZ24tc2VsZi1jZW50ZXJcIjogY2VudGVyLFxuICAgICAgXCJhbGlnbi1zZWxmLXN0cmV0Y2hcIjogc3RyZXRjaCxcbiAgICAgIFwiYWxpZ24tc2VsZi1iYXNlbGluZVwiOiBiYXNlbGluZSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgYmFja2dyb3VuZC1jb2xvcjogKFxuICAgIHN0YW5kYXJkOiAkc3RhbmRhcmQtY29sb3JzLFxuICAgIGV4dGVuZGVkOiAkZXh0ZW5kZWQtY29sb3JzLFxuICApLFxuICBib3JkZXI6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpLFxuICAgICAgICAoXG4gICAgICAgICAgXCJub1ZhbHVlXCI6IDFweCxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGJvcmRlci1jb2xvcjogKFxuICAgIHN0YW5kYXJkOiAkc3RhbmRhcmQtY29sb3JzLFxuICAgIGV4dGVuZGVkOiAkZXh0ZW5kZWQtY29sb3JzLFxuICApLFxuICBib3JkZXItcmFkaXVzOiAoXG4gICAgc3RhbmRhcmQ6ICRwcm9qZWN0LWJvcmRlci1yYWRpdXMsXG4gICAgZXh0ZW5kZWQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIilcbiAgICAgICksXG4gICksXG4gIGJvcmRlci1zdHlsZTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImRhc2hlZFwiOiBkYXNoZWQsXG4gICAgICBcImRvdHRlZFwiOiBkb3R0ZWQsXG4gICAgICBcInNvbGlkXCI6IHNvbGlkLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBib3JkZXItd2lkdGg6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgYm90dG9tOiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXItbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImF1dG9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImZ1bGwtcGVyY2VudFwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGJveC1zaGFkb3c6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJub25lXCI6IG5vbmUsXG4gICAgICAxOiAwIHVuaXRzKDFweCkgdW5pdHMoMC41KSAwIHJnYmEoMCwgMCwgMCwgMC4xKSxcbiAgICAgIDI6IDAgdW5pdHMoMC41KSB1bml0cygxKSAwIHJnYmEoMCwgMCwgMCwgMC4xKSxcbiAgICAgIDM6IDAgdW5pdHMoMSkgdW5pdHMoMikgMCByZ2JhKDAsIDAsIDAsIDAuMSksXG4gICAgICA0OiAwIHVuaXRzKDEuNSkgdW5pdHMoMykgMCByZ2JhKDAsIDAsIDAsIDAuMSksXG4gICAgICA1OiAwIHVuaXRzKDIpIHVuaXRzKDQpIDAgcmdiYSgwLCAwLCAwLCAwLjEpLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBicmVha3BvaW50czogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlc3RcIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBjaXJjbGU6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZVwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGNvbG9yOiAoXG4gICAgc3RhbmRhcmQ6ICRzdGFuZGFyZC1jb2xvcnMsXG4gICAgZXh0ZW5kZWQ6ICRleHRlbmRlZC1jb2xvcnMsXG4gICksXG4gIGN1cnNvcjogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImF1dG9cIjogYXV0byxcbiAgICAgIFwiZGVmYXVsdFwiOiBkZWZhdWx0LFxuICAgICAgXCJwb2ludGVyXCI6IHBvaW50ZXIsXG4gICAgICBcIndhaXRcIjogd2FpdCxcbiAgICAgIFwibW92ZVwiOiBtb3ZlLFxuICAgICAgXCJub3QtYWxsb3dlZFwiOiBub3QtYWxsb3dlZCxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgZGlzcGxheTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImJsb2NrXCI6IGJsb2NrLFxuICAgICAgXCJmbGV4XCI6IGZsZXgsXG4gICAgICBcIm5vbmVcIjogbm9uZSxcbiAgICAgIFwiaW5saW5lXCI6IGlubGluZSxcbiAgICAgIFwiaW5saW5lLWJsb2NrXCI6IGlubGluZS1ibG9jayxcbiAgICAgIFwiaW5saW5lLWZsZXhcIjogaW5saW5lLWZsZXgsXG4gICAgICBcInRhYmxlXCI6IHRhYmxlLFxuICAgICAgXCJ0YWJsZS1jZWxsXCI6IHRhYmxlLWNlbGwsXG4gICAgICBcInRhYmxlLXJvd1wiOiB0YWJsZS1yb3csXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGZsZXg6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgMTogMSAxIDAlLFxuICAgICAgMjogMiAxIDAlLFxuICAgICAgMzogMyAxIDAlLFxuICAgICAgNDogNCAxIDAlLFxuICAgICAgNTogNSAxIDAlLFxuICAgICAgNjogNiAxIDAlLFxuICAgICAgNzogNyAxIDAlLFxuICAgICAgODogOCAxIDAlLFxuICAgICAgOTogOSAxIDAlLFxuICAgICAgMTA6IDEwIDEgMCUsXG4gICAgICAxMTogMTEgMSAwJSxcbiAgICAgIDEyOiAxMiAxIDAlLFxuICAgICAgXCJmaWxsXCI6IDEgMSAwJSxcbiAgICAgIFwiYXV0b1wiOiAwIDEgYXV0byxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgZmxleC1kaXJlY3Rpb246IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJyb3dcIjogcm93LFxuICAgICAgXCJjb2x1bW5cIjogY29sdW1uLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBmbGV4LXdyYXA6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJ3cmFwXCI6IHdyYXAsXG4gICAgICBcIm5vLXdyYXBcIjogbm93cmFwLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBmbG9hdDogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImxlZnRcIjogbGVmdCxcbiAgICAgIFwibm9uZVwiOiBub25lLFxuICAgICAgXCJyaWdodFwiOiByaWdodCxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgZm9udC1mYW1pbHk6IChcbiAgICBzdGFuZGFyZDogJHByb2plY3QtZm9udC1zdGFja3MsXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJ0YWJ1bGFyXCI6IHN0cmluZy51bnF1b3RlKCdcInRudW1cIiAxLCBcImtlcm5cIiAxJyksXG4gICAgICBcIm5vLXRhYnVsYXJcIjogc3RyaW5nLnVucXVvdGUoJ1wia2VyblwiIDEnKSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgZm9udC1zdHlsZTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcIml0YWxpY1wiOiBpdGFsaWMsXG4gICAgICBcIm5vLWl0YWxpY1wiOiBub3JtYWwsXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGZvbnQtd2VpZ2h0OiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwidGhpblwiOiAkdGhlbWUtZm9udC13ZWlnaHQtdGhpbixcbiAgICAgIFwibGlnaHRcIjogJHRoZW1lLWZvbnQtd2VpZ2h0LWxpZ2h0LFxuICAgICAgXCJub3JtYWxcIjogbm9ybWFsLFxuICAgICAgXCJtZWRpdW1cIjogJHRoZW1lLWZvbnQtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIFwic2VtaWJvbGRcIjogJHRoZW1lLWZvbnQtd2VpZ2h0LXNlbWlib2xkLFxuICAgICAgXCJib2xkXCI6ICR0aGVtZS1mb250LXdlaWdodC1ib2xkLFxuICAgICAgXCJoZWF2eVwiOiAkdGhlbWUtZm9udC13ZWlnaHQtaGVhdnksXG4gICAgKSxcbiAgICBleHRlbmRlZDogKFxuICAgICAgMTAwOiAxMDAsXG4gICAgICAyMDA6IDIwMCxcbiAgICAgIDMwMDogMzAwLFxuICAgICAgNDAwOiA0MDAsXG4gICAgICA1MDA6IDUwMCxcbiAgICAgIDYwMDogNjAwLFxuICAgICAgNzAwOiA3MDAsXG4gICAgICA4MDA6IDgwMCxcbiAgICAgIDkwMDogOTAwLFxuICAgICksXG4gICksXG4gIGdhcDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgICRzeXN0ZW0tY29sdW1uLWdhcHMsXG4gICAgICAgIChcbiAgICAgICAgICBcInNtXCI6ICR0aGVtZS1jb2x1bW4tZ2FwLXNtLFxuICAgICAgICAgIFwibWRcIjogJHRoZW1lLWNvbHVtbi1nYXAtbWQsXG4gICAgICAgICAgXCJsZ1wiOiAkdGhlbWUtY29sdW1uLWdhcC1sZyxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGhlaWdodDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImF1dG9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImZ1bGwtcGVyY2VudFwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiZnVsbC12aWV3cG9ydC1oZWlnaHRcIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBqdXN0aWZ5LWNvbnRlbnQ6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJqdXN0aWZ5LWNlbnRlclwiOiBjZW50ZXIsXG4gICAgICBcImp1c3RpZnktc3RhcnRcIjogZmxleC1zdGFydCxcbiAgICAgIFwianVzdGlmeS1lbmRcIjogZmxleC1lbmQsXG4gICAgICBcImp1c3RpZnlcIjogc3BhY2UtYmV0d2VlbixcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgbGVmdDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbC1uZWdhdGl2ZVwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJhdXRvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgbGV0dGVyLXNwYWNpbmc6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJscy1hdXRvXCI6IGluaXRpYWwsXG4gICAgICBcImxzLW5lZy0zXCI6IC0wLjAzZW0sXG4gICAgICBcImxzLW5lZy0yXCI6IC0wLjAyZW0sXG4gICAgICBcImxzLW5lZy0xXCI6IC0wLjAxZW0sXG4gICAgICBcImxzLTFcIjogMC4wMjVlbSxcbiAgICAgIFwibHMtMlwiOiAwLjFlbSxcbiAgICAgIFwibHMtM1wiOiAwLjE1ZW0sXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICAgZnVuY3Rpb246IChcbiAgICAgIFwiYXV0b1wiOiBpbml0aWFsLFxuICAgICAgLTM6IC0wLjAzZW0sXG4gICAgICAtMjogLTAuMDJlbSxcbiAgICAgIC0xOiAtMC4wMWVtLFxuICAgICAgMTogMC4wMjVlbSxcbiAgICAgIDI6IDAuMWVtLFxuICAgICAgMzogMC4xNWVtLFxuICAgICksXG4gICksXG4gIGxpbmUtaGVpZ2h0OiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwic2Fucy0xXCI6IGxoKFwic2Fuc1wiLCAxKSxcbiAgICAgIFwic2Fucy0yXCI6IGxoKFwic2Fuc1wiLCAyKSxcbiAgICAgIFwic2Fucy0zXCI6IGxoKFwic2Fuc1wiLCAzKSxcbiAgICAgIFwic2Fucy00XCI6IGxoKFwic2Fuc1wiLCA0KSxcbiAgICAgIFwic2Fucy01XCI6IGxoKFwic2Fuc1wiLCA1KSxcbiAgICAgIFwic2Fucy02XCI6IGxoKFwic2Fuc1wiLCA2KSxcbiAgICAgIFwic2VyaWYtMVwiOiBsaChcInNlcmlmXCIsIDEpLFxuICAgICAgXCJzZXJpZi0yXCI6IGxoKFwic2VyaWZcIiwgMiksXG4gICAgICBcInNlcmlmLTNcIjogbGgoXCJzZXJpZlwiLCAzKSxcbiAgICAgIFwic2VyaWYtNFwiOiBsaChcInNlcmlmXCIsIDQpLFxuICAgICAgXCJzZXJpZi01XCI6IGxoKFwic2VyaWZcIiwgNSksXG4gICAgICBcInNlcmlmLTZcIjogbGgoXCJzZXJpZlwiLCA2KSxcbiAgICAgIFwibW9uby0xXCI6IGxoKFwibW9ub1wiLCAxKSxcbiAgICAgIFwibW9uby0yXCI6IGxoKFwibW9ub1wiLCAyKSxcbiAgICAgIFwibW9uby0zXCI6IGxoKFwibW9ub1wiLCAzKSxcbiAgICAgIFwibW9uby00XCI6IGxoKFwibW9ub1wiLCA0KSxcbiAgICAgIFwibW9uby01XCI6IGxoKFwibW9ub1wiLCA1KSxcbiAgICAgIFwibW9uby02XCI6IGxoKFwibW9ub1wiLCA2KSxcbiAgICAgIFwiY29uZC0xXCI6IGxoKFwiY29uZFwiLCAxKSxcbiAgICAgIFwiY29uZC0yXCI6IGxoKFwiY29uZFwiLCAyKSxcbiAgICAgIFwiY29uZC0zXCI6IGxoKFwiY29uZFwiLCAzKSxcbiAgICAgIFwiY29uZC00XCI6IGxoKFwiY29uZFwiLCA0KSxcbiAgICAgIFwiY29uZC01XCI6IGxoKFwiY29uZFwiLCA1KSxcbiAgICAgIFwiY29uZC02XCI6IGxoKFwiY29uZFwiLCA2KSxcbiAgICAgIFwiaGVhZGluZy0xXCI6IGxoKFwiaGVhZGluZ1wiLCAxKSxcbiAgICAgIFwiaGVhZGluZy0yXCI6IGxoKFwiaGVhZGluZ1wiLCAyKSxcbiAgICAgIFwiaGVhZGluZy0zXCI6IGxoKFwiaGVhZGluZ1wiLCAzKSxcbiAgICAgIFwiaGVhZGluZy00XCI6IGxoKFwiaGVhZGluZ1wiLCA0KSxcbiAgICAgIFwiaGVhZGluZy01XCI6IGxoKFwiaGVhZGluZ1wiLCA1KSxcbiAgICAgIFwiaGVhZGluZy02XCI6IGxoKFwiaGVhZGluZ1wiLCA2KSxcbiAgICAgIFwidWktMVwiOiBsaChcInVpXCIsIDEpLFxuICAgICAgXCJ1aS0yXCI6IGxoKFwidWlcIiwgMiksXG4gICAgICBcInVpLTNcIjogbGgoXCJ1aVwiLCAzKSxcbiAgICAgIFwidWktNFwiOiBsaChcInVpXCIsIDQpLFxuICAgICAgXCJ1aS01XCI6IGxoKFwidWlcIiwgNSksXG4gICAgICBcInVpLTZcIjogbGgoXCJ1aVwiLCA2KSxcbiAgICAgIFwiYm9keS0xXCI6IGxoKFwiYm9keVwiLCAxKSxcbiAgICAgIFwiYm9keS0yXCI6IGxoKFwiYm9keVwiLCAyKSxcbiAgICAgIFwiYm9keS0zXCI6IGxoKFwiYm9keVwiLCAzKSxcbiAgICAgIFwiYm9keS00XCI6IGxoKFwiYm9keVwiLCA0KSxcbiAgICAgIFwiYm9keS01XCI6IGxoKFwiYm9keVwiLCA1KSxcbiAgICAgIFwiYm9keS02XCI6IGxoKFwiYm9keVwiLCA2KSxcbiAgICAgIFwiY29kZS0xXCI6IGxoKFwiY29kZVwiLCAxKSxcbiAgICAgIFwiY29kZS0yXCI6IGxoKFwiY29kZVwiLCAyKSxcbiAgICAgIFwiY29kZS0zXCI6IGxoKFwiY29kZVwiLCAzKSxcbiAgICAgIFwiY29kZS00XCI6IGxoKFwiY29kZVwiLCA0KSxcbiAgICAgIFwiY29kZS01XCI6IGxoKFwiY29kZVwiLCA1KSxcbiAgICAgIFwiY29kZS02XCI6IGxoKFwiY29kZVwiLCA2KSxcbiAgICAgIFwiYWx0LTFcIjogbGgoXCJhbHRcIiwgMSksXG4gICAgICBcImFsdC0yXCI6IGxoKFwiYWx0XCIsIDIpLFxuICAgICAgXCJhbHQtM1wiOiBsaChcImFsdFwiLCAzKSxcbiAgICAgIFwiYWx0LTRcIjogbGgoXCJhbHRcIiwgNCksXG4gICAgICBcImFsdC01XCI6IGxoKFwiYWx0XCIsIDUpLFxuICAgICAgXCJhbHQtNlwiOiBsaChcImFsdFwiLCA2KSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoXG4gICAgICAxOiAxLFxuICAgICAgMjogMS4xLFxuICAgICAgMzogMS4zNSxcbiAgICAgIDQ6IDEuNSxcbiAgICAgIDU6IDEuNjIsXG4gICAgICA2OiAxLjc1LFxuICAgICksXG4gICksXG4gIG1hcmdpbjogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXItbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLWVtLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBtYXJnaW4taG9yaXpvbnRhbDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbC1uZWdhdGl2ZVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZy1lbSwgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJhdXRvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgbWFyZ2luLXZlcnRpY2FsOiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXItbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW0tbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcIm1lZGl1bVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmctZW0sIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiYXV0b1wiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIG1heC1oZWlnaHQ6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibGFyZ2VyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJub25lXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJmdWxsLXZpZXdwb3J0LWhlaWdodFwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIG1heC13aWR0aDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlc3RcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcIm5vbmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImZ1bGwtcGVyY2VudFwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIG1lYXN1cmU6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgMTogJHN5c3RlbS1tZWFzdXJlLXNtYWxsZXIsXG4gICAgICAyOiAkc3lzdGVtLW1lYXN1cmUtc21hbGwsXG4gICAgICAzOiAkc3lzdGVtLW1lYXN1cmUtYmFzZSxcbiAgICAgIDQ6ICRzeXN0ZW0tbWVhc3VyZS1sYXJnZSxcbiAgICAgIDU6ICRzeXN0ZW0tbWVhc3VyZS1sYXJnZXIsXG4gICAgICA2OiAkc3lzdGVtLW1lYXN1cmUtbGFyZ2VzdCxcbiAgICAgIFwibm9uZVwiOiBub25lLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBtaW4taGVpZ2h0OiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcIm1lZGl1bVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibGFyZ2VcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlclwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJmdWxsLXBlcmNlbnRcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImZ1bGwtdmlld3BvcnQtaGVpZ2h0XCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgbWluLXdpZHRoOiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcIm1lZGl1bVwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgb3BhY2l0eTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICAwOiAwLFxuICAgICAgMTA6IDAuMSxcbiAgICAgIDIwOiAwLjIsXG4gICAgICAzMDogMC4zLFxuICAgICAgNDA6IDAuNCxcbiAgICAgIDUwOiAwLjUsXG4gICAgICA2MDogMC42LFxuICAgICAgNzA6IDAuNyxcbiAgICAgIDgwOiAwLjgsXG4gICAgICA5MDogMC45LFxuICAgICAgMTAwOiAxLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBvcmRlcjogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImZpcnN0XCI6IC0xLFxuICAgICAgXCJsYXN0XCI6IDk5OSxcbiAgICAgIFwiaW5pdGlhbFwiOiBpbml0aWFsLFxuICAgICAgMDogMCxcbiAgICAgIDE6IDEsXG4gICAgICAyOiAyLFxuICAgICAgMzogMyxcbiAgICAgIDQ6IDQsXG4gICAgICA1OiA1LFxuICAgICAgNjogNixcbiAgICAgIDc6IDcsXG4gICAgICA4OiA4LFxuICAgICAgOTogOSxcbiAgICAgIDEwOiAxMCxcbiAgICAgIDExOiAxMSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgb3V0bGluZTogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgKFxuICAgICAgICAgIFwiMDVcIjogc3BhY2luZy1tdWx0aXBsZSgwLjUpLFxuICAgICAgICApXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgb3V0bGluZS1jb2xvcjogKFxuICAgIHN0YW5kYXJkOiBtYXAtY29sbGVjdCgkdG9rZW5zLWNvbG9yLWdsb2JhbCksXG4gICAgZXh0ZW5kZWQ6ICRleHRlbmRlZC1jb2xvcnMsXG4gICksXG4gIG92ZXJmbG93OiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwiaGlkZGVuXCI6IGhpZGRlbixcbiAgICAgIFwic2Nyb2xsXCI6IHNjcm9sbCxcbiAgICAgIFwiYXV0b1wiOiBhdXRvLFxuICAgICAgXCJ2aXNpYmxlXCI6IHZpc2libGUsXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHBhZGRpbmc6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBwb3NpdGlvbjogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImFic29sdXRlXCI6IGFic29sdXRlLFxuICAgICAgXCJmaXhlZFwiOiBmaXhlZCxcbiAgICAgIFwicmVsYXRpdmVcIjogcmVsYXRpdmUsXG4gICAgICBcInN0YXRpY1wiOiBzdGF0aWMsXG4gICAgICBcInN0aWNreVwiOiBzdGlja3ksXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHJpZ2h0OiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXItbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImF1dG9cIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBzcXVhcmU6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZVwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHRleHQtYWxpZ246IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJjZW50ZXJcIjogY2VudGVyLFxuICAgICAgXCJsZWZ0XCI6IGxlZnQsXG4gICAgICBcImp1c3RpZnlcIjoganVzdGlmeSxcbiAgICAgIFwicmlnaHRcIjogcmlnaHQsXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHRleHQtZGVjb3JhdGlvbjogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcInN0cmlrZVwiOiBsaW5lLXRocm91Z2gsXG4gICAgICBcInVuZGVybGluZVwiOiB1bmRlcmxpbmUsXG4gICAgICBcIm5vLXVuZGVybGluZVwiOiBub25lLFxuICAgICAgXCJuby1zdHJpa2VcIjogbm9uZSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAoXG4gICAgc3RhbmRhcmQ6IG1hcC1jb2xsZWN0KCRzdGFuZGFyZC1jb2xvcnMsIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImF1dG9cIikpLFxuICAgIGV4dGVuZGVkOiAkZXh0ZW5kZWQtY29sb3JzLFxuICApLFxuICB0ZXh0LWluZGVudDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcIm1lZGl1bS1uZWdhdGl2ZVwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHRleHQtdHJhbnNmb3JtOiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwidXBwZXJjYXNlXCI6IHVwcGVyY2FzZSxcbiAgICAgIFwibm8tdXBwZXJjYXNlXCI6IG5vbmUsXG4gICAgICBcImxvd2VyY2FzZVwiOiBsb3dlcmNhc2UsXG4gICAgICBcIm5vLWxvd2VyY2FzZVwiOiBub25lLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICB0b3A6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlci1uZWdhdGl2ZVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGwtbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiYXV0b1wiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHZlcnRpY2FsLWFsaWduOiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwiYmFzZWxpbmVcIjogYmFzZWxpbmUsXG4gICAgICBcImJvdHRvbVwiOiBib3R0b20sXG4gICAgICBcIm1pZGRsZVwiOiBtaWRkbGUsXG4gICAgICBcInN1YlwiOiBzdWIsXG4gICAgICBcInN1cGVyXCI6IHN1cGVyLFxuICAgICAgXCJ0Ym90dG9tXCI6IHRleHQtYm90dG9tLFxuICAgICAgXCJ0dG9wXCI6IHRleHQtdG9wLFxuICAgICAgXCJ0b3BcIjogdG9wLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICB3aGl0ZS1zcGFjZTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcInByZVwiOiBwcmUsXG4gICAgICBcInByZS1saW5lXCI6IHByZS1saW5lLFxuICAgICAgXCJwcmUtd3JhcFwiOiBwcmUtd3JhcCxcbiAgICAgIFwid3JhcFwiOiBub3JtYWwsXG4gICAgICBcIm5vLXdyYXBcIjogbm93cmFwLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICB3aWR0aDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlc3RcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiZnVsbC1wZXJjZW50XCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJhdXRvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgei1pbmRleDogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImF1dG9cIjogYXV0byxcbiAgICAgIFwiYm90dG9tXCI6IC0xMDAsXG4gICAgICBcInRvcFwiOiA5OTk5OSxcbiAgICAgIDA6IDAsXG4gICAgICAxMDA6IDEwMCxcbiAgICAgIDIwMDogMjAwLFxuICAgICAgMzAwOiAzMDAsXG4gICAgICA0MDA6IDQwMCxcbiAgICAgIDUwMDogNTAwLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuKTtcbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9vdXRwdXQvbnVtYmVyLXRvLXRva2VuXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC9zbWFydC1xdW90ZVwiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvbWFwLWRlZXAtZ2V0XCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9wcm9wZXJ0aWVzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdXN3ZHMtdmFsdWUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRmluZHMgYW5kIG91dHB1dHMgYSB2YWx1ZSBmcm9tIHRoZVxuVVNXRFMgc3RhbmRhcmQgdmFsdWVzLlxuXG5Vc2VkIHRvIGJ1aWxkIG90aGVyIHN0YW5kYXJkIHV0aWxpdHlcbmZ1bmN0aW9ucyBhbmQgbWl4aW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIGdldC11c3dkcy12YWx1ZSgkcHJvcGVydHksICR2YWx1ZS4uLikge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJhcmdsaXN0XCIgYW5kIGxpc3QubnRoKCR2YWx1ZSwgMSkgPT0gb3ZlcnJpZGUge1xuICAgIEByZXR1cm4gbGlzdC5udGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gICR2YWx1ZTogbGlzdC5udGgoJHZhbHVlLCAxKTtcbiAgJGNvbnZlcnRlZDogbnVtYmVyLXRvLXRva2VuKCR2YWx1ZSk7XG4gICRxdW90ZWQtdmFsdWU6IGlmKFxuICAgICRjb252ZXJ0ZWQsXG4gICAgc21hcnQtcXVvdGUoJGNvbnZlcnRlZCksXG4gICAgc21hcnQtcXVvdGUobGlzdC5udGgoJHZhbHVlLCAxKSlcbiAgKTtcbiAgJG91ci1zdGFuZGFyZC12YWx1ZXM6IG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsICRwcm9wZXJ0eSwgc3RhbmRhcmQpO1xuICAkb3VyLWV4dGVuZGVkLXZhbHVlczogbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgJHByb3BlcnR5LCBleHRlbmRlZCk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRvdXItc3RhbmRhcmQtdmFsdWVzLCAkcXVvdGVkLXZhbHVlKSB7XG4gICAgJG91dHB1dDogbWFwLmdldCgkb3VyLXN0YW5kYXJkLXZhbHVlcywgJHF1b3RlZC12YWx1ZSk7XG5cbiAgICBAaWYgbm90ICRvdXRwdXQge1xuICAgICAgQGlmICR0aGVtZS1zaG93LWNvbXBpbGUtd2FybmluZ3Mge1xuICAgICAgICBAZXJyb3IgJ2AjeyR2YWx1ZX1gIGlzIHNldCBhcyBhIGBmYWxzZWAgdmFsdWUgJ1xuICAgICAgICAgICsgJ2ZvciB0aGUgI3skcHJvcGVydHl9IHByb3BlcnR5IGluIHlvdXIgcHJvamVjdCBzZXR0aW5ncyAnXG4gICAgICAgICAgKyAnYW5kIHdpbGwgbm90IG91dHB1dCBwcm9wZXJseS4gJ1xuICAgICAgICAgICsgJ1NldCB0aGUgdmFsdWUgb2YgYCN7JHZhbHVlfWAgaW4gcHJvamVjdCBzZXR0aW5ncy4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJG91dHB1dDtcbiAgfVxuXG4gIEBpZiBtYXAuaGFzLWtleSgkb3VyLWV4dGVuZGVkLXZhbHVlcywgJHF1b3RlZC12YWx1ZSkge1xuICAgIEBpZiAkdGhlbWUtc2hvdy1jb21waWxlLXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuICdgI3skdmFsdWV9YCBpcyBhbiBleHRlbmRlZCBVU1dEUyBgI3skcHJvcGVydHl9YCB0b2tlbi4gJ1xuICAgICAgICArICdUaGlzIGlzIE9LLCBidXQgb25seSBjb21wb25lbnRzIGJ1aWx0IHdpdGggc3RhbmRhcmQgdG9rZW5zIGNhbiBiZSBhY2NlcHRlZCBiYWNrIGludG8gdGhlIHN5c3RlbS4gJ1xuICAgICAgICArICdTdGFuZGFyZCBgI3skcHJvcGVydHl9YCB2YWx1ZXM6ICN7bWFwLmtleXMoJG91ci1zdGFuZGFyZC12YWx1ZXMpfSc7XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAuZ2V0KCRvdXItZXh0ZW5kZWQtdmFsdWVzLCAkcXVvdGVkLXZhbHVlKTtcbiAgfVxuXG4gIC8vIFRPRE86IHdoYXQgYXJlIHRoZXNlIGxhc3QgdHdvIGNhc2VzPyBFdmFsdWF0ZS5cbiAgQGlmIG5vdCgobWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIikgYW5kIG5vdChtYXRoLmlzLXVuaXRsZXNzKCR2YWx1ZSkpKVxuICB7XG4gICAgQGVycm9yICdgI3skdmFsdWV9YCBpcyBub3QgYSB2YWxpZCBgI3skcHJvcGVydHl9YCB0b2tlbi4gJ1xuICAgICAgKyAnWW91IHNob3VsZCBjb3JyZWN0IHRoaXMuIFN0YW5kYXJkIGAjeyRwcm9wZXJ0eX1gIHRva2VuczogJ1xuICAgICAgKyAnICN7bWFwLmtleXMoJG91ci1zdGFuZGFyZC12YWx1ZXMpfSc7XG4gIH1cblxuICBAaWYgJHRoZW1lLXNob3ctY29tcGlsZS13YXJuaW5ncyB7XG4gICAgQHdhcm4gJ2AjeyR2YWx1ZX1gIGlzIG5vdCBhIFVTV0RTIGAjeyRwcm9wZXJ0eX1gIHRva2VuLiAnXG4gICAgICArICdUaGlzIGlzIE9LLCBidXQgb25seSBjb21wb25lbnRzIGJ1aWx0IHdpdGggc3RhbmRhcmQgJ1xuICAgICAgKyAndG9rZW5zIGNhbiBiZSBhY2NlcHRlZCBiYWNrIGludG8gdGhlIHN5c3RlbS4gJ1xuICAgICAgKyAnU3RhbmRhcmQgYCN7JHByb3BlcnR5fWAgdmFsdWVzOiAje21hcC5rZXlzKCRvdXItc3RhbmRhcmQtdmFsdWVzKX0nO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCJAdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvbWFwLWRlZXAtZ2V0XCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9wcm9wZXJ0aWVzXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1zdGFuZGFyZC12YWx1ZXMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIG1hcCBvZiBVU1dEUyBzdGFuZGFyZCB2YWx1ZXNcbmZvciBhIHByb3BlcnR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZ2V0LXN0YW5kYXJkLXZhbHVlcygkcHJvcGVydHkpIHtcbiAgQHJldHVybiBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCAkcHJvcGVydHksIHN0YW5kYXJkKTtcbn1cblxuLy8gQGRlYnVnIGdldC1zdGFuZGFyZC12YWx1ZXMoXCJtZWFzdXJlXCIpO1xuLy8gQHJldHVybiAoMTogNDRleCwgMjogNjBleCwgMzogNjRleCwgNDogNjhleCwgNTogNzJleCwgNjogODhleCwgXCJub25lXCI6IG5vbmUpO1xuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvc21hcnQtcXVvdGVcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsL2Vycm9yLW5vdC10b2tlblwiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL291dHB1dC9nZXQtdXN3ZHMtdmFsdWVcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9mb250L25vcm1hbGl6ZS10eXBlLXNjYWxlXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzL3Byb2plY3QtY2FwLWhlaWdodHNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy90eXBlLXNjYWxlXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9wcm9wZXJ0aWVzXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmJvcmRlci1yYWRpdXMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgYm9yZGVyLXJhZGl1cyBmcm9tIHRoZSBzeXN0ZW1cbmJvcmRlci1yYWRpaVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIGJvcmRlci1yYWRpdXMoJHZhbHVlKSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYWxsLWJvcmRlci1yYWRpdXMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbWFwLmdldCgkYWxsLWJvcmRlci1yYWRpdXMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZXJyb3Itbm90LXRva2VuKCR2YWx1ZSwgXCJib3JkZXIgcmFkaXVzXCIsICRhbGwtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuLy8gQGRlYnVnICN7Ym9yZGVyLXJhZGl1cygyKX07XG4vLyBAcmV0dXJuIDFyZW07XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXdlaWdodCgpXG5mdygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LXdlaWdodCB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGZvbnQtd2VpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZm9udC13ZWlnaHQoJHZhbHVlKSB7XG4gIEByZXR1cm4gZ2V0LXVzd2RzLXZhbHVlKGZvbnQtd2VpZ2h0LCAkdmFsdWUpO1xufVxuXG5AZnVuY3Rpb24gZncoJHZhbHVlKSB7XG4gIEByZXR1cm4gZm9udC13ZWlnaHQoJHZhbHVlKTtcbn1cblxuLy8gQGRlYnVnICN7Zm9udC13ZWlnaHQoXCJsaWdodFwiKX07XG4vLyBAcmV0dXJuIDMwMDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZlYXR1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIGZvbnQgZmVhdHVyZSBzZXR0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZmVhdHVyZSgkdmFsdWUpIHtcbiAgQHJldHVybiBnZXQtdXN3ZHMtdmFsdWUoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3tmZWF0dXJlKFwidGFidWxhclwiKX07XG4vLyBAcmV0dXJuIFwidG51bVwiIDEsIFwia2VyblwiIDE7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mbGV4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmbGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZmxleCgkdmFsdWUpIHtcbiAgQHJldHVybiBnZXQtdXN3ZHMtdmFsdWUoZmxleCwgJHZhbHVlKTtcbn1cblxuLy8gQGRlYnVnICN7ZmxleCgxMSl9O1xuLy8gQHJldHVybiAxMSAxIDAlO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC1mYW1pbHkoKVxuZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrIGZyb20gYVxucm9sZS1iYXNlZCBvciB0eXBlLWJhc2VkIGZvbnQgZmFtaWx5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZm9udC1mYW1pbHkoJHZhbHVlKSB7XG4gIEByZXR1cm4gZ2V0LXVzd2RzLXZhbHVlKGZvbnQtZmFtaWx5LCAkdmFsdWUpO1xufVxuXG5AZnVuY3Rpb24gZmYoJHZhbHVlKSB7XG4gIEByZXR1cm4gZm9udC1mYW1pbHkoJHZhbHVlKTtcbn1cblxuQGZ1bmN0aW9uIGZhbWlseSgkdmFsdWUpIHtcbiAgQHJldHVybiBmb250LWZhbWlseSgkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3tmb250LWZhbWlseShcInNhbnNcIil9O1xuLy8gQHJldHVybiBTb3VyY2UgU2FucyBQcm8gV2ViLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmXG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXR0ZXItc3BhY2luZygpXG5scygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBsZXR0ZXItc3BhY2luZyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gbGV0dGVyLXNwYWNpbmcoJHZhbHVlKSB7XG4gICRsaC1tYXA6IG1hcC5nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImxldHRlci1zcGFjaW5nXCIpO1xuICAkZm4tbWFwOiBtYXAuZ2V0KCRsaC1tYXAsIGZ1bmN0aW9uKTtcbiAgQGlmIG1hcC5oYXMta2V5KCRmbi1tYXAsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbWFwLmdldCgkZm4tbWFwLCAkdmFsdWUpO1xuICB9XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgJ2AjeyR2YWx1ZX1gIGlzIGEgbm90IGEgdmFsaWQgbGV0dGVyLXNwYWNpbmcgdG9rZW4uICdcbiAgICAgICsgJ1ZhbGlkIGxldHRlci1zcGFjaW5nIHRva2VuczogI3ttYXAua2V5cygkZm4tbWFwKX0nO1xuICB9XG4gIEByZXR1cm4gZ2V0LXVzd2RzLXZhbHVlKFwibGV0dGVyLXNwYWNpbmdcIiwgJHZhbHVlKTtcbn1cblxuQGZ1bmN0aW9uIGxzKCR2YWx1ZSkge1xuICBAcmV0dXJuIGxldHRlci1zcGFjaW5nKCR2YWx1ZSk7XG59XG5cbi8vIEBkZWJ1ZyAje2xldHRlci1zcGFjaW5nKFwibHMtM1wiKX07XG4vLyBAcmV0dXJuIDAuMTVlbTtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1lYXN1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIHJlYWRpbmcgbGluZSBsZW5ndGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBmdW5jdGlvbiBtZWFzdXJlKCR2YWx1ZSkge1xuICBAcmV0dXJuIGdldC11c3dkcy12YWx1ZShtZWFzdXJlLCAkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3ttZWFzdXJlKDIpfTtcbi8vIEByZXR1cm4gNjBleDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm9wYWNpdHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGFuIG9wYWNpdHkgZnJvbSB0aGUgc3lzdGVtXG5vcGFjaXRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBmdW5jdGlvbiBvcGFjaXR5KCR2YWx1ZSkge1xuICBAcmV0dXJuIGdldC11c3dkcy12YWx1ZShvcGFjaXR5LCAkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3tvcGFjaXR5KDMwKX07XG4vLyBAcmV0dXJuIDAuMztcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm9yZGVyKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhbiBvcmRlciB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIG9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIG9yZGVyKCR2YWx1ZSkge1xuICBAcmV0dXJuIGdldC11c3dkcy12YWx1ZShvcmRlciwgJHZhbHVlKTtcbn1cblxuLy8gQGRlYnVnICN7b3JkZXIobGFzdCl9O1xuLy8gQHJldHVybiA5OTk7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5yYWRpdXMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgYm9yZGVyLXJhZGl1cyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gcmFkaXVzKCR2YWx1ZSkge1xuICBAcmV0dXJuIGdldC11c3dkcy12YWx1ZShib3JkZXItcmFkaXVzLCAkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3tyYWRpdXMobGcpfTtcbi8vIEByZXR1cm4gMC41cmVtO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC1zaXplKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCB0eXBlIHNjYWxlIHZhbHVlIGZyb20gYSBbZmFtaWx5XSBhbmRcbltzY2FsZV1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBmdW5jdGlvbiBmb250LXNpemUoJGZhbWlseSwgJHNjYWxlLCAkZm9yY2U6IGZhbHNlKSB7XG4gICRvdXItZmFtaWx5OiBzbWFydC1xdW90ZSgkZmFtaWx5KTtcbiAgJG91ci1zY2FsZTogc21hcnQtcXVvdGUoJHNjYWxlKTtcblxuICBAaWYgbm90KG1hcC5oYXMta2V5KCRwcm9qZWN0LWNhcC1oZWlnaHRzLCAkb3VyLWZhbWlseSkpIHtcbiAgICBAcmV0dXJuIGVycm9yLW5vdC10b2tlbigkb3VyLWZhbWlseSwgXCJmb250IGZhbWlseVwiLCAkcHJvamVjdC1jYXAtaGVpZ2h0cyk7XG4gIH1cbiAgQGlmIG5vdChtYXAuZ2V0KCRhbGwtdHlwZS1zY2FsZSwgJG91ci1zY2FsZSkpIHtcbiAgICBAcmV0dXJuIGVycm9yLW5vdC10b2tlbigkb3VyLXNjYWxlLCBcImZvbnQgc2NhbGVcIiwgJGFsbC10eXBlLXNjYWxlKTtcbiAgfVxuXG4gICR0aGlzLWNhcDogbWFwLmdldCgkcHJvamVjdC1jYXAtaGVpZ2h0cywgJG91ci1mYW1pbHkpO1xuICAkdGhpcy1zY2FsZTogbWFwLmdldCgkYWxsLXR5cGUtc2NhbGUsICRvdXItc2NhbGUpO1xuXG4gIEBpZiBub3QgJGZvcmNlIHtcbiAgICBAaWYgbm90KCR0aGlzLXNjYWxlIGFuZCAkdGhpcy1jYXApIHtcbiAgICAgIEBlcnJvciAnVGhlIHNjYWxlIGAjeyRvdXItc2NhbGV9YCBpcyBkaXNhYmxlZCAnXG4gICAgICAgICsgJ2luIHlvdXIgcHJvamVjdFxcJ3MgdGhlbWUgc2V0dGluZ3MuICdcbiAgICAgICAgKyAnU2V0IGl0cyB2YWx1ZSB0byBgdHJ1ZWAgdG8gdXNlIHRoaXMgZmFtaWx5Lic7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBub3JtYWxpemUtdHlwZS1zY2FsZSgkdGhpcy1jYXAsICR0aGlzLXNjYWxlKTtcbn1cblxuQGZ1bmN0aW9uIGZzKCRmYW1pbHksICRzY2FsZSkge1xuICBAcmV0dXJuIGZvbnQtc2l6ZSgkZmFtaWx5LCAkc2NhbGUpO1xufVxuXG5AZnVuY3Rpb24gc2l6ZSgkZmFtaWx5LCAkc2NhbGUpIHtcbiAgQHJldHVybiBmb250LXNpemUoJGZhbWlseSwgJHNjYWxlKTtcbn1cblxuLy8gQGRlYnVnICN7Zm9udC1zaXplKFwic2VyaWZcIiwgXCIzeHNcIil9O1xuLy8gQHJldHVybiAgMC43OXJlbTtcblxuLy8gQGRlYnVnICN7Zm9udC1zaXplKFwic2VyaWZcIiwgXCI0eHNcIil9O1xuLy8gQHJldHVybiA0eHMgaXMgbm90IGEgdmFsaWQgVVNXRFMgZm9udCBzY2FsZSB0b2tlblxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuei1pbmRleCgpXG56KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIHotaW5kZXggdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSB6LWluZGV4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gei1pbmRleCgkdmFsdWUpIHtcbiAgQHJldHVybiBnZXQtdXN3ZHMtdmFsdWUoei1pbmRleCwgJHZhbHVlKTtcbn1cblxuQGZ1bmN0aW9uIHooJHZhbHVlKSB7XG4gIEByZXR1cm4gei1pbmRleCgkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3t6KFwidG9wXCIpfTtcbi8vIEByZXR1cm4gOTk5OTk7XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC9zbWFydC1xdW90ZVwiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvZXJyb3Itbm90LXRva2VuXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZm9udC9ub3JtYWxpemUtdHlwZS1zY2FsZVwiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzL3Byb2plY3QtY2FwLWhlaWdodHNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy90eXBlLXNjYWxlXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnV0aWxpdHktZm9udCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBub3JtYWxpemVkIGZvbnQtc2l6ZSBpbiByZW0gZnJvbVxuYSBmYW1pbHkgYW5kIGEgdHlwZSBzaXplIGluIGVpdGhlclxuc3lzdGVtIHNjYWxlIG9yIHByb2plY3Qgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vdCB0aGUgcHVibGljLWZhY2luZyBmdW5jdGlvbi5cblVzZWQgZm9yIGJ1aWxkaW5nIHRoZSB1dGlsaXRpZXMgYW5kXG53aXRoaG9sZHMgY2VydGFpbiBlcnJvcnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gdXRpbGl0eS1mb250KCRmYW1pbHksICRzY2FsZSkge1xuICBAaWYgbm90KG1hcC5oYXMta2V5KCRwcm9qZWN0LWNhcC1oZWlnaHRzLCAkZmFtaWx5KSkge1xuICAgIEByZXR1cm4gZXJyb3Itbm90LXRva2VuKCRmYW1pbHksIFwiZm9udCBmYW1pbHlcIiwgJHByb2plY3QtY2FwLWhlaWdodHMpO1xuICB9XG5cbiAgJHF1b3RlLXNjYWxlOiBzbWFydC1xdW90ZSgkc2NhbGUpO1xuICBAaWYgbm90KG1hcC5nZXQoJGFsbC10eXBlLXNjYWxlLCAkcXVvdGUtc2NhbGUpKSB7XG4gICAgQHJldHVybiBlcnJvci1ub3QtdG9rZW4oJHNjYWxlLCBcImZvbnQgc2NhbGVcIiwgJGFsbC10eXBlLXNjYWxlKTtcbiAgfVxuXG4gICR0aGlzLWNhcDogbWFwLmdldCgkcHJvamVjdC1jYXAtaGVpZ2h0cywgJGZhbWlseSk7XG4gICR0aGlzLXNjYWxlOiBtYXAuZ2V0KCRhbGwtdHlwZS1zY2FsZSwgJHF1b3RlLXNjYWxlKTtcblxuICBAaWYgbm90ICR0aGlzLXNjYWxlIGFuZCAkdGhpcy1jYXAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuIG5vcm1hbGl6ZS10eXBlLXNjYWxlKCR0aGlzLWNhcCwgJHRoaXMtc2NhbGUpO1xufVxuXG4vLyBAZGVidWcgdXRpbGl0eS1mb250KFwiY29uZFwiLCBcIjJ4c1wiKTtcbi8vIEByZXR1cm4gZmFsc2U7XG5cbi8vIEBkZWJ1ZyB1dGlsaXR5LWZvbnQoXCJzYW5zXCIsIFwic21cIik7XG4vLyBAcmV0dXJuIDEuMDZyZW07XG4iLCJAdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFja1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1peGluIHUtZm9udC1mYW1pbHkoJGZhbWlseSkge1xuICBmb250LWZhbWlseTogZmYoJGZhbWlseSk7XG59XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zaXplKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1peGluIHUtZm9udC1zaXplKCRmYW1pbHksICRzY2FsZSkge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgkZmFtaWx5LCAkc2NhbGUpO1xufVxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFja1xuQU5EXG5HZXQgYSBub3JtYWxpemVkIGZvbnQtc2l6ZSBpbiByZW0gZnJvbVxuYSBmYW1pbHkgYW5kIGEgdHlwZSBzaXplIGluIGVpdGhlclxuc3lzdGVtIHNjYWxlIG9yIHByb2plY3Qgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBtaXhpbiB1LWZvbnQoJGZhbWlseSwgJHNjYWxlKSB7XG4gIGZvbnQtZmFtaWx5OiBmZigkZmFtaWx5KTtcbiAgZm9udC1zaXplOiBmb250LXNpemUoJGZhbWlseSwgJHNjYWxlKTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi9nZW5lcmFsL2ZvY3VzLW91dGxpbmVcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vbWl4aW5zL3V0aWxpdGllc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vbWl4aW5zL2dlbmVyYWwvZm9jdXMtb3V0bGluZVwiIGFzICo7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudHlwZXNldCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXRzOlxuLSBmYW1pbHlcbi0gc2l6ZVxuLSBsaW5lLWhlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1peGluIHR5cGVzZXQoXG4gICRmYW1pbHk6ICR0aGVtZS1ib2R5LWZvbnQtZmFtaWx5LFxuICAkc2NhbGU6ICR0aGVtZS1ib2R5LWZvbnQtc2l6ZSxcbiAgJGxpbmUtaGVpZ2h0OiAkdGhlbWUtYm9keS1saW5lLWhlaWdodFxuKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJGZhbWlseSkgPT0gXCJsaXN0XCIge1xuICAgICRsaXN0OiAkZmFtaWx5O1xuICAgICRmYW1pbHk6IGlmKGxpc3QubnRoKCRsaXN0LCAxKSwgbGlzdC5udGgoJGxpc3QsIDEpLCBudWxsKTtcbiAgICAkc2NhbGU6IGlmKGxpc3QubnRoKCRsaXN0LCAyKSwgbGlzdC5udGgoJGxpc3QsIDIpLCBudWxsKTtcbiAgICAkbGluZS1oZWlnaHQ6IGlmKGxpc3QubnRoKCRsaXN0LCAzKSwgbGlzdC5udGgoJGxpc3QsIDMpLCBudWxsKTtcbiAgfVxuICAkZmFtaWx5OiBpZigkZmFtaWx5ID09IG51bGwsICR0aGVtZS1ib2R5LWZvbnQtZmFtaWx5LCAkZmFtaWx5KTtcbiAgJHNjYWxlOiBpZigkc2NhbGUgPT0gbnVsbCwgJHRoZW1lLWJvZHktZm9udC1zaXplLCAkc2NhbGUpO1xuICAkbGluZS1oZWlnaHQ6IGlmKCRsaW5lLWhlaWdodCA9PSBudWxsLCAkdGhlbWUtYm9keS1saW5lLWhlaWdodCwgJGxpbmUtaGVpZ2h0KTtcbiAgQGluY2x1ZGUgdS1mb250KCRmYW1pbHksICRzY2FsZSk7XG4gIEBpbmNsdWRlIHUtbGluZS1oZWlnaHQoJGZhbWlseSwgJGxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHR5cGVzZXQtaGVhZGluZy1iYXNlIHtcbiAgQGluY2x1ZGUgdS1tYXJnaW4teSgwKTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbkBtaXhpbiB0eXBlc2V0LWhlYWRpbmcge1xuICBAaW5jbHVkZSB0eXBlc2V0LWhlYWRpbmctYmFzZTtcblxuICAqICsgJiB7XG4gICAgbWFyZ2luLXRvcDogJHRoZW1lLWhlYWRpbmctbWFyZ2luLXRvcDtcbiAgfVxuXG4gICsgKiB7XG4gICAgbWFyZ2luLXRvcDogJHRoZW1lLXBhcmFncmFwaC1tYXJnaW4tdG9wO1xuICB9XG59XG5cbkBtaXhpbiB0eXBlc2V0LXAtYmFzZSB7XG4gIGxpbmUtaGVpZ2h0OiBsaW5lLWhlaWdodCgkdGhlbWUtYm9keS1mb250LWZhbWlseSwgJHRoZW1lLWJvZHktbGluZS1oZWlnaHQpO1xuICBtYXgtd2lkdGg6IG1lYXN1cmUoJHRoZW1lLXRleHQtbWVhc3VyZSk7XG59XG5cbi8vIHR5cGVzZXQgZWxlbWVudCBtaXhpbnNcbkBtaXhpbiB0eXBlc2V0LXAge1xuICBAaW5jbHVkZSB0eXBlc2V0LXAtYmFzZTtcbiAgQGluY2x1ZGUgdS1tYXJnaW4teSgwKTtcblxuICAqICsgJiB7XG4gICAgbWFyZ2luLXRvcDogJHRoZW1lLXBhcmFncmFwaC1tYXJnaW4tdG9wO1xuICB9XG5cbiAgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAkdGhlbWUtcGFyYWdyYXBoLW1hcmdpbi10b3A7XG4gIH1cbn1cblxuQG1peGluIHR5cGVzZXQtbGluayB7XG4gIGNvbG9yOiBjb2xvcigkdGhlbWUtbGluay1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6IGNvbG9yKCR0aGVtZS1saW5rLXZpc2l0ZWQtY29sb3IpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yKCR0aGVtZS1saW5rLWhvdmVyLWNvbG9yKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogY29sb3IoJHRoZW1lLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmU7XG4gIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoICovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5cbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vcHJvcGVydGllc1wiIGFzICo7XG5AdXNlIFwiLi4vZnVuY3Rpb25zXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXMvc2VwYXJhdG9yXCIgYXMgKjtcbkB1c2UgXCIuL2hlbHBlcnNcIiBhcyAqO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHJlbmRlci1wc2V1ZG9jbGFzc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQnVpbGQgYSBwc2V1Y29jbGFzcyB1dGlsaXkgZnJvbSB2YWx1ZXNcbmNhbGN1bGF0ZWQgaW4gdGhlIEByZW5kZXItdXRpbGl0aWVzLWluXG5sb29wXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AbWl4aW4gcmVuZGVyLXBzZXVkb2NsYXNzKFxuICAkdXRpbGl0eSxcbiAgJHBzZXVkb2NsYXNzLFxuICAkc2VsZWN0b3IsXG4gICRwcm9wZXJ0eSxcbiAgJHZhbHVlLFxuICAkbWVkaWEtcHJlZml4XG4pIHtcbiAgJGltcG9ydGFudDogaWYoJHV0aWxpdGllcy11c2UtaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIG51bGwpO1xuICAkdGhpcy1tcTogbnVsbDtcblxuICAuI3skbWVkaWEtcHJlZml4fSN7JHBzZXVkb2NsYXNzfSN7JHNlcGFyYXRvcn0je25zKFwidXRpbGl0eVwiKX0jeyRzZWxlY3Rvcn06I3skcHNldWRvY2xhc3N9IHtcbiAgICBAZWFjaCAkdGhpcy1wcm9wZXJ0eSBpbiAkcHJvcGVydHkge1xuICAgICAgI3skdGhpcy1wcm9wZXJ0eX06IHN0cmluZy51bnF1b3RlKFwiI3skdmFsdWV9I3skaW1wb3J0YW50fVwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gdXRpbGl0eS1mZWF0dXJlPyB1dGlsaXR5LXByb3BlcnR5XG5AbWl4aW4gYWRkLXV0aWxpdHktZGVjbGFyYXRpb24oJGRlY2xhcmF0aW9uLCAkdXRpbGl0eS10eXBlLCAkaW1wb3J0YW50KSB7XG4gIEBlYWNoICRleHQtcHJvcCwgJGV4dC12YWx1ZSBpbiBtYXAuZ2V0KCRkZWNsYXJhdGlvbiwgJHV0aWxpdHktdHlwZSkge1xuICAgICN7JGV4dC1wcm9wfTogc3RyaW5nLnVucXVvdGUoXCIjeyRleHQtdmFsdWV9I3skaW1wb3J0YW50fVwiKTtcbiAgfVxufVxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHJlbmRlci11dGlsaXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5CdWlsZCBhIHV0aWxpdHkgZnJvbSB2YWx1ZXMgY2FsY3VsYXRlZFxuaW4gdGhlIEByZW5kZXItdXRpbGl0aWVzLWluIGxvb3Bcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRPRE86IERldGVybWluZSB0aGUgcHJvcGVyIHVzZSBvZlxudW5xdW90ZSgpIGluIHRoZSBmb2xsb3dpbmcuIENoYW5nZWQgdG9cbmFjY291bnQgZm9yIGEgJ2ludGVycG9sYXRpb24gbmVhclxub3BlcmF0b3JzIHdpbGwgYmUgc2ltcGxpZmllZCBpbiBhXG5mdXR1cmUgdmVyc2lvbiBvZiBTYXNzJyB3YXJuaW5nLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1peGluIHJlbmRlci11dGlsaXR5KFxuICAkdXRpbGl0eSxcbiAgJHNlbGVjdG9yLFxuICAkcHJvcGVydHksXG4gICR2YWx1ZSxcbiAgJHZhbC1wcm9wcyxcbiAgJG1lZGlhLWtleVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCR1dGlsaXRpZXMtdXNlLWltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBudWxsKTtcbiAgJG1lZGlhLXByZWZpeDogbnVsbDtcbiAgJHZhbHVlLWlzLW1hcDogaWYobWV0YS50eXBlLW9mKCR2YWwtcHJvcHMpID09IFwibWFwXCIsIHRydWUsIGZhbHNlKTtcblxuICBAaWYgJG1lZGlhLWtleSB7XG4gICAgJG1lZGlhLXByZWZpeDogI3skbWVkaWEta2V5fSN7JHNlcGFyYXRvcn07XG4gIH1cblxuICAuI3skbWVkaWEtcHJlZml4fSN7bnMoXCJ1dGlsaXR5XCIpfSN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICR2YWx1ZS1pcy1tYXAgYW5kIG1hcC5oYXMta2V5KCR2YWwtcHJvcHMsIGV4dGVuZCkge1xuICAgICAgQGluY2x1ZGUgYWRkLXV0aWxpdHktZGVjbGFyYXRpb24oJHZhbC1wcm9wcywgZXh0ZW5kLCAkaW1wb3J0YW50KTtcbiAgICB9XG5cbiAgICBAaWYgJHZhbHVlLWlzLW1hcCBhbmQgbWFwLmhhcy1rZXkoJHZhbC1wcm9wcywgZXh0ZW5kcykge1xuICAgICAgQGV4dGVuZCAlI3ttYXAuZ2V0KCR2YWwtcHJvcHMsIGV4dGVuZHMpfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkdGhpcy1wcm9wZXJ0eSBpbiAkcHJvcGVydHkge1xuICAgICAgI3skdGhpcy1wcm9wZXJ0eX06IHN0cmluZy51bnF1b3RlKFwiI3skdmFsdWV9I3skaW1wb3J0YW50fVwiKTtcbiAgICB9XG5cbiAgICBAaWYgbWFwLmhhcy1rZXkoJHV0aWxpdHksIGV4dGVuZCkge1xuICAgICAgQGluY2x1ZGUgYWRkLXV0aWxpdHktZGVjbGFyYXRpb24oJHV0aWxpdHksIGV4dGVuZCwgJGltcG9ydGFudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHRoZSBwc2V1ZG9jbGFzcyB2YXJpYW50cywgaWYgYXBwbGljYWJsZVxuXG4gIEBpZiBtYXAtZGVlcC1nZXQoJHV0aWxpdHksIHNldHRpbmdzLCBob3Zlcikge1xuICAgIEBpbmNsdWRlIHJlbmRlci1wc2V1ZG9jbGFzcyhcbiAgICAgICR1dGlsaXR5LFxuICAgICAgaG92ZXIsXG4gICAgICAkc2VsZWN0b3IsXG4gICAgICAkcHJvcGVydHksXG4gICAgICAkdmFsdWUsXG4gICAgICAkbWVkaWEtcHJlZml4XG4gICAgKTtcbiAgfVxuXG4gIEBpZiBtYXAtZGVlcC1nZXQoJHV0aWxpdHksIHNldHRpbmdzLCBhY3RpdmUpIHtcbiAgICBAaW5jbHVkZSByZW5kZXItcHNldWRvY2xhc3MoXG4gICAgICAkdXRpbGl0eSxcbiAgICAgIGFjdGl2ZSxcbiAgICAgICRzZWxlY3RvcixcbiAgICAgICRwcm9wZXJ0eSxcbiAgICAgICR2YWx1ZSxcbiAgICAgICRtZWRpYS1wcmVmaXhcbiAgICApO1xuICB9XG5cbiAgQGlmIG1hcC1kZWVwLWdldCgkdXRpbGl0eSwgc2V0dGluZ3MsIHZpc2l0ZWQpIHtcbiAgICBAaW5jbHVkZSByZW5kZXItcHNldWRvY2xhc3MoXG4gICAgICAkdXRpbGl0eSxcbiAgICAgIHZpc2l0ZWQsXG4gICAgICAkc2VsZWN0b3IsXG4gICAgICAkcHJvcGVydHksXG4gICAgICAkdmFsdWUsXG4gICAgICAkbWVkaWEtcHJlZml4XG4gICAgKTtcbiAgfVxuXG4gIEBpZiBtYXAtZGVlcC1nZXQoJHV0aWxpdHksIHNldHRpbmdzLCBmb2N1cykge1xuICAgIEBpbmNsdWRlIHJlbmRlci1wc2V1ZG9jbGFzcyhcbiAgICAgICR1dGlsaXR5LFxuICAgICAgZm9jdXMsXG4gICAgICAkc2VsZWN0b3IsXG4gICAgICAkcHJvcGVydHksXG4gICAgICAkdmFsdWUsXG4gICAgICAkbWVkaWEtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHJlbmRlci11dGlsaXRpZXMtaW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZSBtYXN0ZXIgbG9vcCB0aGF0IHNldHMgdGhlIGJ1aWxkaW5nXG5ibG9ja3Mgb2YgdXRpbGl0aWVzIGZyb20gdGhlIHZhbHVlc1xuaW4gaW5kaXZpZHVhbCBydWxlIHNldHRpbmdzIGFuZCBsb29wc1xudGhyb3VnaCBhbGwgcG9zc2libGUgdmFyaWFudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBtaXhpbiB0aGVzZS11dGlsaXRpZXMoJHV0aWxpdGllcywgJG1lZGlhLWtleTogZmFsc2UpIHtcbiAgLy8gbG9vcCB0aHJvdWdoIHRoZSAkdXRpbGl0aWVzXG4gIEBlYWNoICR1dGlsaXR5LW5hbWUsICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgdXRpbGl0eSBpcyBpbiB0aGUgb3V0cHV0IHVzZWxpc3RcbiAgICBAaWYgKCRvdXRwdXQtdGhlc2UtdXRpbGl0aWVzID09IFwiZGVmYXVsdFwiKSBvclxuICAgICAgbGlzdC5pbmRleCgkb3V0cHV0LXRoZXNlLXV0aWxpdGllcywgJHV0aWxpdHktbmFtZSlcbiAgICB7XG4gICAgICAvLyBPbmx5IGRvIHRoaXMgaWYgdGhlIHRoZSB1dGlsaXR5IGlzIG1lYW50IHRvIG91dHB1dFxuICAgICAgQGlmIG5vdCgkbWVkaWEta2V5KSBvclxuICAgICAgICAoJG1lZGlhLWtleSBhbmQgbWFwLWRlZXAtZ2V0KCR1dGlsaXR5LCBzZXR0aW5ncywgcmVzcG9uc2l2ZSkpXG4gICAgICB7XG4gICAgICAgIEBpZiBtYXAtZGVlcC1nZXQoJHV0aWxpdHksIHNldHRpbmdzLCBvdXRwdXQpIHtcbiAgICAgICAgICAvLyBzZXQgaW50aXRhbCB2YXJpYW50c1xuICAgICAgICAgIC8vICRwcm9wZXJ0eS1kZWZhdWx0IGlzIGEgc2luZ2xlIHZhbHVlIGZvciBhbGwgdGhlc2UgdXRpbGl0aWVzXG5cbiAgICAgICAgICAkYmFzZS1wcm9wczogbnVsbDtcbiAgICAgICAgICAkbW9kaWZpZXI6IG51bGw7XG4gICAgICAgICAgJHNlbGVjdG9yOiBudWxsO1xuICAgICAgICAgICRwcm9wZXJ0eS1kZWZhdWx0OiBtYXAuZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG4gICAgICAgICAgJHByb3BlcnR5OiBudWxsO1xuICAgICAgICAgICR2YWx1ZTogbnVsbDtcbiAgICAgICAgICAkb3VyLW1vZGlmaWVyczogKCk7XG4gICAgICAgICAgJGI6IG51bGw7XG4gICAgICAgICAgJHY6IG51bGw7XG4gICAgICAgICAgJG12OiBudWxsO1xuICAgICAgICAgICR2YWwtcHJvcHM6ICgpO1xuICAgICAgICAgICRuby12YWx1ZTogZmFsc2U7XG5cbiAgICAgICAgICAkYjogbWFwLmdldCgkdXRpbGl0eSwgYmFzZSk7XG5cbiAgICAgICAgICAvLyBFYWNoIHV0aWxpdHkgcnVsZSB0YWtlcyBhIHZhbHVlLCBzbyBsZXQncyBzdGFydCBoZXJlXG4gICAgICAgICAgLy8gYW5kIGJlZ2luIGJ1aWxkaW5nLlxuXG4gICAgICAgICAgLy8gLS0tLS0tLS0gRm9yIGVhY2ggdmFsdWUgaW4gdXRpbGl0eS52YWx1ZXMgLS0tLS0tLS0tLVxuXG4gICAgICAgICAgQGVhY2ggJHZhbC1rZXksICR2YWwtdmFsdWUgaW4gbWFwLmdldCgkdXRpbGl0eSwgdmFsdWVzKSB7XG4gICAgICAgICAgICAvLyBJZiAkdmFsLXZhbHVlID09IG51bGwsIG9yIGlmICR2YWwtdmFsdWUgaXMgYSBtYXAgYW5kXG4gICAgICAgICAgICAvLyB0aGUgY29udGVudCBrZXkgb3IgdGhlIGRlcGVuZGVuY3kga2V5IGhhcyBhIG51bGwgdmFsdWVcbiAgICAgICAgICAgIC8vIHNldCAkdmFsLXZhbHVlIHRvIGBmYWxzZWAuLi5cblxuICAgICAgICAgICAgQGlmIG1ldGEudHlwZS1vZigkdmFsLXZhbHVlKSA9PSBcIm1hcFwiIHtcbiAgICAgICAgICAgICAgQGlmIG5vdCBtYXAuZ2V0KCR2YWwtdmFsdWUsIGNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAkdmFsLXZhbHVlOiBmYWxzZTtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZlxuICAgICAgICAgICAgICAgIG1hcC5oYXMta2V5KCR2YWwtdmFsdWUsIGRlcGVuZGVuY3kpIGFuZCBub3RcbiAgICAgICAgICAgICAgICBtYXAuZ2V0KCR2YWwtdmFsdWUsIGRlcGVuZGVuY3kpXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkdmFsLXZhbHVlOiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAuLi5zbyB3ZSBjYW4gc2tpcCBidWlsZGluZyB0aGlzIHJ1bGUgYWx0b2dldGhlci5cbiAgICAgICAgICAgIC8vIFNvLCBpZiAkdmFsLXZhbHVlIGlzIF9ub3RfIGZhbHNlLi4uXG5cbiAgICAgICAgICAgIEBpZiAkdmFsLXZhbHVlIHtcbiAgICAgICAgICAgICAgLy8gU2V0IHRoZSB2YWx1ZSBvZiBvdXIgcnVsZS5cbiAgICAgICAgICAgICAgLy8gSWYgaXRzIGEgbWFwLCB1c2UgdmFsLXZhbHVlLmNvbnRlbnQuXG5cbiAgICAgICAgICAgICAgJHZhbC1zbHVnOiBpZihcbiAgICAgICAgICAgICAgICBtZXRhLnR5cGUtb2YoJHZhbC12YWx1ZSkgPT0gXCJtYXBcIixcbiAgICAgICAgICAgICAgICBtYXAuZ2V0KCR2YWwtdmFsdWUsIFwic2x1Z1wiKSxcbiAgICAgICAgICAgICAgICAkdmFsLWtleVxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICR2YWx1ZTogaWYoXG4gICAgICAgICAgICAgICAgbWV0YS50eXBlLW9mKCR2YWwtdmFsdWUpID09IFwibWFwXCIsXG4gICAgICAgICAgICAgICAgbWFwLmdldCgkdmFsLXZhbHVlLCBcImNvbnRlbnRcIiksXG4gICAgICAgICAgICAgICAgJHZhbC12YWx1ZVxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgIEBpZiAkdmFsLXNsdWcgPT0gXCJcIiBvciBzbWFydC1xdW90ZSgkdmFsLXNsdWcpID09IFwibm9WYWx1ZVwiIHtcbiAgICAgICAgICAgICAgICAkbm8tdmFsdWU6IHRydWU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvLyBBZGQgYW55IGFwcGVuZGVkIHZhbHVlcy4uLlxuXG4gICAgICAgICAgICAgIEBpZiBtYXAuZ2V0KCR1dGlsaXR5LCB2YWx1ZUFwcGVuZCkge1xuICAgICAgICAgICAgICAgICR2YWx1ZTogJHZhbHVlICsgbWFwLmdldCgkdXRpbGl0eSwgdmFsdWVBcHBlbmQpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gLi4ub3IgcHJlcGVuZGVkIHZhbHVlcy5cblxuICAgICAgICAgICAgICBAaWYgbWFwLmdldCgkdXRpbGl0eSwgdmFsdWVQcmVwZW5kKSB7XG4gICAgICAgICAgICAgICAgJHZhbHVlOiBtYXAuZ2V0KCR1dGlsaXR5LCB2YWx1ZVByZXBlbmQpICsgJHZhbHVlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gQW5kIHdlJ2xsIHNldCB0aGUgJHYgYXMgJHZhbC1zbHVnIGZvciB1c2UgaW5cbiAgICAgICAgICAgICAgLy8gY29uc3RydWN0aW5nIHRoZSBzZWxlY3RvciAoLiRiLSRtLSR2KS5cblxuICAgICAgICAgICAgICAkdjogJHZhbC1zbHVnO1xuXG4gICAgICAgICAgICAgIC8vIC0tLS0tLS0tIFN0YXJ0IG9mIE1vZGlmaWVycyAtLS0tLS0tLS0tXG5cbiAgICAgICAgICAgICAgLy8gTm93IHdlJ2xsIGNoZWNrIGZvciBtb2RpZmllcnMgYW5kIGxvb3AgdGhyb3VnaCB0aGVtXG4gICAgICAgICAgICAgIC8vIHRvIGdldCB0aGUgcHJvcHMgd2UgbmVlZCB0byBidWlsZCBvdXIgcnVsZS5cblxuICAgICAgICAgICAgICAvLyBNb2RpZmllcnMgYXJlIGhlbGQgaW4gYSBNQVAsXG4gICAgICAgICAgICAgIC8vIHdoZXJlIGVhY2ggaW5kaXZpZHVhbCBtb2RpZmVyIGhhcyB0aGUga2V5cGFpclxuICAgICAgICAgICAgICAvLyBbc2x1Z106W3ZhbHVlXVxuXG4gICAgICAgICAgICAgIC8vIFNvLCBjaGVjayBmb3IgbW9kaWZpZXJzLlxuXG4gICAgICAgICAgICAgIEBpZiBtYXAuZ2V0KCR1dGlsaXR5LCBtb2RpZmllcnMpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbW9kaWZpZXJzLCBjYXB0dXJlIHRoZW0gYXMgJG91ci1tb2RpZmllcnMuXG5cbiAgICAgICAgICAgICAgICAkb3VyLW1vZGlmaWVyczogbWFwLmdldCgkdXRpbGl0eSwgbW9kaWZpZXJzKTtcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgYXJlbid0LCBidWlsZCBhIGR1bW15IHNvIHdlIGNhbiBrZWVwXG4gICAgICAgICAgICAgICAgLy8gYWxsIG91ciBidWlsZCBpbiB0aGUgc2FtZSBsb29wLlxuXG4gICAgICAgICAgICAgICAgJG91ci1tb2RpZmllcnM6IChcbiAgICAgICAgICAgICAgICAgIFwic2x1Z1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvLyBPSyEgQydtb24sIGxldCdzIGxvb3AhXG4gICAgICAgICAgICAgIC8vIGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9WDlpMmkwN3dQVXdcblxuICAgICAgICAgICAgICAvLyAtLS0tLS0tLSBGb3IgZWFjaCBtb2RpZmllciBpbiAkb3VyLW1vZGlmaWVycyAtLS0tLS0tLS0tXG5cbiAgICAgICAgICAgICAgQGVhY2ggJG1vZC1rZXksICRtb2QtdmFsIGluICRvdXItbW9kaWZpZXJzIHtcbiAgICAgICAgICAgICAgICAkcHJvcGVydHk6IGlmKFxuICAgICAgICAgICAgICAgICAgJG1vZC12YWwgPT0gbnVsbCBvciAkbW9kLXZhbCA9PSBcIlwiLFxuICAgICAgICAgICAgICAgICAgJHByb3BlcnR5LWRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICBtdWx0aS1jYXQoJHByb3BlcnR5LWRlZmF1bHQsICRtb2QtdmFsKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBOb3cgd2UgZ28gdGhyb3VnaCB0byBzZXQgdGhlICRzZWxlY3Rvci5cblxuICAgICAgICAgICAgICAgIC8vIElmIG1vZC1wcm9wcy5zbHVnIGlzIG5vTW9kaWZpZXIuLi5cblxuICAgICAgICAgICAgICAgIEBpZiAkbW9kLWtleSA9PVxuICAgICAgICAgICAgICAgICAgXCJcIiBvclxuICAgICAgICAgICAgICAgICAgJG1vZC1rZXkgPT1cbiAgICAgICAgICAgICAgICAgIHNsdWcgb3JcbiAgICAgICAgICAgICAgICAgIHNtYXJ0LXF1b3RlKCRtb2Qta2V5KSA9PVxuICAgICAgICAgICAgICAgICAgXCJub01vZGlmaWVyXCJcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAvLyBGaXJzdCwgd2UgY2FuIHRlc3QgdG8gc2VlIGlmIHRoZSBiYXNlICRiIGlzIG51bGxcblxuICAgICAgICAgICAgICAgICAgQGlmIG5vdCAkYiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIGl0IF9pc18gbnVsbCwgdGhlIHJ1bGUncyBzZWxlY3RvciBpcyAkdi5cblxuICAgICAgICAgICAgICAgICAgICAkc2VsZWN0b3I6ICR2O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSB2YWx1ZSBpcyBub1ZhbHVlICgnJylcbiAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgJG5vLXZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2VsZWN0b3IgaXMgdGhlIGJhc2Ugb25seVxuXG4gICAgICAgICAgICAgICAgICAgICRzZWxlY3RvcjogJGI7XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gb3RoZXJ3aXNlLCBzZWxjdG9yIGlzIGpvaW5lZCB3aXRoIGEgaHlwaGVuLlxuXG4gICAgICAgICAgICAgICAgICAgICRzZWxlY3RvcjogJGIgKyBcIi1cIiArICR2O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIE5pY2UhIFdlIGp1c3QgdG9vayBjYXJlIG9mIHRoZSBub24tbW9kaWZpZXIgY2FzZXMhXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgX2lzXyBhIG1vZGlmaWVyLi4uXG5cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAkbXY6IGlmKCRuby12YWx1ZSwgJG1vZC1rZXksICRtb2Qta2V5ICsgXCItXCIgKyAkdik7XG5cbiAgICAgICAgICAgICAgICAgIC8vIE9uY2Ugd2UgaGF2ZSAkbXYsIHRlc3QgZm9yICRiXG4gICAgICAgICAgICAgICAgICAvLyBhbmQgYnVpbGQgdGhlIHNlbGVjdG9yIGFzIGJlZm9yZS5cblxuICAgICAgICAgICAgICAgICAgJHNlbGVjdG9yOiBpZigkYiA9PSBudWxsLCAkbXYsICRiICsgXCItXCIgKyAkbXYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGZpbmlzaGVkIHNldHRpbmcgbW9kaWZpZXIgdmFyc1xuXG4gICAgICAgICAgICAgICAgLy8gSGV5LiBEaWQgd2UganVzdCBmaW5pc2ggJHNlbGVjdG9yP1xuICAgICAgICAgICAgICAgIC8vIEFuZCBkbyB3ZSBhbHNvIGhhdmUgJHByb3BlcnR5IGFuZCAkdmFsdWU/XG4gICAgICAgICAgICAgICAgLy8gV2UgZG8/IT8hPyEgV2UgZG8hXG5cbiAgICAgICAgICAgICAgICAvLyBGSU5BTExZLCAnQlVJTEQgVEhFIFJVTEUsIE1BWCEnXG4gICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1SM0lnejVTZkJDRVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVuZGVyLXV0aWxpdHkoXG4gICAgICAgICAgICAgICAgICAkdXRpbGl0eSxcbiAgICAgICAgICAgICAgICAgICRzZWxlY3RvcixcbiAgICAgICAgICAgICAgICAgICRwcm9wZXJ0eSxcbiAgICAgICAgICAgICAgICAgICR2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICR2YWwtdmFsdWUsXG4gICAgICAgICAgICAgICAgICAkbWVkaWEta2V5XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSAvLyBlbmQgdGhlIG1vZGlmaWVyIGxvb3BcbiAgICAgICAgICAgIH0gLy8gZW5kIHRoZSBudWxsIHZhbHVlIGNvbmRpdGlvbmFsXG4gICAgICAgICAgfSAvLyBlbmQgdGhlIHZhbHVlIGxvb3BcbiAgICAgICAgfSAvLyBlbmQgdGhlIG91dHB1dCBjb25kaXRpb25hbFxuICAgICAgfVxuICAgIH0gLy8gZW5kIHRoZSB1c2VsaXN0IGNvbmRpdGlvbmFsXG4gIH0gLy8gZW5kIHRoZSB1dGlsaXR5IGxvb3BcbiAgLy8gKO++ieKXleODruKXlSnvvokqOu+9pe++n+Kcp1xufVxuXG5AbWl4aW4gcmVuZGVyLXV0aWxpdGllcy1pbigkdXRpbGl0aWVzKSB7XG4gIEBpbmNsdWRlIHRoZXNlLXV0aWxpdGllcygkdXRpbGl0aWVzKTtcblxuICAkb3VyLWJyZWFrcG9pbnRzOiBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBicmVha3BvaW50cywgc3RhbmRhcmQpO1xuICBAZWFjaCAkbWVkaWEta2V5LCAkbWVkaWEtdmFsdWUgaW4gJG91ci1icmVha3BvaW50cyB7XG4gICAgQGlmIG1hcC5nZXQoJHRoZW1lLXV0aWxpdHktYnJlYWtwb2ludHMtY29tcGxldGUsICRtZWRpYS1rZXkpIHtcbiAgICAgIEBpbmNsdWRlIGF0LW1lZGlhKCRtZWRpYS1rZXkpIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlc2UtdXRpbGl0aWVzKCR1dGlsaXRpZXMsICRtZWRpYS1rZXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKiAgbm90aWZpY2F0aW9ucy5zY3NzXG4gICAgLS0tXG4gICAgQWRkcyBhIG5vdGlmaWNhdGlvbiBhdCB0aGUgdG9wIG9mIGVhY2ggVVNXRFNcbiAgICBjb21waWxlLiBVc2UgdGhpcyBmaWxlIGZvciBpbXBvcnRhbnQgbm90aWZpY2F0aW9uc1xuICAgIGFuZCB1cGRhdGVzIHRvIHRoZSBkZXNpZ24gc3lzdGVtLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuXG4qL1xuXG5AdXNlIFwic2V0dGluZ3NcIiBhcyAqO1xuXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbiR1c3dkcy1ub3RpZmljYXRpb25zOlxuICBcIlxcQVwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgXFwyNzA5ICBVU1dEUyBOb3RpZmljYXRpb25zXCJcbisgXCJcXEEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cIlxuKyBcIlxcQSAzLjAuMFwiXG4rIFwiXFxBIC0gU2V0dGluZ3M6IFdlIGRlcHJlY2F0ZWQgdGhlICRvdXRwdXQtYWxsLXV0aWxpdGllcyBzZXR0aW5nLlwiXG4rIFwiXFxBICAgQ29udHJvbCB1dGlsaXR5IG91dHB1dCB3aXRoICRvdXRwdXQtdGhlc2UtdXRpbGl0aWVzLlwiXG4rIFwiXFxBICAgU2VlIGRlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kb2N1bWVudGF0aW9uL3NldHRpbmdzIGZvciBtb3JlLlwiXG4rIFwiXFxBIFwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgMy4xLjBcIlxuKyBcIlxcQSAtIEFjY2Vzc2liaWxpdHk6IFdlIGFkZGVkIGB0eXBlPSdidXR0b24nYCB0byBhbGwgYnV0dG9ucyB0aGF0XCJcbisgXCJcXEEgICBkbyBub3Qgc3VibWl0IGEgZm9ybS4gQWxsIHlvdXIgbm9uLWZvcm0gcHJvamVjdCBidXR0b25zIHdpbGxcIlxuKyBcIlxcQSAgIG5lZWQgYHR5cGU9J2J1dHRvbidgLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogV2UgdXBkYXRlZCB0aGUgbWFya3VwIGluIHRoZSB1c2EtcGFzc3dvcmQgcGFja2FnZVwiXG4rIFwiXFxBICAgdG8gdXNlIGEgPGJ1dHRvbj4gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciBlbGVtZW50LlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogRWxlbWVudHMgdGhhdCBnZXQgYGFyaWEtZGlzYWJsZWRgIGluc3RlYWQgb2ZcIlxuKyBcIlxcQSAgIGBkaXNhYmxlZGAgYXJlIG5vdyBzdHlsZWQgYXMgZGlzYWJsZWQuXCJcbisgXCJcXEEgLSBDb21wYXRpYmlsaXR5OiBXZSdyZSB1c2luZyBzb21lIENTUyBzZWxlY3RvcnMgbm90IHN1cHBvcnRlZFwiXG4rIFwiXFxBICAgYnkgSUUxMS5cIlxuKyBcIlxcQSAtIERlcHJlY2F0ZWQ6IFdlIGRlcHJlY2F0ZWQgdGhlIGVtYmVkLWNvbnRhaW5lcigpIG1peGluLlwiXG4rIFwiXFxBIC0gRGlzcGxheTogV2UgcmVtb3ZlZCB0aGUgb3V0bGluZSBjaXJjbGUgZnJvbSBzb2NpYWwgbWVkaWEgaWNvbnMuXCJcbisgXCJcXEEgLSBTZXR0aW5nczogV2UgY2hhbmdlZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAkdGhlbWUtaGVyby1pbWFnZS5cIlxuKyBcIlxcQSAgIFRlYW1zIHRoYXQgdXNlIHRoZSBkZWZhdWx0IGltYWdlIChoZXJvLnBuZykgd2lsbCBuZWVkIHRvIGdldCB0aGVcIlxuKyBcIlxcQSAgIG5ldyBpbWFnZSAoaGVyby5qcGcpIGZyb20gdGhlIGRpc3RyaWJ1dGlvbiBwYWNrYWdlLlwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgMy4yLjBcIlxuKyBcIlxcQSAtIEFjY2Vzc2liaWxpdHk6IFdlIGNoYW5nZWQgYGRpdi51c2EtaWRlbnRpZmllcl9faWRlbnRpdHlgIHRvIFwiXG4rIFwiXFxBICAgYHNlY3Rpb24udXNhLWlkZW50aWZpZXJfX2lkZW50aXR5YCAod2UgY2hhbmdlZCB0aGUgZGl2IHRvIGEgXCJcbisgXCJcXEEgICBzZWN0aW9uKSBzbyB0aGUgQVJJQSBsYWJlbCBpcyBhc3NvY2lhdGVkIHdpdGggYW4gbm9uLWRpdiBlbGVtZW50LlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogV2UgdXBkYXRlZCB0aGUgYXJpYS1sYWJlbCBpbiBFbmdsaXNoIHZlcnNpb25zIG9mXCJcbisgXCJcXEEgICBzZWN0aW9uLnVzYS1iYW5uZXIgdG8gJ09mZmljaWFsIHdlYnNpdGUgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgXCJcbisgXCJcXEEgICBnb3Zlcm5tZW50JyB0byByZWR1Y2UgYW1iaWd1aXR5IGluIHNjcmVlbiByZWFkZXIgdm9jYWxpemF0aW9ucy4gXCJcbisgXCJcXEEgICBQcmV2aW91c2x5LCAnQW4gb2ZmaWNpYWwnIGNvdWxkIGJlIG1pc3VuZGVyc3Rvb2QgYXMgJ3Vub2ZmaWNpYWwnLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogV2UgYWRkZWQgYGFyaWEtaGlkZGVuPSd0cnVlJ2AgdG8gdGhlIHBhcmVudCBkaXYgXCJcbisgXCJcXEEgICBvZiBgcC51c2EtYmFubmVyX19oZWFkZXItdGV4dGAgaW4gdXNhLWJhbm5lci4gV2UgYWxzbyBcIlxuKyBcIlxcQSAgIHJlbW92ZWQgYGFyaWEtaGlkZGVuPSd0cnVlJ2AgZnJvbSBgcC51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uYC4gXCJcbisgXCJcXEEgICBUb2dldGhlciB0aGVzZSBhc3N1cmUgdGhhdCB0aGUgcHJvcGVyIGVsZW1lbnRzIGFyZSByZWFkIGluIHRoZVwiXG4rIFwiXFxBICAgYmFubmVyLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogSW4gdGhlIGxvY2sgaWNvbiBTVkcgaW4gdXNhLWJhbm5lciwgd2UgY2hhbmdlZCB0aGUgXCJcbisgXCJcXEEgICB2YWx1ZSBvZiBhcmlhLWxhYmVsbGVkYnkgdG8gIFwiXG4rIFwiXFxBICAgYGFyaWEtbGFiZWxsZWRieT0nYmFubmVyLWxvY2stZGVzY3JpcHRpb24nYCBhbmQgdXBkYXRlZCB0aGUgdmFsdWVcIlxuKyBcIlxcQSAgIG9mIGRlc2MjYmFubmVyLWxvY2stZGVzY3JpcHRpb24gdG8gYCdMb2NrZWQgcGFkbG9jaydgIHRvIHNpbXBsaWZ5XCJcbisgXCJcXEEgICB0aGUgdm9jYWxpemF0aW9uLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogV2UgYWRkZWQgYGFyaWEtaGlkZGVuPSd0cnVlJyB0byBcIlxuKyBcIlxcQSAgIGBpbWcudXNhLWJhbm5lcl9faGVhZGVyLWZsYWdgIGluIHVzYS1iYW5uZXIgc2luY2UgdGhpcyBpcyBhXCJcbisgXCJcXEEgICBkZWNvcmF0aXZlIGltYWdlLlwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgMy40LjBcIlxuKyBcIlxcQSAtIENvbXBhdGliaWxpdHk6IFdlIG5vIGxvbmdlciBpbmNsdWRlIHR0ZiBhbmQgd29mZiBmb250cyBpbiBvdXIgXCJcbisgXCJcXEEgICBAZm9udC1mYWNlIHJ1bGVzLiBJZiB5b3UgbmVlZCB0aGVzZSBmaWxlcyBmb3IgSUVsbCBjb21wYXRpYmlsaXR5LFwiXG4rIFwiXFxBICAgYWRkIGAkdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IHRydWVgIHRvIHlvdXIgcHJvamVjdFwiXG4rIFwiXFxBICAgc2V0dGluZ3MuXCJcbisgXCJcXEEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cIlxuKyBcIlxcQSAzLjUuMFwiXG4rIFwiXFxBIC0gU2FzczogUmVtb3ZlZCBgdXNhLXByb3NlLWAgbWl4aW5zIGFuZCBwbGFjZWhvbGRlcnMgZnJvbSBTYXNzLlwiXG4rIFwiXFxBICAgVGhpcyBpcyBhIGJyZWFraW5nIGNoYW5nZSBvbmx5IGlmIHlvdXIgcHJvamVjdCBTYXNzIHVzZXMgXCJcbisgXCJcXEEgICBgdXNhLXByb3NlLWAgbWl4aW5zIGFuZCBwbGFjZWhvbGRlcnMuIFVzZXJzIHNob3VsZCBpbnN0ZWFkIHVzZSBcIlxuKyBcIlxcQSAgIGB0eXBlc2V0LWAgbWl4aW5zIGluIHRoZWlyIHBsYWNlLlwiXG4rIFwiXFxBIC0gU2V0dGluZ3M6IE5vdyBhZGp1c3RpbmcgYSBzaW5nbGUgU2FzcyBtYXAgc2V0dGluZyB3aWxsIG5vIFwiXG4rIFwiXFxBICAgbG9uZ2VyIHNldCBhbGwgb3RoZXIgdmFsdWVzIGluIHRoZSBtYXAgdG8gYGZhbHNlYC4gVXNlcnMgY2FuXCJcbisgXCJcXEEgICBub3cgdXBkYXRlIG9ubHkgdGhlIG1hcCB2YWx1ZXMgdGhleSB3aXNoIHRvIGNoYW5nZS4gVGhpcyBpcyBhIFwiXG4rIFwiXFxBICAgYnJlYWtpbmcgY2hhbmdlIG9ubHkgaWYgeW91ciBwcm9qZWN0IGRlYWN0aXZhdGVkIG1hcHBlZCBcIlxuKyBcIlxcQSAgIHNldHRpbmdzIGJ5IG5vdCBkZWNsYXJpbmcgdGhlbS5cIlxuKyBcIlxcQSAtIEFjY2Vzc2liaWxpdHk6IFtmb3JtIGNvbnRyb2xzXSBXZSBpbXByb3ZlZCB0aGUgY29uc2lzdGVuY3kgYW5kIFwiXG4rIFwiXFxBICAgdmlzaWJpbGl0eSBvZiBkaXNhYmxlZCBzdHlsZXMuIFRlYW1zIHNob3VsZCBjaGVjayBkaXNhYmxlZCBmb3JtIFwiXG4rIFwiXFxBICAgZWxlbWVudHMgdG8gYXNzdXJlIHRoYXQgdGhlIG5ldyBzdHlsZXMgYXJlIHdvcmtpbmcgaW4gdGhlaXIgXCJcbisgXCJcXEEgICBsYXlvdXRzLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogW3VzYS1wYWdpbmF0aW9uXSBSZXBsYWNlIHRoZSBcIlxuKyBcIlxcQSAgIGByb2xlPVxcXCJwcmVzZW50YXRpb25cXFwiYCB3aXRoIGBhcmlhLWxhYmVsPVxcXCJlbGxpcHNpcyBpbmRpY2F0aW5nIFwiXG4rIFwiXFxBICAgbm9uLXZpc2libGUgcGFnZXNcXFwiIGluIGB1c2EtcGFnaW5hdGlvbl9fb3ZlcmZsb3dgIGl0ZW1zLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogW3VzYS1jYXJkXSBVc2UgbGluayBlbGVtZW50cyBpblwiXG4rIFwiXFxBICAgYW55IGNhcmQgY29tcG9uZW50IGZvciBjYWxscyB0byBhY3Rpb24gaW5zdGVhZCBvZiBidXR0b25zLiBVc2UgXCJcbisgXCJcXEEgICBgPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcInVzYS1idXR0b25cXFwiPjwvYT5gIGZvciB0aGVzZSBcIlxuKyBcIlxcQSAgIGNhbGwtdG8tYWN0aW9uIGxpbmtzLlwiXG4rIFwiXFxBIC0gQ29udGVudDogW3VzYS1pZGVudGlmaWVyXSBXZSB1cGRhdGVkIHRoZSBhY2Nlc3NpYmlsaXR5IHN0YXRlbWVudFwiXG4rIFwiXFxBICAgbGluayB0ZXh0LiBVc2UgdGhlIHRleHQgXFxcIkFjY2Vzc2liaWxpdHkgc3RhdGVtZW50XFxcIiAoRU4pIFwiXG4rIFwiXFxBICAgb3IgXFxcIkRlY2xhcmFjacOzbiBkZSBhY2Nlc2liaWxpZGFkXFxcIiAoRVMpIGZvciB0aGUgcmVxdWlyZWQgXCJcbisgXCJcXEEgICBsaW5rIHRvIGFuIGFjY2Vzc2liaWxpdHkgc3RhdGVtZW50LlwiXG4rIFwiXFxBIC0gR3VpZGFuY2UgW3VzYS1saW5rXTogV2Ugbm93IHN1Z2dlc3QgdXNpbmcgdGhlIGByZWw9XFxcIm5vcmVmZXJyZXJcXFwiYFwiXG4rIFwiXFxBICAgcHJvcGVydHkgb24gZXh0ZXJuYWwgbGlua3MuIFRoaXMgcHJldmVudHMgdGhlIGJyb3dzZXIgZnJvbSBsZWFraW5nIFwiXG4rIFwiXFxBICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yaWdpbmFsIHdlYiBhZGRyZXNzLlwiXG4rIFwiXFxBIC0gR3VpZGFuY2UgW3VzYS1mb3JtXTogV2Ugbm93IHN1Z2dlc3QgaWRlbnRpZnlpbmcgYm90aCByZXF1aXJlZCBcIlxuKyBcIlxcQSAgIGFuZCBvcHRpb25hbCBmaWVsZHMgaW4gZm9ybXMuIExhYmVsIHJlcXVpcmVkIGZpZWxkcyB3aXRoIGEgcmVkXCJcbisgXCJcXEEgICBhc3RlcmlzayBhbmQgb3B0aW9uYWwgZmllbGRzIHdpdGggdGhlIHdvcmQgXFxcIm9wdGlvbmFsXFxcIi5cIlxuKyBcIlxcQSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVwiXG4rIFwiXFxBIDMuNi4wXCJcbisgXCJcXEEgLSBTZXR0aW5nczogVGhpcyByZWxlYXNlIHVwZGF0ZXMgVVNXRFMgZGlzYWJsZWQgY29sb3Igc2V0dGluZ3NcIlxuKyBcIlxcQSAgIGFuZCB0b2tlbnMgdG8gY29uZm9ybSB0byBvdXIgc3RhbmRhcmQgbmFtaW5nIGNvbnZlbnRpb24uXCJcbisgXCJcXEEgICBJZiB5b3VyIHByb2plY3QgY29uZmlndXJlcyBkaXNhYmxlZCBjb2xvciBzZXR0aW5nc1wiXG4rIFwiXFxBICAgb3IgdXNlcyBkaXNhYmxlZCBjb2xvciB0b2tlbnMsIHlvdSBwcm9iYWJseSBuZWVkIHRvIHVwZGF0ZSB5b3VyXCJcbisgXCJcXEEgICBjb2RlLiBEZXRhaWxzOiBnaXRodWIuY29tL3Vzd2RzL3Vzd2RzL3JlbGVhc2VzL3RhZy92My42LjBcIlxuKyBcIlxcQSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVwiXG4rIFwiXFxBIDMuNy4wXCJcbisgXCJcXEEgRGV0YWlsczogZ2l0aHViLmNvbS91c3dkcy91c3dkcy9yZWxlYXNlcy90YWcvdjMuNy4wXCJcbisgXCJcXEEgXCJcbisgXCJcXEEgLSBBY2Nlc3NpYmlsaXR5OiBbdXNhLWlkZW50aWZpZXJdIFdlIHVwZGF0ZWQgdGhlIG1hcmt1cCB0byBpbXByb3ZlXCJcbisgXCJcXEEgICBob3cgc2NyZWVuIHJlYWRlcnMgcmVhZCB0aGUgcGhyYXNlICdBbiBvZmZpY2lhbCcuXCJcbisgXCJcXEEgLSBBY2Nlc3NpYmlsaXR5OiBbdXNhLXJhbmdlXSBXZSB1cGRhdGVkIHRoZSBtYXJrdXAgdG8gcmVtb3ZlXCJcbisgXCJcXEEgICByZWR1bmRhbnQgQVJJQSBhdHRyaWJ1dGVzIGFuZCBpbXByb3ZlIHRoZSBzY3JlZW4gcmVhZGVyIGV4cGVyaWVuY2UuXCJcbisgXCJcXEEgLSBBY2Nlc3NpYmlsaXR5OiBbdXNhLXJhbmdlXSBXZSBhZGRlZCBvcHRpb25hbCBkYXRhIGF0dHJpYnV0ZXMgdGhhdFwiXG4rIFwiXFxBICAgYWxsb3cgYWRkaW5nIHVuaXRzIHRvIHNjcmVlbiByZWFkZXIgb3V0cHV0LlwiXG4rIFwiXFxBIFwiO1xuXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbiR1c3dkcy1ub3RpZmljYXRpb24tZGlzYWJsZS1tZXNzYWdlOlxuICBcIlxcQVwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgVGhlc2UgYXJlIG5vdGlmaWNhdGlvbnMgZnJvbSB0aGUgVVNXRFMgdGVhbSwgbm90IG5lY2Vzc2FyaWx5IGFcIlxuKyBcIlxcQSBwcm9ibGVtIHdpdGggeW91ciBjb2RlLlwiXG4rIFwiXFxBXCJcbisgXCJcXEEgRGlzYWJsZSBub3RpZmljYXRpb25zIHVzaW5nIGAkdGhlbWUtc2hvdy1ub3RpZmljYXRpb25zOiBmYWxzZWAuXCJcbisgXCJcXEEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXEFcIjtcblxuQGlmICR0aGVtZS1zaG93LW5vdGlmaWNhdGlvbnMge1xuICBAd2FybiBcIiN7JHVzd2RzLW5vdGlmaWNhdGlvbnN9XCJcbiAgICArIFwiI3skdXN3ZHMtbm90aWZpY2F0aW9uLWRpc2FibGUtbWVzc2FnZX1cIjtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4vLyBAdXNlIFwiLi4vLi4vLi4vdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3ZhcmlhYmxlcy9mb250LXR5cGUtdG9rZW5zXCIgYXMgKjtcbi8vIEB1c2UgXCIuLi8uLi8uLi91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL2dlbmVyYWwvZm9udC1mYWNlXCIgYXMgKjtcblxuLy8gQGVhY2ggJGZvbnQtdHlwZS10b2tlbiwgJG1ldGFkYXRhIGluICRwcm9qZWN0LWZvbnQtdHlwZS10b2tlbnMge1xuLy8gICBAaWYgbWFwLmdldCgkbWV0YWRhdGEsIFwidHlwZWZhY2UtdG9rZW5cIikge1xuLy8gICAgICR0aGlzLXR5cGVmYWNlLXRva2VuOiBtYXAuZ2V0KCRtZXRhZGF0YSwgXCJ0eXBlZmFjZS10b2tlblwiKTtcbi8vICAgICAkdGhpcy1zcmM6IG1hcC5nZXQoJG1ldGFkYXRhLCBcInNyY1wiKTtcbi8vICAgICBAaW5jbHVkZSByZW5kZXItZm9udC1mYWNlKCR0aGlzLXR5cGVmYWNlLXRva2VuLCAkdGhpcy1zcmMpO1xuLy8gICB9XG4vLyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi8iLCJAdXNlIFwiLi4vLi4vLi4vdXN3ZHMtY29yZVwiIGFzICo7XG5cbi51c2EtbWVkaWEtYmxvY2sge1xuICBAaW5jbHVkZSB1LWFsaWduLWl0ZW1zKFwiYWxpZ24tc3RhcnRcIik7XG4gIEBpbmNsdWRlIHUtZGlzcGxheShcImZsZXhcIik7XG59XG5cbi51c2EtbWVkaWEtYmxvY2tfX2ltZyB7XG4gIEBpbmNsdWRlIG1lZGlhLWJsb2NrLWltZztcbn1cblxuLnVzYS1tZWRpYS1ibG9ja19fYm9keSB7XG4gIEBpbmNsdWRlIHUtZmxleCgxKTtcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC91bnBhY2tcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsL2hhcy1pbXBvcnRhbnRcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9vdXRwdXQvZ2V0LXVzd2RzLXZhbHVlXCIgYXMgKjtcblxuLy8gT3V0cHV0cyBhbGlnbi1pdGVtc1xuXG5AbWl4aW4gdS1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgJHZhbHVlOiB1bnBhY2soJHZhbHVlKTtcbiAgJGltcG9ydGFudDogbnVsbDtcbiAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICB9XG4gICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICB9XG4gIGFsaWduLWl0ZW1zOiBnZXQtdXN3ZHMtdmFsdWUoXCJhbGlnbi1pdGVtc1wiLCAkdmFsdWUpICN7JGltcG9ydGFudH07XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLy8gT3V0cHV0cyBkaXNwbGF5XG5cbkBtaXhpbiB1LWRpc3BsYXkoJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gICRpbXBvcnRhbnQ6IG51bGw7XG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuICBkaXNwbGF5OiBnZXQtdXN3ZHMtdmFsdWUoXCJkaXNwbGF5XCIsICR2YWx1ZSkgI3skaW1wb3J0YW50fTtcbn1cbiIsIkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuXG5AbWl4aW4gbWVkaWEtYmxvY2staW1nKCRtYXJnaW4tcmlnaHQ6IHVuaXRzKDEpKSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3Byb3BlcnRpZXNcIiBhcyAqO1xuXG4vLyBPdXRwdXRzIGZsZXhcblxuJGZsZXgtdXRpbGlsaWVzOiAoXG4gIFwiYWxpZ24taXRlbXNcIjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiYWxpZ24taXRlbXNcIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJhbGlnbi1pdGVtc1wiLCBleHRlbmRlZClcbiAgICApLFxuICBcImFsaWduLXNlbGZcIjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiYWxpZ24tc2VsZlwiLCBzdGFuZGFyZCksXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImFsaWduLXNlbGZcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgXCJmbGV4XCI6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImZsZXhcIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJmbGV4XCIsIGV4dGVuZGVkKVxuICAgICksXG4gIFwiZmxleC1kaXJlY3Rpb25cIjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiZmxleC1kaXJlY3Rpb25cIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJmbGV4LWRpcmVjdGlvblwiLCBleHRlbmRlZClcbiAgICApLFxuICBcImZsZXgtd3JhcFwiOlxuICAgIG1hcC1jb2xsZWN0KFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJmbGV4LXdyYXBcIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJmbGV4LXdyYXBcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgXCJqdXN0aWZ5LWNvbnRlbnRcIjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwianVzdGlmeS1jb250ZW50XCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwianVzdGlmeS1jb250ZW50XCIsIGV4dGVuZGVkKVxuICAgICksXG4pO1xuXG5AbWl4aW4gdS1mbGV4KCR2YWx1ZS4uLikge1xuICAkdmFsdWU6IHVucGFjaygkdmFsdWUpO1xuICAkaW1wb3J0YW50OiBudWxsO1xuICBAaWYgaGFzLWltcG9ydGFudCgkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICR2YWx1ZTogZGUtbGlzdCgkdmFsdWUpO1xuICAgIH1cbiAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gIH1cbiAgQGVhY2ggJHRoaXMtdmFsdWUgaW4gJHZhbHVlIHtcbiAgICAkbWF0Y2g6IGZhbHNlO1xuICAgIEBlYWNoICRwcm9wZXJ0eSwgJG1hcCBpbiAkZmxleC11dGlsaWxpZXMge1xuICAgICAgQGlmIG5vdCAkbWF0Y2ggYW5kIG1hcC5oYXMta2V5KCRtYXAsICR0aGlzLXZhbHVlKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogZ2V0LXVzd2RzLXZhbHVlKCRwcm9wZXJ0eSwgJHRoaXMtdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gICAgICAgICRtYXRjaDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIG5vdCAkbWF0Y2gge1xuICAgICAgQGVycm9yICdgI3skdGhpcy12YWx1ZX1gIGlzIG5vdCBhIHZhbGlkIGBmbGV4YCB2YWx1ZS4nO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AdXNlIFwiLi4vLi4vLi4vdXN3ZHMtY29yZVwiIGFzICo7XG5cbiRiYW5uZXItY29udGV4dDogXCJCYW5uZXJcIjtcbiRiYW5uZXItZ3VpZGFuY2UtbWVhc3VyZTogMztcbiRiYW5uZXItaWNvbi1jb2xvcnM6IGdldC1saW5rLXRva2Vucy1mcm9tLWJnKCR0aGVtZS1iYW5uZXItYmFja2dyb3VuZC1jb2xvcixcbiAgICAkdGhlbWUtYmFubmVyLWxpbmstY29sb3IsXG4gICAgJGNvbnRleHQ6ICRiYW5uZXItY29udGV4dCk7XG4kYmFubmVyLWljb24tY29sb3I6IGxpc3QubnRoKCRiYW5uZXItaWNvbi1jb2xvcnMsIDEpO1xuJGJhbm5lci1pY29uLWhvdmVyOiBsaXN0Lm50aCgkYmFubmVyLWljb24tY29sb3JzLCAyKTtcbiRiYW5uZXItaWNvbi1jaGV2cm9uOiAoXG4gIFwibmFtZVwiOiBcImV4cGFuZF9tb3JlXCIsXG4gIFwic3ZnLWhlaWdodFwiOiA0MCxcbiAgXCJzdmctd2lkdGhcIjogNDAsXG4gIFwiaGVpZ2h0XCI6IDIsXG4gIFwiY29sb3JcIjogJGJhbm5lci1pY29uLWNvbG9yLFxuICBcImNvbG9yLXZhcmlhbnRcIjogXCJ3aGl0ZVwiLFxuICBcImNvbG9yLWhvdmVyXCI6ICRiYW5uZXItaWNvbi1ob3Zlcixcbik7XG4kYmFubmVyLWljb24tY2hldnJvbi11cDogbWFwLW1lcmdlKCRiYW5uZXItaWNvbi1jaGV2cm9uLFxuICAgIChcIm5hbWVcIjogXCJleHBhbmRfbGVzc1wiLFxuICAgICkpO1xuJGJhbm5lci1pY29uLWNsb3NlOiAoXG4gIFwibmFtZVwiOiBcImNsb3NlXCIsXG4gIFwic3ZnLWhlaWdodFwiOiA0MCxcbiAgXCJzdmctd2lkdGhcIjogNDAsXG4gIFwiaGVpZ2h0XCI6IDMsXG4gIFwiY29sb3JcIjogXCJibHVlLTYwdlwiLFxuICBcImNvbG9yLXZhcmlhbnRcIjogXCJ3aGl0ZVwiLFxuICBcImNvbnRhaW5lci1oZWlnaHRcIjogJHNpemUtdG91Y2gtdGFyZ2V0LFxuICBcImNvbnRhaW5lci13aWR0aFwiOiAkc2l6ZS10b3VjaC10YXJnZXQsXG4pO1xuXG4udXNhLWJhbm5lciB7XG4gIEBpbmNsdWRlIHR5cGVzZXQoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3gtc2l6aW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyAvL2Z1bmN0aW9uIHdhcyBub3Qgd29ya2luZywgaGFkIHRvIGhhcmQgY29kZSBiYXNlZCBvbiBVU1dEUyB2YWx1ZXNcblxuICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSwgXCIzeHNcIik7XG4gICAgcGFkZGluZy1ib3R0b206IHVuaXRzKDApO1xuICB9XG5cbiAgLnVzYS1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIHR5cGVzZXQoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSk7XG4gIH1cblxuICAvLyAhIFN0eWxlbGludCB3aWxsIGNvbXBsYWluIGFib3V0IEJFTSBmb3JtYXR0aW5nLlxuICAvLyBBZGRlZCBncmlkIGNsYXNzZXMgaW4gIzUwMDAgdG8gcmVtb3ZlIGxheW91dCBncmlkIGRlcGVuZGVuY3kuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgLmdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgICYuZ3JpZC1nYXAtbGcge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1nYXAoXCJsZ1wiKTtcbiAgICB9XG5cbiAgICAudGFibGV0XFw6Z3JpZC1jb2wtNiB7XG4gICAgICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1lbmFibGVcbn1cblxuLnVzYS1iYW5uZXJfX2hlYWRlcixcbi51c2EtYmFubmVyX19jb250ZW50IHtcbiAgQGluY2x1ZGUgc2V0LXRleHQtZnJvbS1iZygkdGhlbWUtYmFubmVyLWJhY2tncm91bmQtY29sb3IsXG4gICAgJGNvbnRleHQ6ICRiYW5uZXItY29udGV4dCApO1xufVxuXG4udXNhLWJhbm5lcl9fY29udGVudCB7XG4gIEBpbmNsdWRlIGdyaWQtY29udGFpbmVyKCR0aGVtZS1iYW5uZXItbWF4LXdpZHRoKTtcbiAgQGluY2x1ZGUgYWRkLXJlc3BvbnNpdmUtc2l0ZS1tYXJnaW5zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInRyYW5zcGFyZW50XCIpO1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgkdGhlbWUtYmFubmVyLWZvbnQtZmFtaWx5LCA0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IHVuaXRzKDIpO1xuICBwYWRkaW5nLWxlZnQ6IHVuaXRzKCR0aGVtZS1zaXRlLW1hcmdpbnMtbW9iaWxlLXdpZHRoKSAtIHVuaXRzKDEpO1xuICBwYWRkaW5nLXRvcDogdW5pdHMoMC41KTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgIEBpbmNsdWRlIHUtcGFkZGluZy15KDMpO1xuICB9XG5cbiAgcCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi51c2EtYmFubmVyX19ndWlkYW5jZSB7XG4gIEBpbmNsdWRlIHUtZGlzcGxheShcImZsZXhcIik7XG4gIEBpbmNsdWRlIHUtZmxleChcImFsaWduLXN0YXJ0XCIpO1xuICBAaW5jbHVkZSB1LW1lYXN1cmUoJGJhbm5lci1ndWlkYW5jZS1tZWFzdXJlKTtcbiAgcGFkZGluZy10b3A6IHVuaXRzKDIpO1xuXG4gIEBpbmNsdWRlIGF0LW1lZGlhKFwidGFibGV0XCIpIHtcbiAgICBwYWRkaW5nLXRvcDogdW5pdHMoMCk7XG4gIH1cbn1cblxuLnVzYS1iYW5uZXJfX2xvY2staW1hZ2Uge1xuICAkbG9jay1oOiA2NDsgLy8gdW5pdGxlc3MgaGVpZ2h0IG9mIHN2Z1xuICAkbG9jay13OiA1MjsgLy8gdW5pdGxlc3Mgd2lkdGggb2Ygc3ZnXG4gICRsb2NrLWFzcGVjdDogbWF0aC5kaXYoJGxvY2stdywgJGxvY2staCk7XG4gICRpY29uLWhlaWdodDogMS41ZXg7IC8vIGhlaWdodCBvZiB0aGUgbG9jayBpY29uOyB1c2UgZXggZm9yIHJlc2lsaWVuY2VcblxuICBoZWlnaHQ6ICRpY29uLWhlaWdodDtcbiAgd2lkdGg6ICRpY29uLWhlaWdodCAqICRsb2NrLWFzcGVjdDtcblxuICBwYXRoIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgZmlsbDogQ2FudmFzVGV4dDtcbiAgICB9XG4gIH1cbn1cblxuLnVzYS1iYW5uZXJfX2lubmVyIHtcbiAgQGluY2x1ZGUgYWRkLXJlc3BvbnNpdmUtc2l0ZS1tYXJnaW5zO1xuICBAaW5jbHVkZSBncmlkLWNvbnRhaW5lcigkdGhlbWUtYmFubmVyLW1heC13aWR0aCk7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSB1LWZsZXgoXCJhbGlnbi1zdGFydFwiKTtcbiAgcGFkZGluZy1yaWdodDogdW5pdHMoMCk7XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgIEBpbmNsdWRlIHUtZmxleChcImFsaWduLWNlbnRlclwiKTtcbiAgfVxufVxuXG4udXNhLWJhbm5lcl9faGVhZGVyIHtcbiAgQGluY2x1ZGUgdS1wYWRkaW5nLXkoMSk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCR0aGVtZS1iYW5uZXItZm9udC1mYW1pbHksIDEpO1xuICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoXCJub3JtYWxcIik7XG4gIG1pbi1oZWlnaHQ6IHVuaXRzKCRzaXplLXRvdWNoLXRhcmdldCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgdS1wYWRkaW5nLXkoMC41KTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItdGV4dCB7XG4gIEBpbmNsdWRlIHUtbWFyZ2luLXkoMCk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCR0aGVtZS1iYW5uZXItZm9udC1mYW1pbHksIDEpO1xuICBsaW5lLWhlaWdodDogbGluZS1oZWlnaHQoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSwgMik7XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uIHtcbiAgQGluY2x1ZGUgcGxhY2UtaWNvbigkYmFubmVyLWljb24tY2hldnJvbiwgXCJhZnRlclwiKTtcbiAgQGluY2x1ZGUgc2V0LWxpbmstZnJvbS1iZygkdGhlbWUtYmFubmVyLWJhY2tncm91bmQtY29sb3IsXG4gICAgJHRoZW1lLWJhbm5lci1saW5rLWNvbG9yLFxuICAgICRjb250ZXh0OiAkYmFubmVyLWNvbnRleHQgKTtcblxuICBsaW5lLWhlaWdodDogbGluZS1oZWlnaHQoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSwgMik7XG4gIG1hcmdpbi1ib3R0b206IHVuaXRzKDApO1xuICBtYXJnaW4tdG9wOiB1bml0cygycHgpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAudXNhLWJhbm5lcl9faGVhZGVyLS1leHBhbmRlZCAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIGNvbG9yOiBMaW5rVGV4dDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEJ1dHRvblRleHQ7XG4gICAgfVxuICB9XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItZmxhZyB7XG4gIEBpbmNsdWRlIHUtZmxvYXQoXCJsZWZ0XCIpO1xuICBtYXJnaW4tcmlnaHQ6IHVuaXRzKDEpO1xuICB3aWR0aDogdW5pdHMoMik7XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgIG1hcmdpbi1yaWdodDogdW5pdHMoMSk7XG4gICAgcGFkZGluZy10b3A6IHVuaXRzKDApO1xuICB9XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItLWV4cGFuZGVkIHtcbiAgcGFkZGluZy1yaWdodDogdW5pdHMoJHNpemUtdG91Y2gtdGFyZ2V0KSArIHVuaXRzKDEpO1xuXG4gIEBpbmNsdWRlIGF0LW1lZGlhKFwidGFibGV0XCIpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgkdGhlbWUtYmFubmVyLWZvbnQtZmFtaWx5LCAxKTtcbiAgICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoXCJub3JtYWxcIik7XG4gICAgbWluLWhlaWdodDogdW5pdHMoMCk7XG4gICAgcGFkZGluZy1yaWdodDogdW5pdHMoMCk7XG4gIH1cblxuICAudXNhLWJhbm5lcl9faW5uZXIge1xuICAgIG1hcmdpbi1sZWZ0OiB1bml0cygwKTtcblxuICAgIEBpbmNsdWRlIGF0LW1lZGlhKFwidGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bml0cyhhdXRvKTtcbiAgICB9XG4gIH1cblxuICAudXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXVuc3R5bGVkO1xuICBAaW5jbHVkZSB1LXBpbihcImxlZnRcIik7XG4gIEBpbmNsdWRlIHUtcGluKFwieVwiKTtcbiAgQGluY2x1ZGUgdS10ZXh0KFwicHJpbWFyeVwiLCB1bmRlcmxpbmUsIGJhc2VsaW5lKTtcbiAgQGluY2x1ZGUgc2V0LWxpbmstZnJvbS1iZygkdGhlbWUtYmFubmVyLWJhY2tncm91bmQtY29sb3IsXG4gICAgJHRoZW1lLWJhbm5lci1saW5rLWNvbG9yLFxuICAgICRjb250ZXh0OiAkYmFubmVyLWNvbnRleHQgKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCR0aGVtZS1iYW5uZXItZm9udC1mYW1pbHksIDEpO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiBsaW5lLWhlaWdodCgkdGhlbWUtYmFubmVyLWZvbnQtZmFtaWx5LCAyKTtcbiAgcGFkZGluZy10b3A6IHVuaXRzKDApO1xuICBwYWRkaW5nLWxlZnQ6IHVuaXRzKDApO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIEBpbmNsdWRlIGF0LW1lZGlhLW1heChcInRhYmxldFwiKSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOmVuYWJsZWQ6Zm9jdXMge1xuICAgICAgLy8gYWRqdXN0IG91dGxpbmUgdG8gcmVuZGVyIHdpdGhpbiB0aGUgdmlld3BvcnRcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiB1bml0cygtMC41KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgcGxhY2UtaWNvbigkYmFubmVyLWljb24tY2hldnJvbiwgXCJhZnRlclwiLCBcIjJweFwiKTtcbiAgICBAaW5jbHVkZSBzZXQtbGluay1mcm9tLWJnKCR0aGVtZS1iYW5uZXItYmFja2dyb3VuZC1jb2xvcixcbiAgICAgICR0aGVtZS1iYW5uZXItbGluay1jb2xvcixcbiAgICAgICRjb250ZXh0OiAkYmFubmVyLWNvbnRleHQgKTtcbiAgICBAaW5jbHVkZSB1LXBpbihcIm5vbmVcIik7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiB1bml0cygxKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlcixcbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAvLyBVbmRlcmxpbmUgYWRkZWQgdG8gaW5uZXIgdGV4dCBpbnN0ZWFkLlxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBpY29uIHNldCBmcm9tIHVzYS1hY2NvcmRpb24uXG4gIC8vIEFsc28gcmVtb3ZlZCBpbiBfdXNhLW5hdi5zY3NzLlxuICAmW2FyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXSxcbiAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl06aG92ZXIsXG4gICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0sXG4gICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBAaW5jbHVkZSBhdC1tZWRpYS1tYXgoXCJ0YWJsZXRcIikge1xuICAgICAgQGluY2x1ZGUgcGxhY2UtaWNvbigkYmFubmVyLWljb24tY2xvc2UsXG4gICAgICAgIFwiYWZ0ZXJcIixcbiAgICAgICAgMCxcbiAgICAgICAgbWlkZGxlLFxuICAgICAgICBcImJhc2UtbGlnaHRlclwiXG4gICAgICApO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB1LXBpbihcInlcIik7XG4gICAgICAgIEBpbmNsdWRlIHUtcGluKFwicmlnaHRcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiYmFzZS1saWdodGVyXCIpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiB1bml0cygkc2l6ZS10b3VjaC10YXJnZXQpO1xuICAgICAgICB3aWR0aDogdW5pdHMoJHNpemUtdG91Y2gtdGFyZ2V0KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB1LXBpbihcInlcIik7XG4gICAgICAgIEBpbmNsdWRlIHUtcGluKFwicmlnaHRcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgICAgQGluY2x1ZGUgcGxhY2UtaWNvbigkYmFubmVyLWljb24tY2hldnJvbi11cCxcbiAgICAgICAgXCJhZnRlclwiLFxuICAgICAgICBcIjJweFwiLFxuICAgICAgICBtaWRkbGUsXG4gICAgICAgICR0aGVtZS1iYW5uZXItYmFja2dyb3VuZC1jb2xvciApO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogdW5pdHMoMCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyLFxuICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25UZXh0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi51c2EtYmFubmVyX19idXR0b24tdGV4dCB7XG4gIEBpbmNsdWRlIGFkZC1zci1vbmx5O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgYWRkLW5vLXNyLW9ubHk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICBjb2xvcjogTGlua1RleHQ7XG4gIH1cbn1cblxuLnVzYS1iYW5uZXJfX2ljb24ge1xuICB3aWR0aDogdW5pdHMoNSk7XG59XG5cbi8vIFt1c3dkcy1pbml0LmpzXSBPZmZzY3JlZW4gY29udGVudCB3aGlsZSBqcyBpcyBsb2FkaW5nXG4udXNhLWpzLWxvYWRpbmcge1xuICAudXNhLWJhbm5lcl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWRkLXNyLW9ubHk7XG4gIH1cbn0iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLy8gT3V0cHV0cyBsaW5lLWhlaWdodFxuXG5AbWl4aW4gdS1saW5lLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgJHZhbHVlOiB1bnBhY2soJHZhbHVlKTtcbiAgJGltcG9ydGFudDogbnVsbDtcbiAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICB9XG4gICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICB9XG4gICRmYW1pbHk6IGxpc3QubnRoKCR2YWx1ZSwgMSk7XG4gICRzY2FsZTogbGlzdC5udGgoJHZhbHVlLCAyKTtcbiAgbGluZS1oZWlnaHQ6IGxoKCRmYW1pbHksICRzY2FsZSkgI3skaW1wb3J0YW50fTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vcHJvcGVydGllc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG4vLyBNb2JpbGUtZmlyc3QgbWVkaWEgcXVlcnkgaGVscGVyXG5cbkBtaXhpbiBhdC1tZWRpYSgkYnApIHtcbiAgJHF1b3RlZC1icDogc21hcnQtcXVvdGUoJGJwKTtcbiAgJG91ci1icmVha3BvaW50czogbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgYnJlYWtwb2ludHMsIHN0YW5kYXJkKTtcbiAgQGlmICRxdW90ZWQtYnAgPT0gXCJub25lXCIge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmIG1hcC5oYXMta2V5KCRvdXItYnJlYWtwb2ludHMsICRxdW90ZWQtYnApIHtcbiAgICBAaWYgJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUge1xuICAgICAgJGJwOiByZW0tdG8tdXNlci1lbShtYXAuZ2V0KCRvdXItYnJlYWtwb2ludHMsICRxdW90ZWQtYnApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRicDogcmVtLXRvLXB4KG1hcC5nZXQoJG91ci1icmVha3BvaW50cywgJHF1b3RlZC1icCkpO1xuICAgIH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAjeyRicH0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJ2AjeyRicH1gIGlzIG5vdCBhIHZhbGlkIFVTV0RTIHByb2plY3QgYnJlYWtwb2ludC4gVmFsaWQgdmFsdWVzOiAje21hcC5rZXlzKCRvdXItYnJlYWtwb2ludHMpfSc7XG4gIH1cbn1cblxuLy8gTWF4LXdpZHRoIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gYXQtbWVkaWEtbWF4KCRicCkge1xuICAkcXVvdGVkLWJwOiBzbWFydC1xdW90ZSgkYnApO1xuICAkb3VyLWJyZWFrcG9pbnRzOiBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBicmVha3BvaW50cywgc3RhbmRhcmQpO1xuICBAaWYgbWFwLWhhcy1rZXkoJG91ci1icmVha3BvaW50cywgJHF1b3RlZC1icCkge1xuICAgIEBpZiAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSB7XG4gICAgICAkYnA6IHJlbS10by11c2VyLWVtKG1hcC5nZXQoJG91ci1icmVha3BvaW50cywgJHF1b3RlZC1icCkpIC0gMC4wMWVtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGJwOiByZW0tdG8tcHgobWFwLmdldCgkb3VyLWJyZWFrcG9pbnRzLCAkcXVvdGVkLWJwKSkgLSAxcHg7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnYCN7JGJwfWAgaXMgbm90IGEgdmFsaWQgVVNXRFMgcHJvamVjdCBicmVha3BvaW50LiBWYWxpZCB2YWx1ZXM6ICN7bWFwLWtleXMoJG91ci1icmVha3BvaW50cyl9JztcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAjeyRicH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5cbi8vIEFkZHMgbWFyZ2luIGVpdGhlciBsL3IoeCkgb3IgdC9iKHkpXG5cbkBtaXhpbiBtYXJnaW4tbigkc2lkZSwgJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gIEBpZiAkc2lkZSA9PSBhbGwge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7XG4gICAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgICB9XG4gICAgbWFyZ2luOiBnZXQtdXN3ZHMtdmFsdWUobWFyZ2luLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0geCB7XG4gICAgJGltcG9ydGFudDogbnVsbDtcbiAgICBAaWYgaGFzLWltcG9ydGFudCgkdmFsdWUpIHtcbiAgICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAgICR2YWx1ZTogZGUtbGlzdCgkdmFsdWUpO1xuICAgICAgfVxuICAgICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLWhvcml6b250YWxcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICAgIG1hcmdpbi1yaWdodDogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLWhvcml6b250YWxcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICB9IEBlbHNlIGlmICRzaWRlID09IHkge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7XG4gICAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLXZlcnRpY2FsXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbiAgICBtYXJnaW4tdG9wOiBnZXQtdXN3ZHMtdmFsdWUoXCJtYXJnaW4tdmVydGljYWxcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICB9IEBlbHNlIGlmICRzaWRlID09IHQge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7XG4gICAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgICB9XG4gICAgbWFyZ2luLXRvcDogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLXZlcnRpY2FsXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSByIHtcbiAgICAkaW1wb3J0YW50OiBudWxsO1xuICAgIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgICB9XG4gICAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLWhvcml6b250YWxcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICB9IEBlbHNlIGlmICRzaWRlID09IGIge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7XG4gICAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLXZlcnRpY2FsXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBsIHtcbiAgICAkaW1wb3J0YW50OiBudWxsO1xuICAgIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgICB9XG4gICAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiBnZXQtdXN3ZHMtdmFsdWUoXCJtYXJnaW4taG9yaXpvbnRhbFwiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gIH1cbn1cblxuQG1peGluIHUtbWFyZ2luKCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBtYXJnaW4tbihhbGwsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LW1hcmdpbi14KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBtYXJnaW4tbih4LCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1tYXJnaW4teSgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgbWFyZ2luLW4oeSwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtbWFyZ2luLXRvcCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgbWFyZ2luLW4odCwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtbWFyZ2luLXJpZ2h0KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBtYXJnaW4tbihyLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1tYXJnaW4tYm90dG9tKCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBtYXJnaW4tbihiLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1tYXJnaW4tbGVmdCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgbWFyZ2luLW4obCwgJHZhbHVlLi4uKTtcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2xheW91dC1ncmlkXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL21peGlucy9oZWxwZXJzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9taXhpbnMvdXRpbGl0aWVzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi90b2tlbnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9jb2x1bW4tZ2Fwc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AbWl4aW4gZ3JpZC1nYXAtcmVzcG9uc2l2ZSB7XG4gICRnYXAtbW9iaWxlOiBpZihcbiAgICBtYXAuaGFzLWtleSgkc3lzdGVtLWNvbHVtbi1nYXBzLCAkdGhlbWUtY29sdW1uLWdhcC1tb2JpbGUpLFxuICAgIG1hcC5nZXQoJHN5c3RlbS1jb2x1bW4tZ2FwcywgJHRoZW1lLWNvbHVtbi1nYXAtbW9iaWxlKSxcbiAgICBcImVycm9yXCJcbiAgKTtcbiAgJGdhcC1kZXNrdG9wOiBpZihcbiAgICBtYXAuaGFzLWtleSgkc3lzdGVtLWNvbHVtbi1nYXBzLCAkdGhlbWUtY29sdW1uLWdhcC1kZXNrdG9wKSxcbiAgICBtYXAuZ2V0KCRzeXN0ZW0tY29sdW1uLWdhcHMsICR0aGVtZS1jb2x1bW4tZ2FwLWRlc2t0b3ApLFxuICAgIFwiZXJyb3JcIlxuICApO1xuXG4gIEBpZiAkZ2FwLW1vYmlsZSA9PSBcImVycm9yXCIge1xuICAgIEBlcnJvciAnJHRoZW1lLWNvbHVtbi1nYXAtbW9iaWxlIGlzIG5vdCBzZXQgdG8gYSB2YWxpZCBjb2x1bW4gZ2FwIHdpZHRoLic7XG4gIH1cblxuICBAaWYgJGdhcC1kZXNrdG9wID09IFwiZXJyb3JcIiB7XG4gICAgQGVycm9yICckdGhlbWUtY29sdW1uLWdhcC1kZXNrdG9wIGlzIG5vdCBzZXQgdG8gYSB2YWxpZCBjb2x1bW4gZ2FwIHdpZHRoLic7XG4gIH1cblxuICBAaW5jbHVkZSB1LW1hcmdpbi14KFxuICAgIHVucXVvdGUoXCIjeyRuZWctcHJlZml4fS0je2NhbGMtZ2FwLW9mZnNldCgkZ2FwLW1vYmlsZSl9XCIpXG4gICk7XG5cbiAgPiAqIHtcbiAgICBAaW5jbHVkZSB0aGlzLWJvcmRlci1ib3gtc2l6aW5nO1xuICAgIEBpbmNsdWRlIHUtcGFkZGluZy14KGNhbGMtZ2FwLW9mZnNldCgkZ2FwLW1vYmlsZSkpO1xuICB9XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJkZXNrdG9wXCIpIHtcbiAgICBAaW5jbHVkZSB1LW1hcmdpbi14KFxuICAgICAgdW5xdW90ZShcIiN7JG5lZy1wcmVmaXh9LSN7Y2FsYy1nYXAtb2Zmc2V0KCRnYXAtZGVza3RvcCl9XCIpXG4gICAgKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSB0aGlzLWJvcmRlci1ib3gtc2l6aW5nO1xuICAgICAgQGluY2x1ZGUgdS1wYWRkaW5nLXgoY2FsYy1nYXAtb2Zmc2V0KCRnYXAtZGVza3RvcCkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC1nYXAoJHByb3BzLi4uKSB7XG4gICRwcm9wczogdW5wYWNrKCRwcm9wcyk7XG4gIEBpZiBsZW5ndGgoJHByb3BzKSA9PSAwIHtcbiAgICBAaW5jbHVkZSBncmlkLWdhcC1yZXNwb25zaXZlO1xuICB9IEBlbHNlIHtcbiAgICAkZ2FwOiBzbWFydC1xdW90ZShsaXN0Lm50aCgkcHJvcHMsIDEpKTtcbiAgICBAaWYgJGdhcCA9PSAwIHtcbiAgICAgIEBpbmNsdWRlIHUtbWFyZ2luLXgoYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIDApKTtcblxuICAgICAgPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgdGhpcy1ib3JkZXItYm94LXNpemluZztcbiAgICAgICAgQGluY2x1ZGUgdS1wYWRkaW5nLXgoYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIDApKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBtYXAuaGFzLWtleSgkcHJvamVjdC1jb2x1bW4tZ2FwcywgJGdhcCkge1xuICAgICAgICAkZ2FwOiBtYXAuZ2V0KCRwcm9qZWN0LWNvbHVtbi1nYXBzLCAkZ2FwKTtcbiAgICAgIH0gQGVsc2UgaWYgbWFwLmhhcy1rZXkoJHN5c3RlbS1jb2x1bW4tZ2FwcywgJGdhcCkge1xuICAgICAgICAkZ2FwOiBtYXAuZ2V0KCRzeXN0ZW0tY29sdW1uLWdhcHMsICRnYXApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgdS1tYXJnaW4teChcbiAgICAgICAgYXBwZW5kLWltcG9ydGFudChcbiAgICAgICAgICAkcHJvcHMsXG4gICAgICAgICAgdW5xdW90ZShcIiN7JG5lZy1wcmVmaXh9LSN7Y2FsYy1nYXAtb2Zmc2V0KCRnYXApfVwiKVxuICAgICAgICApXG4gICAgICApO1xuICAgICAgPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgdGhpcy1ib3JkZXItYm94LXNpemluZztcbiAgICAgICAgQGluY2x1ZGUgdS1wYWRkaW5nLXgoYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIGNhbGMtZ2FwLW9mZnNldCgkZ2FwKSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC1jb2woJHByb3BzLi4uKSB7XG4gICRwcm9wczogdW5wYWNrKCRwcm9wcyk7XG4gIEBpbmNsdWRlIHRoaXMtYm9yZGVyLWJveC1zaXppbmc7XG5cbiAgQGlmIGxlbmd0aCgkcHJvcHMpID09IDAge1xuICAgIEBpbmNsdWRlIHUtZmxleChmaWxsKTtcbiAgICBAaW5jbHVkZSB1LXdpZHRoKGF1dG8pO1xuICB9IEBlbHNlIHtcbiAgICAkY29sOiBzbWFydC1xdW90ZShsaXN0Lm50aCgkcHJvcHMsIDEpKTtcbiAgICBAaWYgJGNvbCA9PSBcImF1dG9cIiB7XG4gICAgICAkZmxleDogYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIGF1dG8pO1xuICAgICAgJHdpZHRoOiBhcHBlbmQtaW1wb3J0YW50KCRwcm9wcywgYXV0byk7XG4gICAgICAkbWF4dzogYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIGZ1bGwpO1xuICAgICAgQGluY2x1ZGUgdS1mbGV4KCRmbGV4KTtcbiAgICAgIEBpbmNsdWRlIHUtd2lkdGgoJHdpZHRoKTtcbiAgICAgIEBpbmNsdWRlIHUtbWF4dygkbWF4dyk7XG4gICAgfSBAZWxzZSBpZiAkY29sID09IFwiZmlsbFwiIHtcbiAgICAgICRmbGV4OiBhcHBlbmQtaW1wb3J0YW50KCRwcm9wcywgZmlsbCk7XG4gICAgICAkd2lkdGg6IGFwcGVuZC1pbXBvcnRhbnQoJHByb3BzLCBhdXRvKTtcbiAgICAgICRtYXh3OiBhcHBlbmQtaW1wb3J0YW50KCRwcm9wcywgZnVsbCk7XG4gICAgICBAaW5jbHVkZSB1LWZsZXgoJGZsZXgpO1xuICAgICAgQGluY2x1ZGUgdS13aWR0aCgkd2lkdGgpO1xuICAgICAgQGluY2x1ZGUgdS1tYXh3KCRtYXh3KTtcbiAgICAgIG1pbi13aWR0aDogMXB4OyAvLyBJRSAxMVxuICAgIH0gQGVsc2UgaWYgbm90IG1hcC5oYXMta2V5KCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzLCAkY29sKSB7XG4gICAgICBAZXJyb3IgJyN7JGNvbH0gaXMgbm90IGEgdmFsaWQgbGF5b3V0IGdyaWQgd2lkdGguIFZhbGlkIHdpZHRoIGFyZSAje21hcC1rZXlzKCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzKX0nO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGZsZXg6IGFwcGVuZC1pbXBvcnRhbnQoJHByb3BzLCBhdXRvKTtcbiAgICAgICR3aWR0aDogYXBwZW5kLWltcG9ydGFudChcbiAgICAgICAgJHByb3BzLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzLCAkY29sKVxuICAgICAgKTtcbiAgICAgIEBpbmNsdWRlIHUtZmxleCgkZmxleCk7XG4gICAgICBAaW5jbHVkZSB1LXdpZHRoKG92ZXJyaWRlLCAkd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC1vZmZzZXQoJHByb3BzLi4uKSB7XG4gICRwcm9wczogdW5wYWNrKCRwcm9wcyk7XG4gICRvZmZzZXQ6IHNtYXJ0LXF1b3RlKGxpc3QubnRoKCRwcm9wcywgMSkpO1xuICBAaWYgJG9mZnNldCA9PSBcIm5vbmVcIiB7XG4gICAgJHdpZHRoOiBhcHBlbmQtaW1wb3J0YW50KCRwcm9wcywgMCk7XG4gICAgQGluY2x1ZGUgdS1tYXJnaW4tbGVmdChvdmVycmlkZSwgJHdpZHRoKTtcbiAgfSBAZWxzZSBpZiBub3QgbWFwLmhhcy1rZXkoJHN5c3RlbS1sYXlvdXQtZ3JpZC13aWR0aHMsICRvZmZzZXQpIHtcbiAgICBAZXJyb3IgJyN7JG9mZnNldH0gaXMgbm90IGEgdmFsaWQgbGF5b3V0IGdyaWQgd2lkdGguIFZhbGlkIHdpZHRoIGFyZSAje21hcC1rZXlzKCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzKX0nO1xuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6IGFwcGVuZC1pbXBvcnRhbnQoXG4gICAgICAkcHJvcHMsXG4gICAgICBtYXAuZ2V0KCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzLCAkb2Zmc2V0KVxuICAgICk7XG4gICAgQGluY2x1ZGUgdS1tYXJnaW4tbGVmdChvdmVycmlkZSwgJHdpZHRoKTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5cbi8vIEFkZHMgcGFkZGluZyBlaXRoZXIgbC9yKHgpIG9yIHQvYih5KVxuXG5AbWl4aW4gcGFkZGluZy1uKCRzaWRlLCAkdmFsdWUuLi4pIHtcbiAgJHZhbHVlOiB1bnBhY2soJHZhbHVlKTtcbiAgJGltcG9ydGFudDogbnVsbDtcbiAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICB9XG4gICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICB9XG4gIEBpZiAkc2lkZSA9PSBhbGwge1xuICAgIHBhZGRpbmc6IGdldC11c3dkcy12YWx1ZShcInBhZGRpbmdcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICB9IEBlbHNlIGlmICRzaWRlID09IHgge1xuICAgIHBhZGRpbmctbGVmdDogZ2V0LXVzd2RzLXZhbHVlKFwicGFkZGluZ1wiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gICAgcGFkZGluZy1yaWdodDogZ2V0LXVzd2RzLXZhbHVlKFwicGFkZGluZ1wiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0geSB7XG4gICAgcGFkZGluZy1ib3R0b206IGdldC11c3dkcy12YWx1ZShcInBhZGRpbmdcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICAgIHBhZGRpbmctdG9wOiBnZXQtdXN3ZHMtdmFsdWUoXCJwYWRkaW5nXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbiAgfSBAZWxzZSB7XG4gICAgcGFkZGluZy0jeyRzaWRlfTogZ2V0LXVzd2RzLXZhbHVlKFwicGFkZGluZ1wiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gIH1cbn1cblxuQG1peGluIHUtcGFkZGluZygkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgcGFkZGluZy1uKGFsbCwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGFkZGluZy14KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBwYWRkaW5nLW4oeCwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGFkZGluZy15KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBwYWRkaW5nLW4oeSwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGFkZGluZy10b3AoJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHBhZGRpbmctbih0b3AsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBhZGRpbmctcmlnaHQoJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHBhZGRpbmctbihyaWdodCwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGFkZGluZy1ib3R0b20oJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHBhZGRpbmctbihib3R0b20sICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBhZGRpbmctbGVmdCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgcGFkZGluZy1uKGxlZnQsICR2YWx1ZS4uLik7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLy8gT3V0cHV0cyB3aWR0aFxuXG5AbWl4aW4gdS13aWR0aCgkdmFsdWUuLi4pIHtcbiAgJHZhbHVlOiB1bnBhY2soJHZhbHVlKTtcbiAgJGltcG9ydGFudDogbnVsbDtcbiAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICB9XG4gICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICB9XG4gIHdpZHRoOiBnZXQtdXN3ZHMtdmFsdWUoXCJ3aWR0aFwiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG59XG4iLCJAdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2NvbG9yL2dldC1jb2xvci10b2tlbi1mcm9tLWJnXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvdXRpbGl0aWVzL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC9nZXQtZGVmYXVsdFwiIGFzICo7XG5cbkBtaXhpbiBzZXQtdGV4dC1mcm9tLWJnKFxuICAkYmctY29sb3I6IFwiZGVmYXVsdFwiLFxuICAkcHJlZmVycmVkLXRleHQtY29sb3I6IFwiZGVmYXVsdFwiLFxuICAkZmFsbGJhY2stdGV4dC1jb2xvcjogXCJkZWZhdWx0XCIsXG4gICR3Y2FnLXRhcmdldDogXCJBQVwiLFxuICAkY29udGV4dDogZmFsc2UsXG4gICRpbXBvcnRhbnQ6IG51bGxcbikge1xuICAkaW1wb3J0YW50OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIG51bGwpO1xuICAkYWNjZXNzaWJsZS1jb2xvci10b2tlbjogZ2V0LWNvbG9yLXRva2VuLWZyb20tYmcoXG4gICAgJGJnLWNvbG9yLFxuICAgICRwcmVmZXJyZWQtdGV4dC1jb2xvcixcbiAgICAkZmFsbGJhY2stdGV4dC1jb2xvcixcbiAgICAkd2NhZy10YXJnZXQsXG4gICAgJGNvbnRleHRcbiAgKTtcbiAgY29sb3I6IGNvbG9yKCRhY2Nlc3NpYmxlLWNvbG9yLXRva2VuKSAjeyRpbXBvcnRhbnR9O1xufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5cbi8vIE91dHB1dHMgbWF4LXdpZHRoXG5cbkBtaXhpbiB1LW1heHcoJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gICRpbXBvcnRhbnQ6IG51bGw7XG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuICBtYXgtd2lkdGg6IGdldC11c3dkcy12YWx1ZShcIm1heC13aWR0aFwiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLy8gT3V0cHV0cyBtZWFzdXJlIChtYXggd2lkdGgpXG5cbkBtaXhpbiB1LW1lYXN1cmUoJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gICRpbXBvcnRhbnQ6IG51bGw7XG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuICBtYXgtd2lkdGg6IGdldC11c3dkcy12YWx1ZShcIm1lYXN1cmVcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvY29sb3IvXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvdXRpbGl0aWVzL2NvbG9yXCIgYXMgKjtcblxuQG1peGluIHNldC1saW5rLWZyb20tYmcoXG4gICRiZy1jb2xvcjogXCJkZWZhdWx0XCIsXG4gICRwcmVmZXJyZWQtbGluay1jb2xvcjogXCJkZWZhdWx0XCIsXG4gICRmYWxsYmFjay1saW5rLWNvbG9yOiBcImRlZmF1bHRcIixcbiAgJHdjYWctdGFyZ2V0OiBcIkFBXCIsXG4gICRpbXBvcnRhbnQ6IG51bGwsXG4gICRjb250ZXh0OiBmYWxzZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgbnVsbCk7XG4gICRsaW5rLXRva2VuczogZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gICAgJGJnLWNvbG9yLFxuICAgICRwcmVmZXJyZWQtbGluay1jb2xvcixcbiAgICAkZmFsbGJhY2stbGluay1jb2xvcixcbiAgICAkd2NhZy10YXJnZXQsXG4gICAgJGNvbnRleHRcbiAgKTtcblxuICAkYmctY29sb3I6IGlmKCRiZy1jb2xvciA9PSBcImRlZmF1bHRcIiwgZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKSwgJGJnLWNvbG9yKTtcbiAgJGxpbmstdG9rZW46IGxpc3QubnRoKCRsaW5rLXRva2VucywgMSk7XG4gICRob3Zlci10b2tlbjogbGlzdC5udGgoJGxpbmstdG9rZW5zLCAyKTtcblxuICAkdmlzaXRlZC10b2tlbjogaWYoXG4gICAgaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoXG4gICAgICAkdGhlbWUtbGluay12aXNpdGVkLWNvbG9yLFxuICAgICAgJGJnLWNvbG9yLFxuICAgICAgJHdjYWctdGFyZ2V0XG4gICAgKSxcbiAgICAkdGhlbWUtbGluay12aXNpdGVkLWNvbG9yLFxuICAgICRsaW5rLXRva2VuXG4gICk7XG4gIGNvbG9yOiBjb2xvcigkbGluay10b2tlbikgI3skaW1wb3J0YW50fTtcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogY29sb3IoJHZpc2l0ZWQtdG9rZW4pICN7JGltcG9ydGFudH07XG4gIH1cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiBjb2xvcigkaG92ZXItdG9rZW4pICN7JGltcG9ydGFudH07XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCIuL2FkZC1iYWNrZ3JvdW5kLXN2Z1wiIGFzICo7XG5cbkBtaXhpbiBkaXNwbGF5LWljb24oJGljb24sICRkaXJlY3Rpb24sICRzaXplLCAkbWFyZ2luLCAkaG92ZXIpIHtcbiAgJjo6I3skZGlyZWN0aW9ufSB7XG4gICAgQGluY2x1ZGUgYWRkLWJhY2tncm91bmQtc3ZnKFwiI3skaWNvbn1cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgd2lkdGg6ICRzaXplO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stY2xvc2luZy1icmFjZS1uZXdsaW5lLWFmdGVyLCBhdC1ydWxlLWVtcHR5LWxpbmUtYmVmb3JlICovXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJhZnRlclwiIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIH1cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cblxuICBAaWYgJGhvdmVyID09IFwiaG92ZXJcIiB7XG4gICAgJjpob3Zlcjo6I3skZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBhZGQtYmFja2dyb3VuZC1zdmcoXCIjeyRpY29ufS1ob3ZlclwiKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJlbW92ZS1pY29uKCRkaXJlY3Rpb24pIHtcbiAgJjo6I3skZGlyZWN0aW9ufSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gYWRkLWljb24oXG4gICRpY29uLW5hbWUsXG4gICRkaXJlY3Rpb24sXG4gICRpbWFnZS1zaXplLFxuICAkY29udGFpbmVyLXNpemUsXG4gICRtYXJnaW4sXG4gICRob3ZlclxuKSB7XG4gICY6OiN7JGRpcmVjdGlvbn0ge1xuICAgIEBpbmNsdWRlIGFkZC1iYWNrZ3JvdW5kLXN2ZyhcIiN7JGljb24tbmFtZX1cIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogdW5pdHMoJGltYWdlLXNpemUpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogdW5pdHMoJGNvbnRhaW5lci1zaXplKTtcbiAgICB3aWR0aDogdW5pdHMoJGNvbnRhaW5lci1zaXplKTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLWNsb3NpbmctYnJhY2UtbmV3bGluZS1hZnRlciwgYXQtcnVsZS1lbXB0eS1saW5lLWJlZm9yZSAqL1xuICAgIEBpZiAkZGlyZWN0aW9uID09IFwiYWZ0ZXJcIiB7XG4gICAgICBtYXJnaW4tbGVmdDogdW5pdHMoJG1hcmdpbik7XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHVuaXRzKCRtYXJnaW4pO1xuICAgIH1cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cblxuICBAaWYgJGhvdmVyID09IFwiaG92ZXJcIiB7XG4gICAgJjpob3Zlcjo6I3skZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBhZGQtYmFja2dyb3VuZC1zdmcoXCIjeyRpY29uLW5hbWV9LWhvdmVyXCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBOZXcgaWNvbiBtaXhpbnMgdXNpbmcgU1ZHIG1hc2sgdGVjaG5pcXVlXG4vL1xuLy8gJGltYWdlIG1heSBiZSBhIHNwZWNpZmljIFNWRyBvciBhIGxpc3QgaW4gdGhlIGZvcm1cbi8vICgkYmFzZSwgJHZhcmlhbnQsICR2YXJpYW50LWFsdCwgJGJnKVxuLy8gdGhlIG1peGluIHdpbGwgcGljayBJRTExLWNvbXBhdGlibGUgc3ZncyBuYW1lZFxuLy8gW2Jhc2VdLVt2YXJpYW50XS5zdmcgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBiYWNrZ3JvdW5kLWNvbG9yXG4vL1xuLy8gQHBhcmFtIHtNYXB9IC0gJGljb24tb2JqZWN0IC0gbmFtZSwgc3ZnLWhlaWdodCwgc3ZnLXdpZHRoLCBoZWlnaHQsIGNvbnRhaW5lci1oZWlnaHQsIGNvbnRhaW5lci13aWR0aCwgY29sb3IsIGNvbG9yLXZhcmlhbnQsIGNvbG9yLWhvdmVyLCByb3RhdGUsIHBhdGgsIHBvc2l0aW9uLXgsIHBvc2l0aW9uLXlcbi8vIEBwYXJhbSB7U3RyaW5nfSAtICRjb250cmFzdC1iZyAtIENvbG9yIHRva2VuXG5AbWl4aW4gYWRkLWNvbG9yLWljb24oJGljb24tb2JqZWN0LCAkY29udHJhc3QtYmc6IFwiZGVmYXVsdFwiKSB7XG4gICRmaWxlbmFtZS1iYXNlOiBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJuYW1lXCIpO1xuICAkc3ZnLWhlaWdodDogbWFwLmdldCgkaWNvbi1vYmplY3QsIFwic3ZnLWhlaWdodFwiKTtcbiAgJHN2Zy13aWR0aDogbWFwLmdldCgkaWNvbi1vYmplY3QsIFwic3ZnLXdpZHRoXCIpO1xuICAkYXNwZWN0OiBtYXRoLmRpdigkc3ZnLXdpZHRoLCAkc3ZnLWhlaWdodCk7XG4gICRoZWlnaHQ6IGlmKFxuICAgIG1hdGguaXMtdW5pdGxlc3MobWFwLmdldCgkaWNvbi1vYmplY3QsIFwiaGVpZ2h0XCIpKSxcbiAgICB1bml0cyhtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJoZWlnaHRcIikpLFxuICAgIG1hcC5nZXQoJGljb24tb2JqZWN0LCBcImhlaWdodFwiKVxuICApO1xuICAkd2lkdGg6ICRoZWlnaHQgKiAkYXNwZWN0O1xuICAkY29udGFpbmVyLWhlaWdodDogaWYoXG4gICAgbWFwLmhhcy1rZXkoJGljb24tb2JqZWN0LCBcImNvbnRhaW5lci1oZWlnaHRcIiksXG4gICAgdW5pdHMobWFwLmdldCgkaWNvbi1vYmplY3QsIFwiY29udGFpbmVyLWhlaWdodFwiKSksXG4gICAgbnVsbFxuICApO1xuICAkY29udGFpbmVyLXdpZHRoOiBpZihcbiAgICBtYXAuaGFzLWtleSgkaWNvbi1vYmplY3QsIFwiY29udGFpbmVyLXdpZHRoXCIpLFxuICAgIHVuaXRzKG1hcC5nZXQoJGljb24tb2JqZWN0LCBcImNvbnRhaW5lci13aWR0aFwiKSksXG4gICAgbnVsbFxuICApO1xuICAkY29sb3I6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJjb2xvclwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJjb2xvclwiKSxcbiAgICBcImlua1wiXG4gICk7XG4gICRjb2xvci12YXJpYW50OiBpZihcbiAgICBtYXAuaGFzLWtleSgkaWNvbi1vYmplY3QsIFwiY29sb3ItdmFyaWFudFwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJjb2xvci12YXJpYW50XCIpLFxuICAgIFwid2hpdGVcIlxuICApO1xuICAkY29sb3ItaG92ZXI6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJjb2xvci1ob3ZlclwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJjb2xvci1ob3ZlclwiKSxcbiAgICBudWxsXG4gICk7XG4gICRyb3RhdGU6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJyb3RhdGVcIiksXG4gICAgbWFwLmdldCgkaWNvbi1vYmplY3QsIFwicm90YXRlXCIpLFxuICAgIG51bGxcbiAgKTtcbiAgJHBhdGg6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJwYXRoXCIpLFxuICAgIG1hcC5nZXQoJGljb24tb2JqZWN0LCBcInBhdGhcIiksXG4gICAgJHRoZW1lLWltYWdlLXBhdGhcbiAgKTtcbiAgJHBvc2l0aW9uLXk6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJwb3NpdGlvbi15XCIpLFxuICAgIG1hcC5nZXQoJGljb24tb2JqZWN0LCBcInBvc2l0aW9uLXlcIiksXG4gICAgY2VudGVyXG4gICk7XG4gICRwb3NpdGlvbi14OiBpZihcbiAgICBtYXAuaGFzLWtleSgkaWNvbi1vYmplY3QsIFwicG9zaXRpb24teFwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJwb3NpdGlvbi14XCIpLFxuICAgIGNlbnRlclxuICApO1xuICAkaWUxMS12YXJpYW50OiBnZXQtY29sb3ItdG9rZW4tZnJvbS1iZygkY29udHJhc3QtYmcsIFwid2hpdGVcIiwgXCJibGFja1wiKTtcbiAgJGZpbGVuYW1lLWllMTE6IGlmKFxuICAgICRpZTExLXZhcmlhbnQgPT0gXCJ3aGl0ZVwiLFxuICAgIFwidXNhLWljb25zLWJnLyN7JGZpbGVuYW1lLWJhc2V9LS13aGl0ZS5zdmdcIixcbiAgICBcInVzYS1pY29ucy8jeyRmaWxlbmFtZS1iYXNlfS5zdmdcIlxuICApO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHBhdGh9LyN7JGZpbGVuYW1lLWllMTF9XCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zaXRpb24teCAkcG9zaXRpb24teTtcbiAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IGlmKCRjb250YWluZXItaGVpZ2h0LCAkY29udGFpbmVyLWhlaWdodCwgJGhlaWdodCk7XG4gIHdpZHRoOiBpZigkY29udGFpbmVyLXdpZHRoLCAkY29udGFpbmVyLXdpZHRoLCAkd2lkdGgpO1xuICBAaWYgJHJvdGF0ZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoJHJvdGF0ZSk7XG4gIH1cblxuICAvLyBNYXNrIHN1cHBvcnRlZCBzdHlsZXNcbiAgQHN1cHBvcnRzIChtYXNrOiB1cmwoXCJcIikpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRjb2xvciA9PSBjdXJyZW50Q29sb3IsICRjb2xvciwgY29sb3IoJGNvbG9yKSk7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiI3skcGF0aH0vdXNhLWljb25zLyN7JGZpbGVuYW1lLWJhc2V9LnN2Z1wiKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICAgIG1hc2stcG9zaXRpb246ICRwb3NpdGlvbi14ICRwb3NpdGlvbi15O1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1zaXplOiAkd2lkdGggJGhlaWdodDtcblxuICAgIEBpZiAkY29sb3ItaG92ZXIge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCRjb2xvci1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFBsYWNlcyBhbiBpY29uIGJlZm9yZSBvciBhZnRlciBhbiBlbGVtZW50IGFzIGFuIGlubGluZS1ibG9jayxcbi8vIHVzaW5nIHRoZSBgOmJlZm9yZWAgb3IgYDphZnRlcmAgcHNldWRvZWxlbWVudHMuXG5AbWl4aW4gcGxhY2UtaWNvbihcbiAgJGljb24tb2JqZWN0LFxuICAkZGlyZWN0aW9uLFxuICAkbWFyZ2luOiBcImF1dG9cIixcbiAgJHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICRjb250cmFzdC1iZzogXCJkZWZhdWx0XCJcbikge1xuICAkY29sb3ItaG92ZXI6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJjb2xvci1ob3ZlclwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJjb2xvci1ob3ZlclwiKSxcbiAgICBudWxsXG4gICk7XG4gICY6OiN7JGRpcmVjdGlvbn0ge1xuICAgIEBpbmNsdWRlIGFkZC1jb2xvci1pY29uKCRpY29uLW9iamVjdCwgJGNvbnRyYXN0LWJnKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcImFmdGVyXCIge1xuICAgICAgbWFyZ2luLWxlZnQ6IHVuaXRzKCRtYXJnaW4pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiB1bml0cygkbWFyZ2luKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAmOmhvdmVyOjojeyRkaXJlY3Rpb259IHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IC8vIEFkZGVkIHRvIGFkZHJlc3MgYSB3ZWlyZCBkaXNwbGF5IGJ1Z1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJGNvbG9yLWhvdmVyKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuXG4vLyBPdXRwdXRzIGxpbmUtaGVpZ2h0XG5cbkBtaXhpbiB1LWZsb2F0KCR2YWx1ZS4uLikge1xuICAkdmFsdWU6IHVucGFjaygkdmFsdWUpO1xuICAkaW1wb3J0YW50OiBudWxsO1xuICBAaWYgaGFzLWltcG9ydGFudCgkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICR2YWx1ZTogZGUtbGlzdCgkdmFsdWUpO1xuICAgIH1cbiAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gIH1cbiAgZmxvYXQ6IGdldC11c3dkcy12YWx1ZShcImZsb2F0XCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbn1cbiIsIkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9taXhpbnMvdXRpbGl0aWVzXCIgYXMgKjtcbkB1c2UgXCIuLi90eXBvZ3JhcGh5L3R5cGVzZXRcIiBhcyAqO1xuXG5AbWl4aW4gYnV0dG9uLXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgdHlwZXNldC1saW5rO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoXCJub3JtYWxcIik7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmhvdmVyLFxuICAmLnVzYS1idXR0b24tLWhvdmVyLFxuICAmOmRpc2FibGVkOmhvdmVyLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdOmhvdmVyLFxuICAmOmRpc2FibGVkLnVzYS1idXR0b24tLWhvdmVyLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdLnVzYS1idXR0b24tLWhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJi51c2EtYnV0dG9uLS1hY3RpdmUsXG4gICY6ZGlzYWJsZWQ6YWN0aXZlLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdOmFjdGl2ZSxcbiAgJjpkaXNhYmxlZC51c2EtYnV0dG9uLS1hY3RpdmUsXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0udXNhLWJ1dHRvbi0tYWN0aXZlLFxuICAmOmRpc2FibGVkOmZvY3VzLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdOmZvY3VzLFxuICAmOmRpc2FibGVkLnVzYS1mb2N1cyxcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXS51c2EtZm9jdXMsXG4gICY6ZGlzYWJsZWQsXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0sXG4gICYudXNhLWJ1dHRvbi0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAmLnVzYS1idXR0b24tLWhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IoJHRoZW1lLWxpbmstaG92ZXItY29sb3IpO1xuICB9XG5cbiAgJi51c2EtYnV0dG9uLS1hY3RpdmUge1xuICAgIGNvbG9yOiBjb2xvcigkdGhlbWUtbGluay1hY3RpdmUtY29sb3IpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSxcbiAgJjpkaXNhYmxlZDpob3ZlcixcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXTpob3ZlcixcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXTpmb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yKFwiZGlzYWJsZWRcIik7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgY29sb3I6IGNvbG9yKEdyYXlUZXh0KTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuXG4vLyBPdXRwdXRzIHBvc2l0aW9uIHByb3BlcnR5XG5cbkBtaXhpbiB1LXBvc2l0aW9uKCR2YWx1ZS4uLikge1xuICAkdmFsdWU6IHVucGFjaygkdmFsdWUpO1xuICAkaW1wb3J0YW50OiBudWxsO1xuICBAaWYgaGFzLWltcG9ydGFudCgkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICR2YWx1ZTogZGUtbGlzdCgkdmFsdWUpO1xuICAgIH1cbiAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gIH1cbiAgcG9zaXRpb246IGdldC11c3dkcy12YWx1ZShcInBvc2l0aW9uXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuQHVzZSBcIi4vcG9zaXRpb25cIiBhcyAqO1xuXG4kdXRpbGl0eS1waW4tb3B0aW9uczogXCJhbGxcIiwgXCJ4XCIsIFwieVwiLCBcInRvcFwiLCBcImJvdHRvbVwiLCBcImxlZnRcIiwgXCJyaWdodFwiLCBcIm5vbmVcIjtcblxuQG1peGluIHUtcGluKCR2YWx1ZS4uLikge1xuICAkdmFsdWU6IHVucGFjaygkdmFsdWUpO1xuICAkaW1wb3J0YW50OiBudWxsO1xuICAkcG9zaXRpb24tYWJzb2x1dGU6IGFwcGVuZC1pbXBvcnRhbnQoJHZhbHVlLCBcImFic29sdXRlXCIpO1xuICAkcG9zaXRpb24tc3RhdGljOiBhcHBlbmQtaW1wb3J0YW50KCR2YWx1ZSwgXCJzdGF0aWNcIik7XG4gICRoYXMtcG9zaXRpb246IGZhbHNlO1xuXG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuXG4gIEBlYWNoICRvcHRpb24gaW4gJHZhbHVlIHtcbiAgICAkb3B0aW9uOiBzbWFydC1xdW90ZSgkb3B0aW9uKTtcbiAgICBAaWYgJG9wdGlvbiAhPSBcIm5vbmVcIiBhbmQgbm90ICRoYXMtcG9zaXRpb24ge1xuICAgICAgQGluY2x1ZGUgdS1wb3NpdGlvbigkcG9zaXRpb24tYWJzb2x1dGUpO1xuICAgICAgJGhhcy1wb3NpdGlvbjogdHJ1ZTtcbiAgICB9XG4gICAgQGlmICRvcHRpb24gPT0gXCJhbGxcIiB7XG4gICAgICBib3R0b206IDAjeyRpbXBvcnRhbnR9O1xuICAgICAgbGVmdDogMCN7JGltcG9ydGFudH07XG4gICAgICByaWdodDogMCN7JGltcG9ydGFudH07XG4gICAgICB0b3A6IDAjeyRpbXBvcnRhbnR9O1xuICAgIH0gQGVsc2UgaWYgJG9wdGlvbiA9PSBcInhcIiB7XG4gICAgICBsZWZ0OiAwI3skaW1wb3J0YW50fTtcbiAgICAgIHJpZ2h0OiAwI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIGlmICRvcHRpb24gPT0gXCJ5XCIge1xuICAgICAgYm90dG9tOiAwI3skaW1wb3J0YW50fTtcbiAgICAgIHRvcDogMCN7JGltcG9ydGFudH07XG4gICAgfSBAZWxzZSBpZiAkb3B0aW9uID09IFwidG9wXCIge1xuICAgICAgdG9wOiAwI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIGlmICRvcHRpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICBib3R0b206IDAjeyRpbXBvcnRhbnR9O1xuICAgIH0gQGVsc2UgaWYgJG9wdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgICBsZWZ0OiAwI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIGlmICRvcHRpb24gPT0gXCJyaWdodFwiIHtcbiAgICAgIHJpZ2h0OiAwI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIGlmICRvcHRpb24gPT0gXCJub25lXCIge1xuICAgICAgJGhhcy1wb3NpdGlvbjogZmFsc2U7XG4gICAgICBAaW5jbHVkZSB1LXBvc2l0aW9uKCRwb3NpdGlvbi1zdGF0aWMpO1xuICAgICAgYm90dG9tOiBhdXRvI3skaW1wb3J0YW50fTtcbiAgICAgIGxlZnQ6IGF1dG8jeyRpbXBvcnRhbnR9O1xuICAgICAgcmlnaHQ6IGF1dG8jeyRpbXBvcnRhbnR9O1xuICAgICAgdG9wOiBhdXRvI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciAnYCN7JG9wdGlvbn1gIGlzIG5vdCBhIHZhbGlkIGBwaW5gIHZhbHVlLiBWYWxpZCBwaW4gdmFsdWVzIGluY2x1ZGUgI3skdXRpbGl0eS1waW4tb3B0aW9uc30nO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdS1waW4tbm9uZSgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgdS1waW4oXCJub25lXCIsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBpbi1hbGwoJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHUtcGluKFwiYWxsXCIsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBpbi15KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSB1LXBpbihcInlcIiwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGluLXgoJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHUtcGluKFwieFwiLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1waW4tYm90dG9tKCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSB1LXBpbihcImJvdHRvbVwiLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1waW4tbGVmdCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgdS1waW4oXCJsZWZ0XCIsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBpbi1yaWdodCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgdS1waW4oXCJyaWdodFwiLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1waW4tdG9wKCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSB1LXBpbihcInRvcFwiLCAkdmFsdWUuLi4pO1xufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9wcm9wZXJ0aWVzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi90b2tlbnNcIiBhcyAqO1xuXG4vLyBPdXRwdXRzIHByb3BlcnRpZXMgYmFzZWQgb24gY29udGVudHMgb2YgdGV4dCgpXG5cbiR0ZXh0LXV0aWxpbGllczogKFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBmb250LWZlYXR1cmUtc2V0dGluZ3MsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgZXh0ZW5kZWQpXG4gICAgKSxcbiAgZm9udC1zdHlsZTpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiZm9udC1zdHlsZVwiLCBzdGFuZGFyZCksXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImZvbnQtc3R5bGVcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgZm9udC13ZWlnaHQ6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImZvbnQtd2VpZ2h0XCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiZm9udC13ZWlnaHRcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgbGV0dGVyLXNwYWNpbmc6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImxldHRlci1zcGFjaW5nXCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwibGV0dGVyLXNwYWNpbmdcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgdGV4dC1hbGlnbjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwidGV4dC1hbGlnblwiLCBzdGFuZGFyZCksXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcInRleHQtYWxpZ25cIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgdGV4dC1kZWNvcmF0aW9uOlxuICAgIG1hcC1jb2xsZWN0KFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJ0ZXh0LWRlY29yYXRpb25cIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJ0ZXh0LWRlY29yYXRpb25cIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgdGV4dC10cmFuc2Zvcm06XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcInRleHQtdHJhbnNmb3JtXCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwidGV4dC10cmFuc2Zvcm1cIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgdmVydGljYWwtYWxpZ246XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcInZlcnRpY2FsLWFsaWduXCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwidmVydGljYWwtYWxpZ25cIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgd2hpdGUtc3BhY2U6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcIndoaXRlLXNwYWNlXCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwid2hpdGUtc3BhY2VcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgY29sb3I6IG1hcC1jb2xsZWN0KCR0b2tlbnMtY29sb3ItZ2xvYmFsKSxcbik7XG5cbkBtaXhpbiB1LXRleHQoJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gICRpbXBvcnRhbnQ6IG51bGw7XG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuICBAZWFjaCAkdGhpcy12YWx1ZSBpbiAkdmFsdWUge1xuICAgICR0aGlzLXZhbHVlOiBzbWFydC1xdW90ZSgkdGhpcy12YWx1ZSk7XG4gICAgJG1hdGNoOiBmYWxzZTtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJGFsbC1jb2xvci1zaG9ydGNvZGVzLCAkdGhpcy12YWx1ZSkge1xuICAgICAgJG1hdGNoOiB0cnVlO1xuICAgICAgY29sb3I6IGNvbG9yKCR0aGlzLXZhbHVlKSAjeyRpbXBvcnRhbnR9O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGVhY2ggJHByb3BlcnR5LCAkbWFwIGluICR0ZXh0LXV0aWxpbGllcyB7XG4gICAgICAgIEBpZiBub3QgJG1hdGNoIGFuZCBtYXAuaGFzLWtleSgkbWFwLCAkdGhpcy12YWx1ZSkge1xuICAgICAgICAgICN7JHByb3BlcnR5fTogZ2V0LXVzd2RzLXZhbHVlKCRwcm9wZXJ0eSwgJHRoaXMtdmFsdWUuLi4pXG4gICAgICAgICAgICAjeyRpbXBvcnRhbnR9O1xuICAgICAgICAgICRtYXRjaDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgbm90ICRtYXRjaCB7XG4gICAgICBAZXJyb3IgJ2AjeyR0aGlzLXZhbHVlfWAgaXMgbm90IGEgdmFsaWQgYHRleHRgIHZhbHVlLic7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5cbi8vIEZvY3VzIHN0YXRlIG1peGluXG5AbWl4aW4gZm9jdXMtb3V0bGluZShcbiAgJHdpZHRoOiAkdGhlbWUtZm9jdXMtd2lkdGgsXG4gICRzdHlsZTogJHRoZW1lLWZvY3VzLXN0eWxlLFxuICAkY29sb3I6ICR0aGVtZS1mb2N1cy1jb2xvcixcbiAgJG9mZnNldDogJHRoZW1lLWZvY3VzLW9mZnNldFxuKSB7XG4gICR3aWR0aDogaWYoJHdpZHRoID09IG51bGwsICR0aGVtZS1mb2N1cy13aWR0aCwgJHdpZHRoKTtcbiAgJHN0eWxlOiBpZigkc3R5bGUgPT0gbnVsbCwgJHRoZW1lLWZvY3VzLXN0eWxlLCAkc3R5bGUpO1xuICAkY29sb3I6IGlmKCRjb2xvciA9PSBudWxsLCAkdGhlbWUtZm9jdXMtY29sb3IsICRjb2xvcik7XG4gICRvZmZzZXQ6IGlmKCRvZmZzZXQgPT0gbnVsbCwgJHRoZW1lLWZvY3VzLW9mZnNldCwgJG9mZnNldCk7XG4gIG91dGxpbmU6IHVuaXRzKCR3aWR0aCkgJHN0eWxlIGNvbG9yKCRjb2xvcik7XG4gIG91dGxpbmUtb2Zmc2V0OiB1bml0cygkb2Zmc2V0KTtcbn1cbiIsIi8vIFNjcmVlbiByZWFkZXIgb25seSBoZWxwZXJcbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5ZW07XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gYWRkLXNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5O1xufVxuXG4vLyBUaGlzIFwibmVnYXRlc1wiIHRoZSBzci1vbmx5IGhlbHBlcjsgdXNlZnVsIGlmXG4vLyB3ZSB3YW50IHRoZSBkZWZhdWx0IHN0YXRlIG9mIHNvbWV0aGluZyB0byBiZVxuLy8gZm9yIHNjcmVlbiByZWFkZXJzIG9ubHksIGJ1dCB3ZSB3YW50IHRvIGZvcmNlXG4vLyBpdCB0byBzaG93IGZvciBzaWdodGVkIHVzZXJzIHVuZGVyIG1vcmUgc3BlY2lmaWNcbi8vIGNvbmRpdGlvbnMuXG5AbWl4aW4gbm90LXNyLW9ubHkge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG5AbWl4aW4gYWRkLW5vLXNyLW9ubHkge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuIiwiJGJhc2Utc3BhY2VyOiA4cHg7XG4kc3BhY2UtYTogY2FsYygkYmFzZS1zcGFjZXIgKiAyKTtcbiRzcGFjZS1iOiBjYWxjKCRiYXNlLXNwYWNlciAqIDMpO1xuJHNwYWNlLWM6IGNhbGMoJGJhc2Utc3BhY2VyICogNCk7XG4kc3BhY2UtZDogY2FsYygkYmFzZS1zcGFjZXIgKiA1KTtcbiRzcGFjZS1lOiBjYWxjKCRiYXNlLXNwYWNlciAqIDYpO1xuJHNwYWNlLWY6IGNhbGMoJGJhc2Utc3BhY2VyICogNyk7XG5cbi5tdi0wIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tci04IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRiYXNlLXNwYWNlcjtcbn1cblxuLm1sLTgge1xuICAgIG1hcmdpbi1sZWZ0OiAkYmFzZS1zcGFjZXI7XG59XG5cbi5tci0xNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2UtYTtcbn1cblxuLm1sLTE2IHtcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNlLWE7XG59IiwiLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIHdyYXBwZXI7XG59XG5cbi5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1jb2x1bW5zOiBtaW5tYXgoMWZyLCBhdXRvKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgW2NvbC1zdGFydF0gMWZyKTtcbiAgICBnYXA6ICRzcGFjZS1iO1xuICAgIGdyaWQtYXV0by1yb3dzOiBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLmNvbC0xLFxuICAgIC5jb2wtMixcbiAgICAuY29sLTMsXG4gICAgLmNvbC00LFxuICAgIC5jb2wtNSxcbiAgICAuY29sLTYsXG4gICAgLmNvbC03LFxuICAgIC5jb2wtOCxcbiAgICAuY29sLTksXG4gICAgLmNvbC0xMCxcbiAgICAuY29sLTExLFxuICAgIC5jb2wtMTIge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbC0yIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7XG4gICAgfVxuXG4gICAgLmNvbC0zIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDM7XG4gICAgfVxuXG4gICAgLmNvbC00IHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7XG4gICAgfVxuXG4gICAgLmNvbC01IHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDU7XG5cbiAgICB9XG5cbiAgICAuY29sLTYge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gNjtcblxuICAgIH1cblxuICAgIC5jb2wtNyB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA3O1xuXG4gICAgfVxuXG4gICAgLmNvbC04IHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDg7XG5cbiAgICB9XG5cbiAgICAuY29sLTkge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gOTtcblxuICAgIH1cblxuICAgIC5jb2wtMTAge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTA7XG5cbiAgICB9XG5cbiAgICAuY29sLTExIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDExO1xuXG4gICAgfVxuXG4gICAgLmNvbC0xMiB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxMjtcblxuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtMSB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtMiB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtMyB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtNCB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA0O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtNSB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA1O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtNiB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA2O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtNyB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA3O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtOCB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA4O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtOSB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA5O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtMTAge1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMTA7XG4gICAgfVxuXG4gICAgLmNvbC1zdGFydC0xMSB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxMTtcbiAgICB9XG5cbiAgICAuY29sLXN0YXJ0LTEyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEyO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXG4gICAgICAgIC5jb2wtMSxcbiAgICAgICAgLmNvbC0yLFxuICAgICAgICAuY29sLTMsXG4gICAgICAgIC5jb2wtNCxcbiAgICAgICAgLmNvbC01LFxuICAgICAgICAuY29sLTYsXG4gICAgICAgIC5jb2wtNyxcbiAgICAgICAgLmNvbC04LFxuICAgICAgICAuY29sLTksXG4gICAgICAgIC5jb2wtMTAsXG4gICAgICAgIC5jb2wtMTEsXG4gICAgICAgIC5jb2wtMTIsXG4gICAgICAgIC5jb2wge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59IiwiJGZpbHRlci1uaWgtcHJpbWFyeS1ibHVlOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCgyNSUpIHNlcGlhKDgxJSkgc2F0dXJhdGUoNTkzJSkgaHVlLXJvdGF0ZSgxNjlkZWcpIGJyaWdodG5lc3MoMTAwJSkgY29udHJhc3QoODklKTtcbiRmaWx0ZXItbmloLXdoaXRlOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiRmaWx0ZXItbmloLWRhcmstZ3JheTogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG4kZmlsdGVyLW5paC10ZWFsOiBpbnZlcnQoNTUlKSBzZXBpYSgxMCUpIHNhdHVyYXRlKDIwNTIlKSBodWUtcm90YXRlKDE0MmRlZykgYnJpZ2h0bmVzcygxMDIlKSBjb250cmFzdCg5MSUpO1xuXG4vL1JldXNhYmxlIGJ1dHRvbnNcbkBtaXhpbiBidXR0b24oJHR5cGU6IHByaW1hcnksICRpY29uOiBudWxsLCAkaWNvbi1wb3NpdGlvbjogYmVmb3JlKSB7XG4gIC8vIERlZmluZSBjb21tb24gc3R5bGVzIGZvciBidXR0b24gdGV4dCBhbmQgaWNvblxuICAvLyBBcHBseSBjb21tb24gYnV0dG9uIHN0eWxlc1xuICAkcGFkZGluZzogMTBweCAyMHB4OyAvLyBBc3N1bWluZyBkZWZhdWx0IHBhZGRpbmdcbiAgJGJvcmRlci1yYWRpdXM6IDVweDsgLy8gQXNzdW1pbmcgZGVmYXVsdCBib3JkZXIgcmFkaXVzXG4gICR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAvLyBBc3N1bWluZyBkZWZhdWx0IHRleHQgdHJhbnNmb3JtYXRpb25cbiAgJHRleHQtYWxpZ246IGNlbnRlcjsgLy8gQXNzdW1pbmcgZGVmYXVsdCB0ZXh0IGFsaWdubWVudFxuXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyBFbnN1cmUgdGhlIGN1cnNvciBjaGFuZ2VzIHRvIGEgcG9pbnRlciBvbiBob3ZlclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICR0ZXh0LWFsaWduO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiAkdGV4dC10cmFuc2Zvcm07XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgc3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBFbnN1cmUgdGhlIGJ1dHRvbiBpcyBub3QgY2xpY2thYmxlIHdoZW4gZGlzYWJsZWRcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAvLyBBcHBseSB0eXBlLXNwZWNpZmljIHN0eWxlc1xuICBAaWYgJHR5cGUgPT1wcmltYXJ5IHtcbiAgICAkcHJpbWFyeS1kZWZhdWx0LWJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgJHByaW1hcnktaG92ZXItYm9yZGVyLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICRwcmltYXJ5LWZvY3VzLWJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAkcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktYmx1ZTtcbiAgICAkcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuXG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1kZWZhdWx0LWJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWhvdmVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogJGZpbHRlci1uaWgtd2hpdGVcbiAgICB9XG5cbiAgICAmOmhvdmVyOjpiZWZvcmUsXG4gICAgJjpob3Zlcjo6YWZ0ZXIsXG4gICAgJjpmb2N1czo6YmVmb3JlLFxuICAgICY6Zm9jdXM6OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogJGZpbHRlci1uaWgtd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT1zZWNvbmRhcnkge1xuICAgICRzZWNvbmRhcnktZGVmYXVsdC1ib3JkZXItY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgJHNlY29uZGFyeS1ob3Zlci1ib3JkZXItY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG5cbiAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktZGVmYXVsdC1ib3JkZXItY29sb3I7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeS1kZWZhdWx0LWJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktZGVmYXVsdC1ib3JkZXItY29sb3I7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSg1LCAxMywgMjEsIDAuNSk7IC8vIEV4YW1wbGUgZm9jdXMgc3R5bGUgKGFkanVzdCBhcyBuZWVkZWQpXG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogJGZpbHRlci1uaWgtZGFyay1ncmF5XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YmVmb3JlLFxuICAgICY6aG92ZXI6OmFmdGVyLFxuICAgICY6Zm9jdXM6OmJlZm9yZSxcbiAgICAmOmZvY3VzOjphZnRlciB7XG4gICAgICBmaWx0ZXI6ICRmaWx0ZXItbmloLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09dGVydGlhcnkge1xuICAgICR0ZXJ0aWFyeS1kZWZhdWx0LWJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LXNreS1ibHVlO1xuICAgICR0ZXJ0aWFyeS1ob3Zlci1ib3JkZXItY29sb3I6ICRuaWgtc2Vjb25kYXJ5LXRlYWwtYmx1ZTtcblxuICAgIGJvcmRlci1jb2xvcjogJHRlcnRpYXJ5LWRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1kZWZhdWx0LWJvcmRlci1jb2xvcjtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGVydGlhcnktaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDUsIDEzLCAyMSwgMC41KTsgLy8gRXhhbXBsZSBmb2N1cyBzdHlsZSAoYWRqdXN0IGFzIG5lZWRlZClcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PXdoaXRlIHtcbiAgICAkd2hpdGUtZGVmYXVsdC1ib3JkZXItY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAkd2hpdGUtaG92ZXItYm9yZGVyLWNvbG9yOiAkbmloLXByaW1hcnktc2t5LWJsdWU7XG5cbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZS1kZWZhdWx0LWJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHdoaXRlLWRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuaWgtc2Vjb25kYXJ5LWJsdWUtZ3JheTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDUsIDEzLCAyMSwgMC41KTsgLy8gRXhhbXBsZSBmb2N1cyBzdHlsZSAoYWRqdXN0IGFzIG5lZWRlZClcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZmlsdGVyOiAkZmlsdGVyLW5paC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjpiZWZvcmUsXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgZmlsdGVyOiAkZmlsdGVyLW5paC1kYXJrLWdyYXk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIGljb24gc3R5bGVzIGlmIHByb3ZpZGVkXG4gIEBpZiAkaWNvbiB7XG4gICAgJGljb24tZGlyZWN0aW9uOiBpZigkaWNvbi1wb3NpdGlvbiA9PWJlZm9yZSwgJzo6YmVmb3JlJywgJzo6YWZ0ZXInKTtcbiAgICAkaWNvbi1tYXJnaW46IGlmKCRpY29uLXBvc2l0aW9uID09YmVmb3JlLCAnMCAxMHB4IDAgMCcsICcwIDAgMCAxMHB4Jyk7XG5cbiAgICAmI3skaWNvbi1kaXJlY3Rpb259IHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGljb259Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgIH1cblxuICB9XG5cbiAgLy8gSG92ZXIsIGFjdGl2ZSwgYW5kIGZvY3VzIHN0eWxlcyBmb3IgaWNvblxuICAmOmhvdmVyOjpiZWZvcmUsXG4gICY6aG92ZXI6OmFmdGVyLFxuICAmOmFjdGl2ZTo6YmVmb3JlLFxuICAmOmFjdGl2ZTo6YWZ0ZXIsXG4gICY6Zm9jdXM6OmJlZm9yZSxcbiAgJjpmb2N1czo6YWZ0ZXIge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbGluay1pY29uKCRjb2xvci1zY2hlbWU6IGRhcmssICRpY29uOiBudWxsKSB7XG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIGxpbmtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA2cHggNHB4O1xuICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8vIFJlbW92ZSBkZWZhdWx0IHVuZGVybGluZVxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIEVuc3VyZSB0aGUgY3Vyc29yIGNoYW5nZXMgdG8gYSBwb2ludGVyIG9uIGhvdmVyXG5cbiAgLy8gTGlnaHQgbW9kZSBzdHlsZXNcbiAgQGlmICRjb2xvci1zY2hlbWUgPT0nbGlnaHQnIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7IC8vIExpZ2h0IG1vZGUgYm9yZGVyIGNvbG9yXG4gICAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTsgLy8gTGlnaHQgbW9kZSB0ZXh0IGNvbG9yXG5cbiAgICAmOjphZnRlciB7XG4gICAgICBmaWx0ZXI6ICRmaWx0ZXItbmloLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkY29sb3Itc2NoZW1lID09J2RhcmsnIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5OyAvLyBEZWZhdWx0IGRhcmsgbW9kZSBib3JkZXIgY29sb3JcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogJGZpbHRlci1uaWgtZGFyay1ncmF5O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCBpY29uIHN0eWxlcyBpZiBwcm92aWRlZFxuICBAaWYgJGljb24ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgIC8vIERlZmluZSBjb21tb24gc3R5bGVzIGZvciBsaW5rIHRleHQgYW5kIGljb25cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaWNvbn0nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICB3aWR0aDogMThweDtcbiAgICB9XG4gIH1cblxuICAvLyBBZGp1c3QgbWFyZ2luIGZvciBpY29uXG4gICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4OyAvLyBBZGp1c3QgYXMgbmVlZGVkXG4gIH1cblxuICAvLyBIb3ZlciBzdHlsZXMgZm9yIGxpbmtcbiAgJjpob3ZlciB7XG4gICAgQGlmICRjb2xvci1zY2hlbWUgPT0nbGlnaHQnIHtcbiAgICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7IC8vIExpZ2h0IGhvdmVyIHN0YXRlXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuaWgtc2Vjb25kYXJ5LXRlYWwtYmx1ZTsgLy8gTGlnaHQgaG92ZXIgc3RhdGVcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBmaWx0ZXI6ICRmaWx0ZXItbmloLXRlYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1ibHVlOyAvLyBEYXJrIGhvdmVyIHN0YXRlXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuaWgtcHJpbWFyeS1ibHVlOyAvLyBEYXJrIG1vZGUgaG92ZXIgYm9yZGVyIGNvbG9yXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZmlsdGVyOiAkZmlsdGVyLW5paC1wcmltYXJ5LWJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRm9jdXMgc3R5bGVzIGZvciBhY2Nlc3NpYmlsaXR5XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IC8vIFJlbW92ZSBkZWZhdWx0IGZvY3VzIG91dGxpbmVcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjUpOyAvLyBFeGFtcGxlIGZvY3VzIHN0eWxlIChhZGp1c3QgYXMgbmVlZGVkKVxuICB9XG59XG5cbkBtaXhpbiBjdGEtcHJpbWFyeS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktc2t5LWJsdWU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS1sYXJnZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktc2t5LWJsdWU7XG4gICAgYm9yZGVyOiAkbmloLXByaW1hcnktZGFyay1ncmF5IDJweCBzb2xpZDtcbiAgfVxuXG5cbn1cblxuQG1peGluIGN0YS1zZWNvbmRhcnktYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LXNreS1ibHVlO1xuICBib3JkZXI6IDJweCAkbmloLXByaW1hcnktZGFyay1ncmF5IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0tbGFyZ2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWl4aW4gc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgcGFkZGluZzogJGJhc2Utc3BhY2VyICRzcGFjZS1hO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWl4aW4gbG9naW4taWNvbi1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgcGFkZGluZzogJHNwYWNlLWEgMDtcblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29wZW4uc3ZnXCIpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuaWgtc2Vjb25kYXJ5LXRlYWwtYmx1ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLWJsYWNrLnN2Z1wiKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkbmloLXByaW1hcnktd2hpdGUgc29saWQ7XG4gIH1cbn1cblxuQG1peGluIGxpbmstYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmloLXByaW1hcnktd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gIHBhZGRpbmc6ICRzcGFjZS1hIDA7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLnN2Z1wiKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW4tbGVmdDogJGJhc2Utc3BhY2VyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDE4cHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJG5paC1zZWNvbmRhcnktdGVhbC1ibHVlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdGVhbC1vcGVuLnN2Z1wiKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkYmFzZS1zcGFjZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkbmloLXByaW1hcnktd2hpdGUgc29saWQ7XG4gIH1cblxufVxuXG5AbWl4aW4gd3JhcHBlciB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIHJpZ2h0OiAwO1xufVxuXG5AbWl4aW4gY2FyZC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogJG5paC1wcmltYXJ5LXdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICBtYXJnaW46IDIwcHggMDtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAxMHB4IDIwcHggNDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjQwKTtcbiAgfVxufVxuXG5AbWl4aW4gY2FyZC1oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6ICRmamFsbGEtb24tcHJpbWFyeTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS14bGFyZ2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtaXhpbiBzbWFsbC1idXR0b24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn0iLCIvL21ha2UgaW1hZ2VzIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFxuaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufSIsIi8vTmF2aWdhdGlvblxuLm5hdiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWdyYXk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAvL29ubHkgdGFyZ2V0IHRoZSB0b3AgbGV2ZWwgaXRlbXMgZm9yIGFjdGl2ZSBzdGF0ZXNcbiAgICAmPi5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbD5hIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwcHggMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuaWgtcHJpbWFyeS1saWdodC1ibHVlO1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDBweCAwcHhcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nLW91dC1pY29uIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ291dC5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2UtYTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ubmF2LWl0ZW0+YTpub3QoLmJ1dHRvbi1wcmltYXJ5LCAuYnV0dG9uLXNlY29uZGFyeSk6aG92ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1MaWdodC1ibHVlLCAjRjRGQkZGKTtcbn1cblxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQge1xuICAgIC5tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiA5OTk5OTtcblxuICAgICAgICBsaVtpY29uPVwiX3NlcnZpY2VzX2ljb25cIl0sXG4gICAgICAgIGxpW2ljb249XCJfcm9hZG1hcF9pY29uXCJdLFxuICAgICAgICBsaVtpY29uPVwiX29yZ2FuaXphdGlvbl9pY29uXCJdLFxuICAgICAgICBsaVtpY29uPVwiX2xlYWRlcnNoaXBfaWNvblwiXSxcbiAgICAgICAgbGlbaWNvbj1cIl9kaXZlcnNpdHlfaWNvblwiXSxcbiAgICAgICAgbGlbaWNvbj1cIl9oZWFsdGhfaWNvblwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMThweCAyMHB4O1xuXG4gICAgICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfc2VydmljZXNfaWNvblwiXSB7XG4gICAgICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZXJ2aWNlc19pY29uLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfcm9hZG1hcF9pY29uXCJdIHtcbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3JvYWRtYXBfaWNvbi5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaVtpY29uPVwiX29yZ2FuaXphdGlvbl9pY29uXCJdIHtcbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29yZ2FuaXphdGlvbl9pY29uLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfbGVhZGVyc2hpcF9pY29uXCJdIHtcbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xlYWRlcnNoaXBfaWNvbi5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaVtpY29uPVwiX2RpdmVyc2l0eV9pY29uXCJdIHtcbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2RpdmVyc2l0eV9pY29uLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfaGVhbHRoX2ljb25cIl0ge1xuICAgICAgICAgICAgYTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaGVhbHRoX2ljb24uc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGk6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tTGlnaHQtYmx1ZSwgI0Y0RkJGRik7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAubWVudSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktZ3JheTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtO1xuICAgIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zLXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG4ubmF2YmFyLWV4cGFuZC1sZyB7XG4gICAgQGluY2x1ZGUgd3JhcHBlcigpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICAgIHdpZHRoOiAxMjZweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC5uYXYge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlLWEgMDtcblxuICAgICAgICAmPi5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbD5hIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LWxpbmsge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbT5hOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLm5hdmJhci1leHBhbmQtbGcge1xuICAgICAgICBwYWRkaW5nOiAwICRzcGFjZS1hO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2VyO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfc2VydmljZXNfaWNvblwiXSxcbiAgICAgICAgbGlbaWNvbj1cIl9yb2FkbWFwX2ljb25cIl0sXG4gICAgICAgIGxpW2ljb249XCJfb3JnYW5pemF0aW9uX2ljb25cIl0sXG4gICAgICAgIGxpW2ljb249XCJfbGVhZGVyc2hpcF9pY29uXCJdLFxuICAgICAgICBsaVtpY29uPVwiX2RpdmVyc2l0eV9pY29uXCJdLFxuICAgICAgICBsaVtpY29uPVwiX2hlYWx0aF9pY29uXCJdIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZS1hIDA7XG5cbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG51bD5saS5uYXYtaXRlbS5oZWFkZXItbmF2LWFjdGlvbi1pdGVtIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2UtYjtcbiAgICB9XG59XG5cbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMj51bD5saS5uYXYtaXRlbS5oZWFkZXItbmF2LWFjdGlvbi1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xufSIsIi5uYXZiYXItdG9nZ2xlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogMzhweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAzOHB4O1xufVxuXG4ubmF2YmFyLXRvZ2dsZXIuY29sbGFwc2VkIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbW9iaWxlX2ljb25zLnN2Z1wiKTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uICAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jbG9zZV9tb2JpbGVfaWNvbi5zdmdcIik7XG59XG5cbi5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uLCAubmF2YmFyLWNvbGxhcHNlLnNob3cge1xuICAgIC5uYXYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Ryb3BfZG93bl9hcnJvdy5zdmdcIik7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAubmF2YmFyLXRvZ2dsZXIgPiAubmF2YmFyLXRvZ2dsZXItaWNvbiwgLm5hdmJhci1jb2xsYXBzZS5zaG93IHtcbiAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2VyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLy9Gb290ZXIgcmVnaW9uIGZpcnN0XG4uc2l0ZS1mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXkgIWltcG9ydGFudDtcblxuICAgIC5yZWdpb24tZm9vdGVyLWZpcnN0LFxuICAgIC5yZWdpb24tZm9vdGVyLXNlY29uZCxcbiAgICAucmVnaW9uLWZvb3Rlci10aGlyZCB7XG4gICAgICAgIEBpbmNsdWRlIHdyYXBwZXIoKTtcblxuICAgICAgICAuZm9vdGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVnaW9uLWZvb3Rlci1maXJzdCB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMCAwIDA7XG5cbiAgICAgICAgbmF2IHtcbiAgICAgICAgICAgIC5uYXYge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtO1xuXG4gICAgICAgICAgICAgICAgLm5hdi1saW5rLmJ1dHRvbi1wcmltYXJ5LmJ1dHRvbi1wcmltYXJ5LS1sb2dpbiwgLmxvZy1vdXQtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaVtpY29uPVwiX3NlcnZpY2VzX2ljb25cIl0sXG4gICAgICAgICAgICAgICAgbGlbaWNvbj1cIl9yb2FkbWFwX2ljb25cIl0sXG4gICAgICAgICAgICAgICAgbGlbaWNvbj1cIl9vcmdhbml6YXRpb25faWNvblwiXSxcbiAgICAgICAgICAgICAgICBsaVtpY29uPVwiX2xlYWRlcnNoaXBfaWNvblwiXSxcbiAgICAgICAgICAgICAgICBsaVtpY29uPVwiX2RpdmVyc2l0eV9pY29uXCJdLFxuICAgICAgICAgICAgICAgIGxpW2ljb249XCJfaGVhbHRoX2ljb25cIl0ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAubmF2Pi5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbD5hIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1tZWRpdW0tZ3JheTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpb24tZm9vdGVyLXNlY29uZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbmloLXByaW1hcnktZ3JheTtcbiAgICAgICAgcGFkZGluZzogNDBweCAwO1xuXG4gICAgICAgIC5uYXYge1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZS1kO1xuXG4gICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcblxuICAgICAgICAgICAgICAgIC5maWVsZF9faXRlbSB7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpLFxuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sYXB0b3Auc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRiYXNlLXNwYWNlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9waG9uZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jYXRpb24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tZm9vdGVyLWxpbmtzIHtcblxuICAgICAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItZGVzY3JpcHRpb24gcCxcbiAgICAgICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLWE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1saW5rIGE6bm90KC5vdXRsaW5lLWljb24tYnRuLXdoaXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpbmstaWNvbihsaWdodCwgXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc21hbGwtYnV0dG9uLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItZGVzY3JpcHRpb24gcCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1jb250ZW50LWJhc2ljIHtcbiAgICAgICAgICAgIC5maWVsZC0tbmFtZS1ib2R5IHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjZS1kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlZ2lvbi1mb290ZXItdGhpcmQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG5paC1wcmltYXJ5LWdyYXk7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCA2MHB4IDA7XG5cbiAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtc2Vjb25kYXJ5LXRlYWwtYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSAkbmloLXByaW1hcnktd2hpdGU7XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAgICAgXG4gICAgfVxuXG4gICAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMj51bD4ge1xuXG4gICAgbGlbaWNvbj1cIl9zZXJ2aWNlc19pY29uXCJdLFxuICAgIGxpW2ljb249XCJfc3VwcG9ydF9pY29uXCJdLFxuICAgIGxpW2ljb249XCJfYWJvdXRfaWNvblwiXSxcbiAgICBsaVtpY29uPVwiX2Nvbm5lY3RfaWNvblwiXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGlbaWNvbj1cIl9zZXJ2aWNlc19pY29uXCJdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZXJ2aWNlc19pY29uLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpW2ljb249XCJfc3VwcG9ydF9pY29uXCJdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdXBwb3J0LnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpW2ljb249XCJfYWJvdXRfaWNvblwiXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGVvcGxlLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpW2ljb249XCJfY29ubmVjdF9pY29uXCJdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25uZWN0LnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gICAgLnNpdGUtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG5cbiAgICAgICAgLnJlZ2lvbi1mb290ZXItZmlyc3Qge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1jb250ZW50IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgcm93LWdhcDogJHNwYWNlLWQ7XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uLWZvb3Rlci10aGlyZCB7XG4gICAgICAgICAgICAubmF2IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIvLyBVcGRhdGVkIGJ1dHRvbnNcbi5wcmltYXJ5LWJ1dHRvbixcbi5idXR0b24tcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHByaW1hcnkpXG59XG5cbi5idXR0b24tcHJpbWFyeS0tYXJyb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihwcmltYXJ5LCBcIi4uL2ltYWdlcy9hcnJvdy1mb3J3YXJkLnN2Z1wiLCBhZnRlcik7XG59XG5cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihwcmltYXJ5LCBcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIiwgYWZ0ZXIpO1xufVxuXG4uYnV0dG9uLXByaW1hcnktLWxvZ2luIHtcbiAgICBAaW5jbHVkZSBidXR0b24ocHJpbWFyeSwgXCIuLi9pbWFnZXMvbG9naW4uc3ZnXCIsIGFmdGVyKTtcbn1cblxuLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHByaW1hcnksIFwiLi4vaW1hZ2VzL29wZW4tZ3JheS5zdmdcIiwgYWZ0ZXIpO1xufVxuXG4uYnV0dG9uLXRlcnRpYXJ5LS1sb2dpbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHRlcnRpYXJ5LCBcIi4uL2ltYWdlcy9sb2dpbi5zdmdcIiwgYWZ0ZXIpO1xuICAgIG1hcmdpbi10b3A6ICRzcGFjZS1iO1xufVxuXG4uYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHRlcnRpYXJ5LCBcIi4uL2ltYWdlcy9vcGVuLWdyYXkuc3ZnXCIsIGFmdGVyKTtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2UtYjtcbn1cblxuLm91dGxpbmUtaWNvbi1idG4td2hpdGUge1xuICAgIEBpbmNsdWRlIGJ1dHRvbih3aGl0ZSwgXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiLCBhZnRlcik7XG59XG5cbi5idXR0b24tc2Vjb25kYXJ5LFxuLnNlY29uZGFyeS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnkpO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tYXJyb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnksIFwiLi4vaW1hZ2VzL2Fycm93LWZvcndhcmQuc3ZnXCIsIGFmdGVyKTtcbn1cblxuLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkIHtcbiAgICBAaW5jbHVkZSBidXR0b24oc2Vjb25kYXJ5LCBcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIiwgYWZ0ZXIpO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWwsXG4ub3V0bGluZS1idXR0b24tYmxhY2sge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnksIFwiLi4vaW1hZ2VzL29wZW4tZ3JheS5zdmdcIiwgYWZ0ZXIpO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tbG9naW4ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnksIFwiLi4vaW1hZ2VzL2xvZ2luLnN2Z1wiLCBhZnRlcik7XG59XG5cblxuLy9MaW5rIEJ1dHRvbnNcbi5saW5rLWljb24ge1xuICAgIEBpbmNsdWRlIGxpbmstaWNvbihkYXJrLCBcIi4uL2ltYWdlcy9vcGVuLWdyYXkuc3ZnXCIpO1xufVxuXG4ubGluay1pY29uLS1kb3dubG9hZCB7XG4gICAgQGluY2x1ZGUgbGluay1pY29uKGRhcmssIFwiLi4vaW1hZ2VzL2Rvd25sb2FkLnN2Z1wiKTtcbn1cblxuLmxpbmstaWNvbi0tbGlnaHQge1xuICAgIEBpbmNsdWRlIGxpbmstaWNvbihsaWdodCwgXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbn1cblxuLmlubGluZS1idXR0b25zPi5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9ucy1zZWxlY3RvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb2x1bW4tZ2FwOiAkc3BhY2UtYjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAkc3BhY2UtYyAwO1xuICAgIHJvdy1nYXA6ICRzcGFjZS1iO1xufVxuXG5cbi8vU3R5bGVzIHRvIGJlIGRlcHJlY2F0ZWRcblxuLmxvY2staWNvbi1idXR0b24sXG4ubG9jay1pY29uLWJ1dHRvbi13aGl0ZSxcbi5vdXRsaW5lLWJ1dHRvbi13aGl0ZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgcGFkZGluZzogJGJhc2Utc3BhY2VyICRzcGFjZS1hO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmEubG9jay1pY29uLWJ1dHRvbixcbmEubG9jay1pY29uLWJ1dHRvbi13aGl0ZSB7XG4gICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuaWgtcHJpbWFyeS1kYXJrLWJsdWU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRuaWgtcHJpbWFyeS1kYXJrLWJsdWU7XG4gICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgfVxufVxuXG5cblxuXG4ubG9jay1pY29uLWJ1dHRvbixcbi5sb2NrLWljb24tYnV0dG9uLXdoaXRlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuLmxvY2staWNvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS1ibHVlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRuaWgtcHJpbWFyeS1ibHVlO1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay5zdmdcIik7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNjM5MztcbiAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICB9XG5cbn1cblxuLmxvY2staWNvbi1idXR0b24td2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbmloLXByaW1hcnktYmx1ZTtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay1pY29uLWJsdWUuc3ZnXCIpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS1ibHVlLXdoaXRlO1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgfVxufVxuXG4ubG9naW4taWNvbi1idXR0b24tYmxhY2sge1xuICAgIEBpbmNsdWRlIGN0YS1wcmltYXJ5LWJ1dHRvbjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ2luLnN2Z1wiKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgfVxuXG59XG5cbi8vVE9ETzogZGVwcmVjYXRlXG4ub3V0bGluZS1idXR0b24td2hpdGUge1xuICAgIGJvcmRlcjogJG5paC1wcmltYXJ5LXdoaXRlIHNvbGlkO1xufVxuXG4vLyBUYWdzIGZvciBDSVQgRGVwbG95bWVudCBDYWxlbmRhclxuLmxpZ2h0LXllbGxvdyxcbi5saWdodC1ncmF5LFxuLmxpZ2h0LWJsdWUsXG4ubGlnaHQtZ3JlZW4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG59XG5cbi5saWdodC15ZWxsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtc2Vjb25kYXJ5LWxpZ2h0LXllbGxvdztcbiAgICBjb2xvcjogJG5paC1zZWNvbmRhcnktZGFyay15ZWxsb3c7XG59XG5cbi5saWdodC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktbGlnaHQtZ3JheTtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbn1cblxuLmxpZ2h0LWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS1saWdodC1ibHVlO1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktYmx1ZTtcbn1cblxuLmxpZ2h0LWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS1saWdodC1ncmVlbjtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JlZW47XG59IiwiLyoqXG4qIENhcmQgTGluayBNaXhpbiBcbipcbiogTWl4aW4gdGhhdCBzdXBwb3J0IGNhcmRzIHRoYXQgYXJlIHRyZWF0ZWQgYXMgbGlua3MuIFxuKiBJbnRlbmRlZCB0byBiZSBhcHBsaWVkIHRvIGRpcmVjdGx5IHRvIGFuIDxhPiBhbmNob3IgdGFnIFxuKiBQcm92aWRlcyB2aXN1YWwgc3R5bGUsIGhvdmVyIHBhdHRlcm4sIGljb25vZ3JhcGh5IG9wdGlvbnMgXG4qIEhhcyBubyBvcGluaW9ucyBvbiBob3cgdGhlIGltYWdlIHNob3VsZCBiZSBzdHlsZWQuIFRoZXJlIGFyZSBhIGNvdXBsZSBkaWZmZXJlbnQgcGF0dGVybnMuIFRob3NlIGFyZSBjdXJyZW50bHkgbGVmdCB0byB0aGUgY2FyZCBpdHNlbGYuIFxuKi9cblxuQG1peGluIGNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGNhcmQtd3JhcHBlcjtcbiAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctZm9yd2FyZC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTlweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDE5cHg7XG4gIH1cblxuICAmLmNhcmQtbGluay1hcnJvdzo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvdy1mb3J3YXJkLnN2Z1wiKTtcbiAgfVxuXG4gICYuY2FyZC1saW5rLS1sb2dpbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2dpbi5zdmdcIik7XG4gIH1cblxuICAmLmNhcmQtbGluay0tbG9jazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2NrLnN2Z1wiKTtcbiAgfVxuXG4gICYuY2FyZC1saW5rLS1leHRlcm5hbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLWdyYXkuc3ZnXCIpO1xuICB9XG5cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtY29sdW1uLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIH1cbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGNhcmQtbGluaygpO1xufSIsIi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQge1xuICAgIHBhZGRpbmc6ICRzcGFjZS1jIDA7XG5cblxuICAgIGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIHdyYXBwZXI7XG5cbiAgICAgICAgLndyYXBwZXItLWNvbC0zIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgLndyYXBwZXItLWNvbC00IC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cmFwcGVyLS1jb2wtMyAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4sXG4gICAgICAgIC53cmFwcGVyLS1jb2wtNCAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4ge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdhcDogJHNwYWNlLWI7XG4gICAgICAgICAgICBncmlkLWF1dG8tcm93czogYXV0bztcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmPi5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBhLmNhcmQtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyAvL2ZpeGVzIHNhZmFyaSBidWdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC11cmwge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtdGV4dCB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2UtYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1zdWJ0aXRsZS1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS14bGFyZ2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46ICRzcGFjZS1hIDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC50aHJlZS1jb2x1bW4tZ3JpZC1jdGEtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJ1dHRvbi1yZXBlYXRlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2UtYjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtY29sdW1uLWNvbnRlbnQge1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtc3VidGl0bGUgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG5cbiAgICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG5cbiAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlLWEgMDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2UtYSAwO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNjBweDtcbiAgICB9XG59IiwiLnBhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1iYWNrZ3JvdW5kLWltZyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAmLmltYWdlLWxlZnQ6OmJlZm9yZXtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuaW1hZ2UtYmxvY2sge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZS1mIDA7XG4gICAgfVxuXG4gICAgJi5pbWFnZS1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bzsgXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAuaW1hZ2UtYmxvY2sge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICAvL3JlLW9yZGVyIGJsb2NrcyBmb3Igb3JpZW50YXRpb24gc2V0dGluZ3NcbiAgICAgICAgICAgICYuaW1hZ2UtbGVmdCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW1hZ2UtcmlnaHQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgICAmLmltYWdlLWxlZnQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNlLWY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW1hZ2UtcmlnaHQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCAuY29udGVudC1ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZS1hO1xuICAgIH1cbiAgICBcbn0iLCIucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyB7XG5cbiAgICAuaW1hZ2UtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgIC5oZXJvLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2UtZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG4gICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG5cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jdGEtcHJpbWFyeS1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlLWM7XG4gICAgICAgIH1cblxuICAgICAgICAuY3RhLXNlY29uZGFyeS1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2UtYiAwO1xuXG4gICAgICAgICAgICAubG9naW4taWNvbi1idXR0b24tYmxhY2sge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZS1hIDA7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3RlYWwtb3Blbi5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJG5paC1wcmltYXJ5LXdoaXRlIHNvbGlkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogNDYwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9uLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2x1bW4tZ2FwOiAyMHB4O1xuXG4gICAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGN0YS1wcmltYXJ5LWJ1dHRvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5jdGEtbG9jay1pY29uLFxuICAgIC5jdGEtbG9naW4taWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5jdGEtbG9jay1pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvY2suc3ZnXCIpO1xuICAgIH1cblxuXG4gICAgLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50IHtcblxuICAgICAgICA+LmZpZWxkX19pdGVtOm50aC1jaGlsZCgyKSxcbiAgICAgICAgLmZpZWxkX19pdGVtOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS1ncmF5LXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgPi5maWVsZF9faXRlbTpudGgtY2hpbGQoMyksXG4gICAgICAgIC5maWVsZF9faXRlbTpudGgtY2hpbGQoNSkge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS1kYXJrZ3JheS13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgXG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMXB4KSBhbmQgKG1heC13aWR0aDogMTA1MHB4KSB7XG5cbiAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8ge1xuICAgICAgICAgICAgLnBlb3BsZS1pbWFnZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAwIDA7XG5cbiAgICAgICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIHtcbiAgICAuZm9udC1jb2xvciB7XG5cbiAgICAgICAgaDEsXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sdW1uLWdhcDogMjBweDtcblxuICAgICAgICAuZmllbGRfX2l0ZW0ge1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjdGEtcHJpbWFyeS1idXR0b247XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmVhZGNydW1iIGEsXG4gICAgLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBjYXJkLWhlYWRpbmc7XG4gICAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQuaW1hZ2UtbWFyZ2luIHtcbiAgICAud3JhcHBlciAuZ3JpZCB7XG4gICAgICAgIGdhcDogMDtcblxuICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4ICRuaWgtcHJpbWFyeS1tZWRpdW0tZ3JheSBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8sIC5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyB7XG4gICAgICAgIC5oZXJvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2UtYyAkc3BhY2UtYjtcbiAgICAgICAgfVxuICAgIH1cbiAgXG59XG5cbiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG5cbiAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8ge1xuICAgICAgICAgICAgLnBlb3BsZS1pbWFnZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWIgMCAwO1xuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcblxuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXgtbGFyZ2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0tbGFyZ2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZS1iYWNrZ3JvdW5kcyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyB7XG4gICAgICAgICAgICAuc2Vjb25kYXJ5LWltYWdlLWJhY2tncm91bmRzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFyYWdyYXBoLS10eXBlLS1jbG91ZC1sYWIge1xuICAgICAgICAuY2xvdWQtbGFiLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDUsIDEzLCAyMSwgMSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS1sYXJnZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2UtYztcbiAgICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGN0YS1wcmltYXJ5LWJ1dHRvbjtcbiAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlLWIgMCAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZXJvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0NHB4IDAgNDRweDtcbiAgICAgICAgfVxuICAgIH0iLCIucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0ge1xuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jaXQtY29ubmVjdC1jYXJkcy1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAkc3BhY2UtYjtcbiAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAmPi5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjYXJkLXdyYXBwZXI7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLXRhZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogNHB4ICRiYXNlLXNwYWNlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC10YWcsXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWRlc2NyaXB0aW9uLFxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSxcbiAgICAuZmllbGQtLW5hbWUtZmllbGQtY2FkZW5jZSxcbiAgICAuZmllbGQtLW5hbWUtZmllbGQtcG9jcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmphbGxhLW9uLXByaW1hcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0teGxhcmdlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtY2FkZW5jZSxcbiAgICAuZmllbGQtLW5hbWUtZmllbGQtcG9jcyB7XG4gICAgICAgIGNvbHVtbi1nYXA6IDVweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcblxuICAgICAgICAuZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYSB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmstaWNvbihkYXJrLCBcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAgIG1hcmdpbjogNjBweCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn0iLCIuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59IiwiLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIHtcbiAgQGluY2x1ZGUgd3JhcHBlcjtcbiAgbWFyZ2luOiAkc3BhY2UtZCBhdXRvO1xuXG4gIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQge1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBidXR0b24gc3ZnIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtLWxhcmdlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICA+IGRpdiB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbmloLXByaW1hcnktbGlnaHQtZ3JheTtcbiAgICAgIFxuICAgIH1cblxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b24ge1xuICAgICAgYWxsOiBpbmhlcml0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nOiAkc3BhY2UtYSAkc3BhY2UtYjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LWxpZ2h0LWdyYXk7XG4gICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgICAgcmVjdCB7XG4gICAgICAgICAgZmlsbDogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hZGQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEuMjVyZW0gY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtLWxhcmdlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICByZWN0IHtcbiAgICAgICAgZmlsbDogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uX19oZWFkZXIgYnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXkgMXB4O1xuICAgIH1cblxuXG4gICAgW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC52ZXJ0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbl9fcGFuZWwge1xuICAgICAgcGFkZGluZzogJHNwYWNlLWI7XG5cbiAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2x1bW4tZ2FwOiAkc3BhY2UtYTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46ICRzcGFjZS1jIDA7XG4gICAgICAgIHJvdy1nYXA6ICRzcGFjZS1hO1xuXG5cbiAgICAgICAgLmZpZWxkX19pdGVtIGEge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnkpXG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1hY2NvcmRpb24tYm9keSB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW46IDhweCAxNnB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmZpZWxkX19pdGVtIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWJsdWU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3JlbW92ZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjI1cmVtIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtLXhsYXJnZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcblxuICAgIHJlY3Qge1xuICAgICAgZmlsbDogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktbGlnaHQtZ3JheTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9taW51cy5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4yNXJlbSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbTtcbiAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuXG4gICAgICByZWN0IHtcbiAgICAgICAgZmlsbDogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGRfX2l0ZW0ge1xuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG5cbiAgXG4gICAgICBkaXYsXG4gICAgICBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgZGl2IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxufSIsIi5ub2RlLS10eXBlLXNlcnZpY2UsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIC5ub2RlX19jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJG5paC1wcmltYXJ5LXNreS1ibHVlIDIwJSwgJG5paC1wcmltYXJ5LXdoaXRlIDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgM2ZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInNpZGViYXIgY29udGVudFwiO1xuXG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgICAgIFwiY29udGVudFwiXG4gICAgICAgICAgICAgICAgXCJzaWRlYmFyXCI7XG4gICAgICAgIH1cblxuICAgICAgICAubGF5b3V0X19yZWdpb24tLWZpcnN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuaWgtcHJpbWFyeS1za3ktYmx1ZTtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogc2lkZWJhcjtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAyMHB4IDBweCAwcHg7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLnZpZXctY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMnB4IDE2cHggMCAwO1xuXG4gICAgICAgICAgICAgICAgLnZpZXdzLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNlciAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmloLXByaW1hcnktZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2VyICRzcGFjZS1hO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2VyIDA7XG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5paC1wcmltYXJ5LWdyYXk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNlciAkc3BhY2UtYTtcblxuICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYXYgPiAubWVudS1pdGVtLS1hY3RpdmUtdHJhaWwgPiBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogY29udGVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZS1kO1xuXG4gICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2Uge1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS1sYXJnZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlLWQ7XG5cbiAgICAgICAgICAgICAgICAuZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpZWxkX19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjY29yZGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpZWxkLS1uYW1lLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2UtYSAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1zZWN0aW9uIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRuaWgtcHJpbWFyeS1tZWRpdW0tZ3JheSAycHggc29saWQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2UtZCAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYiBhLFxuICAgIC5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgIEBpbmNsdWRlIGNhcmQtaGVhZGluZztcbiAgICB9XG59XG5cbi5ub2RlLS10eXBlLW9mZmljZXMge1xuICAgIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICAgIH1cblxufVxuXG4ubm9kZS0tdHlwZS1wYWdlIHtcbiAgICBib3JkZXItdG9wOiAkbmloLXByaW1hcnktZGFyay1ibHVlIDMycHggc29saWQ7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZS1mIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbn1cbiIsIi5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIHtcbiAgICAubm9kZV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICB9XG4gICAgaDEgLCAuZmllbGQtLW5hbWUtZmllbGQtcG9zaXRpb24tdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjZS1iO1xuICAgICAgICAgICAgd2lkdGg6IDIzN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYiBhLCAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICBAaW5jbHVkZSBjYXJkLWhlYWRpbmc7XG4gICAgfVxufSIsIi5ibG9jay12aWV3cy1ibG9ja2xlYWRlcnNoaXAtYmxvY2stMSB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuXG4gICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLnZpZXctbGVhZGVyc2hpcCB7XG4gICAgICAgIC52aWV3LWNvbnRlbnQucm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmciAxZnIgMWZyO1xuICAgICAgICAgICAgZ2FwOiAkc3BhY2UtYjtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY+LnZpZXdzLXJvdyB7XG4gICAgICAgICAgICAgICAgLmNhcmQtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLmxlYWRlcnNoaXAtYmlvLWNhcmQtaW1nIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4IDI0cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxlYWRlcnNoaXAtYmlvLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm91ci1sZWFkZXJzLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkc3BhY2UtYjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIHtcbiAgICAgICAgLnZpZXctbGVhZGVyc2hpcCB7XG4gICAgICAgICAgICAudmlldy1jb250ZW50LnJvdyB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIHtcbiAgICAgICAgLnZpZXctbGVhZGVyc2hpcCB7XG4gICAgICAgICAgICAudmlldy1jb250ZW50LnJvdyB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZS1hO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi52aWV3LXByb2R1Y3Qtcm9hZG1hcCB7XG5cbiAgICAudmlldy1oZWFkZXIsXG4gICAgaDEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuXG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnZpZXctZmlsdGVycyB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNlLWMgJHNwYWNlLWQ7XG5cbiAgICAgICAgLmZsZXgtd3JhcCB7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlLWI7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCAkbmloLXByaW1hcnktYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aWV3LWNvbnRlbnQucm93IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG5paC1wcmltYXJ5LWxpZ2h0LWdyYXk7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuXG4gICAgICAgIC52aWV3cy1yb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2FyZC13cmFwcGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2UtYTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW07IC8vdGVtcCBmaXggdG8gYWNjb3VudCBmb3IgJ09wZXJhdGlvbnMgYW5kIE1haW50ZW5hbmNlJ1xuXG4gICAgICAgICAgICBoNSBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZqYWxsYS1vbi1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmlld3MtZmllbGQtdGl0bGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRmb250LXNpemUtbWVkaXVtLWxhcmdlIDA7XG5cbiAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52aWV3cy1maWVsZC1maWVsZC1jaXQtc2VydmljZS1hcmVhLW93bmVyLFxuICAgICAgICAgICAgLnZpZXdzLWZpZWxkLWZpZWxkLXRpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIC5maWVsZC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpZ2h0LWdyYXksXG4gICAgICAgICAgICAubGlnaHQteWVsbG93LFxuICAgICAgICAgICAgLmxpZ2h0LWdyZWVuLFxuICAgICAgICAgICAgLmxpZ2h0LWJsdWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZS1hO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yb2FkbWFwLXF1YXJ0ZXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJG5paC1wcmltYXJ5LWxpZ2h0LWdyYXk7XG59XG5cbi5yb2FkbWFwLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LWRhcmstYmx1ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAkc3BhY2UtYSAwICRiYXNlLXNwYWNlcjtcblxuICAgIGgyLFxuICAgIHAge1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgLnZpZXctcHJvZHVjdC1yb2FkbWFwIHtcbiAgICAgICAgLnZpZXctY29udGVudC5yb3cge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCJcbiAgLm1vZGFsLXdyYXBwZXIge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuICAubW9kYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgXG4gICAgJi5vcGVuIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgfVxuICAgICYtYmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUsIDEzLCAyMSwgMC44MCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgJi1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogJHNwYWNlLWQgJHNwYWNlLWY7XG5cbiAgICAgIGRpdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH0iLCIucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCB7XG4gICAgcGFkZGluZzogJHNwYWNlLWYgMDtcbiAgICBAaW5jbHVkZSB3cmFwcGVyO1xuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6ICRzcGFjZS1iO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJj4uZmllbGRfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2FyZC13cmFwcGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZSBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweCAyNHB4IDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQtY29udGVudCB7XG4gICAgICAgIC50d28taW1hZ2UtY2FyZC1wYXJhZ3JhcGgge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCB7XG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5maWVsZC0tbmFtZS1maWVsZC1sZWFkZXJzaGlwLWJpb3Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAkc3BhY2UtYjtcbiAgICBncmlkLWF1dG8tcm93czogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmciAxZnIgMWZyO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgLmxlYWRlcnNoaXAtYmlvLWNvbnRlbnQge1xuICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2UtYTtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblxuICAgICAgICAuY2FyZC1oZWFkaW5nPnNwYW4ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gdGhlIGFjdHVhbCBjYXJkIFxuICAgICY+LmZpZWxkX19pdGVtIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5jYXJkLWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwICRzcGFjZS1kO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjZS1iICRzcGFjZS1iIDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5ub2RlLS10eXBlLW9mZmljZXMge1xuXG4gICAgLmZpZWxkLS1uYW1lLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tbGVhZGVyc2hpcC1iaW9zIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLm5vZGVfX2NvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWxlYWRlcnNoaXAtYmlvcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1zZWNvbmRhcnktc2t5LWJsdWU7XG4gICAgcGFkZGluZzogJHNwYWNlLWQgMDtcbn0iXX0= */
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/add.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/add.svg
new file mode 100644
index 00000000000..a386fb777da
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/add.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/arrow-forward.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/arrow-forward.svg
new file mode 100644
index 00000000000..ac3a88d5ea9
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/arrow-forward.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/close_mobile_icon.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/close_mobile_icon.svg
new file mode 100644
index 00000000000..5eb8022700c
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/close_mobile_icon.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/connect.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/connect.svg
new file mode 100644
index 00000000000..fd1876bd114
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/connect.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/diversity_icon.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/diversity_icon.svg
new file mode 100644
index 00000000000..c2b7e058fa7
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/diversity_icon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/download.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/download.svg
new file mode 100644
index 00000000000..c7892195245
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/download.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/drop_down_arrow.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/drop_down_arrow.svg
new file mode 100644
index 00000000000..65a8bd0deec
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/drop_down_arrow.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/health_icon.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/health_icon.svg
new file mode 100644
index 00000000000..705e2abef91
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/health_icon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/laptop.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/laptop.svg
new file mode 100644
index 00000000000..15fd04e2986
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/laptop.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/leadership_icon.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/leadership_icon.svg
new file mode 100644
index 00000000000..f3209806080
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/leadership_icon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/location.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/location.svg
new file mode 100644
index 00000000000..177e5276491
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/location.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/lock-icon-blue.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/lock-icon-blue.svg
new file mode 100644
index 00000000000..24649868e60
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/lock-icon-blue.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/lock.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/lock.svg
new file mode 100644
index 00000000000..a8889ddae7a
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/lock.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/login.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/login.svg
new file mode 100644
index 00000000000..12287b57bde
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/login.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/logout.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/logout.svg
new file mode 100644
index 00000000000..5d8e77bc5e4
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/logout.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/minus.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/minus.svg
new file mode 100644
index 00000000000..e9d7350e60f
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/minus.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/mobile_icons.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/mobile_icons.svg
new file mode 100644
index 00000000000..d0e8ce1df2c
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/mobile_icons.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/open-gray.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/open-gray.svg
new file mode 100644
index 00000000000..93b47b4fdaa
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/open-gray.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/open.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/open.svg
new file mode 100644
index 00000000000..ebe1efcac44
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/open.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/organization_icon.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/organization_icon.svg
new file mode 100644
index 00000000000..619b6c00378
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/organization_icon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/people.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/people.svg
new file mode 100644
index 00000000000..2d56be23752
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/people.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/phone.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/phone.svg
new file mode 100644
index 00000000000..dc653c22c4b
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/phone.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/remove.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/remove.svg
new file mode 100644
index 00000000000..1eaa6bf371a
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/remove.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/roadmap_icon.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/roadmap_icon.svg
new file mode 100644
index 00000000000..8313802c625
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/roadmap_icon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/services_icon.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/services_icon.svg
new file mode 100644
index 00000000000..ca0a0c9a986
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/services_icon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/support.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/support.svg
new file mode 100644
index 00000000000..b6482af0102
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/support.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/teal-open.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/teal-open.svg
new file mode 100644
index 00000000000..6fc45c68e54
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/teal-open.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/uswds/icon-dot-gov.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/uswds/icon-dot-gov.svg
new file mode 100644
index 00000000000..3dac7cd8fad
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/uswds/icon-dot-gov.svg
@@ -0,0 +1 @@
+icon-dot-gov
\ No newline at end of file
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/uswds/icon-https.svg b/cit.nih.gov/themes/custom/customer_portal_theme/images/uswds/icon-https.svg
new file mode 100644
index 00000000000..19ad04fc9b6
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/images/uswds/icon-https.svg
@@ -0,0 +1 @@
+icon-https
\ No newline at end of file
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/images/uswds/us_flag_small.png b/cit.nih.gov/themes/custom/customer_portal_theme/images/uswds/us_flag_small.png
new file mode 100644
index 00000000000..75350bab32c
Binary files /dev/null and b/cit.nih.gov/themes/custom/customer_portal_theme/images/uswds/us_flag_small.png differ
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/js/accordion.js?v=10.2.7 b/cit.nih.gov/themes/custom/customer_portal_theme/js/accordion.js?v=10.2.7
new file mode 100644
index 00000000000..b51447583d0
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/js/accordion.js?v=10.2.7
@@ -0,0 +1,13 @@
+const accordionComponent = document.querySelector('.accordion');
+accordionComponent?.addEventListener('click', (event) => {
+ accordion(event);
+});
+
+function accordion() {
+ const btn = event.target.closest('[accordion-trigger]');
+ const expanded = btn.getAttribute('aria-expanded') === 'true';
+ const target = btn.parentNode.nextElementSibling;
+
+ btn.setAttribute('aria-expanded', !expanded);
+ target.hidden = expanded;
+}
\ No newline at end of file
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/js/barrio.js?v=10.2.7 b/cit.nih.gov/themes/custom/customer_portal_theme/js/barrio.js?v=10.2.7
new file mode 100644
index 00000000000..35201655286
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/js/barrio.js?v=10.2.7
@@ -0,0 +1,69 @@
+/**
+ * @file
+ * Global utilities.
+ *
+ */
+(function (Drupal) {
+
+ 'use strict';
+
+ Drupal.behaviors.bootstrap_barrio = {
+ attach: function (context, settings) {
+
+ var position = window.scrollY;
+ window.addEventListener('scroll', function() {
+ if (window.scrollY > 50) {
+ document.querySelector('body').classList.add("scrolled");
+ }
+ else {
+ document.querySelector('body').classList.remove("scrolled");
+ }
+ var scroll = window.scrollY;
+ if (scroll > position) {
+ document.querySelector('body').classList.add("scrolldown");
+ document.querySelector('body').classList.remove("scrollup");
+ } else {
+ document.querySelector('body').classList.add("scrollup");
+ document.querySelector('body').classList.remove("scrolldown");
+ }
+ position = scroll;
+ });
+
+ document.addEventListener('click', function (event) {
+
+ // If the clicked element doesn't have the right selector, bail
+ if (!event.target.matches('.dropdown-item a.dropdown-toggle')) return;
+
+ // Don't follow the link
+ event.preventDefault();
+
+ toggle(event.target.next('ul'));
+ event.stopPropagation();
+
+ }, false);
+
+ // Toggle element visibility
+ var toggle = function (elem) {
+
+ // If the element is visible, hide it
+ if (window.getComputedStyle(elem).display === 'block') {
+ hide(elem);
+ return;
+ }
+
+ // Otherwise, show it
+ show(elem);
+
+ };
+
+ var show = function (elem) {
+ elem.style.display = 'block';
+ };
+
+ var hide = function (elem) {
+ elem.style.display = 'none';
+ };
+ }
+ };
+
+})(Drupal);
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/js/bootstrap.min.js?v=10.2.7 b/cit.nih.gov/themes/custom/customer_portal_theme/js/bootstrap.min.js?v=10.2.7
new file mode 100644
index 00000000000..c35e1da131b
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/js/bootstrap.min.js?v=10.2.7
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v5.3.2 (https://getbootstrap.com/)
+ * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const i in t)if("default"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const i=e(t),s=new Map,n={set(t,e,i){s.has(t)||s.set(t,new Map);const n=s.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>s.has(t)&&s.get(t).get(e)||null,remove(t,e){if(!s.has(t))return;const i=s.get(t);i.delete(e),0===i.size&&s.delete(t)}},o="transitionend",r=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),a=t=>{t.dispatchEvent(new Event(o))},l=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),c=t=>l(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(r(t)):null,h=t=>{if(!l(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),u=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?u(t.parentNode):null},_=()=>{},g=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,m=[],p=()=>"rtl"===document.documentElement.dir,b=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of m)t()})),m.push(e)):e()},v=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,y=(t,e,i=!0)=>{if(!i)return void v(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let n=!1;const r=({target:i})=>{i===e&&(n=!0,e.removeEventListener(o,r),v(t))};e.addEventListener(o,r),setTimeout((()=>{n||a(e)}),s)},w=(t,e,i,s)=>{const n=t.length;let o=t.indexOf(e);return-1===o?!i&&s?t[n-1]:t[0]:(o+=i?1:-1,s&&(o=(o+n)%n),t[Math.max(0,Math.min(o,n-1))])},A=/[^.]*(?=\..*)\.|.*/,E=/\..*/,C=/::\d+$/,T={};let k=1;const $={mouseenter:"mouseover",mouseleave:"mouseout"},S=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${k++}`||t.uidEvent||k++}function O(t){const e=L(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function I(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function D(t,e,i){const s="string"==typeof e,n=s?i:e||i;let o=M(t);return S.has(o)||(o=t),[s,n,o]}function N(t,e,i,s,n){if("string"!=typeof e||!t)return;let[o,r,a]=D(e,i,s);if(e in $){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=O(t),c=l[a]||(l[a]={}),h=I(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=L(r,e.replace(A,"")),u=o?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return F(n,{delegateTarget:r}),s.oneOff&&j.off(t,n.type,e,i),i.apply(r,[n])}}(t,i,r):function(t,e){return function i(s){return F(s,{delegateTarget:t}),i.oneOff&&j.off(t,s.type,e),e.apply(t,[s])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function P(t,e,i,s,n){const o=I(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function x(t,e,i,s){const n=e[i]||{};for(const[o,r]of Object.entries(n))o.includes(s)&&P(t,e,i,r.callable,r.delegationSelector)}function M(t){return t=t.replace(E,""),$[t]||t}const j={on(t,e,i,s){N(t,e,i,s,!1)},one(t,e,i,s){N(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,o,r]=D(e,i,s),a=r!==e,l=O(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))x(t,l,i,e.slice(1));for(const[i,s]of Object.entries(c)){const n=i.replace(C,"");a&&!e.includes(n)||P(t,l,r,s.callable,s.delegationSelector)}}else{if(!Object.keys(c).length)return;P(t,l,r,o,n?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=f();let n=null,o=!0,r=!0,a=!1;e!==M(e)&&s&&(n=s.Event(e,i),s(t).trigger(n),o=!n.isPropagationStopped(),r=!n.isImmediatePropagationStopped(),a=n.isDefaultPrevented());const l=F(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function F(t,e={}){for(const[i,s]of Object.entries(e))try{t[i]=s}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>s})}return t}function z(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function H(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${H(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${H(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const s of i){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=z(t.dataset[s])}return e},getDataAttribute:(t,e)=>z(t.getAttribute(`data-bs-${H(e)}`))};class q{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=l(e)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...l(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,n]of Object.entries(e)){const e=t[s],o=l(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${n}".`)}var i}}class W extends q{constructor(t,e){super(),(t=c(t))&&(this._element=t,this._config=this._getConfig(e),n.set(this._element,this.constructor.DATA_KEY,this))}dispose(){n.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){y(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return n.get(c(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const R=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?r(i.trim()):null}return e},K={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let s=t.parentNode.closest(e);for(;s;)i.push(s),s=s.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!d(t)&&h(t)))},getSelectorFromElement(t){const e=R(t);return e&&K.findOne(e)?e:null},getElementFromSelector(t){const e=R(t);return e?K.findOne(e):null},getMultipleElementsFromSelector(t){const e=R(t);return e?K.find(e):[]}},V=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),d(this))return;const n=K.getElementFromSelector(this)||this.closest(`.${s}`);t.getOrCreateInstance(n)[e]()}))},Q=".bs.alert",X=`close${Q}`,Y=`closed${Q}`;class U extends W{static get NAME(){return"alert"}close(){if(j.trigger(this._element,X).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,Y),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=U.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}V(U,"close"),b(U);const G='[data-bs-toggle="button"]';class J extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=J.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}j.on(document,"click.bs.button.data-api",G,(t=>{t.preventDefault();const e=t.target.closest(G);J.getOrCreateInstance(e).toggle()})),b(J);const Z=".bs.swipe",tt=`touchstart${Z}`,et=`touchmove${Z}`,it=`touchend${Z}`,st=`pointerdown${Z}`,nt=`pointerup${Z}`,ot={endCallback:null,leftCallback:null,rightCallback:null},rt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class at extends q{constructor(t,e){super(),this._element=t,t&&at.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"swipe"}dispose(){j.off(this._element,Z)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),v(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&v(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(j.on(this._element,st,(t=>this._start(t))),j.on(this._element,nt,(t=>this._end(t))),this._element.classList.add("pointer-event")):(j.on(this._element,tt,(t=>this._start(t))),j.on(this._element,et,(t=>this._move(t))),j.on(this._element,it,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const lt=".bs.carousel",ct=".data-api",ht="next",dt="prev",ut="left",_t="right",gt=`slide${lt}`,ft=`slid${lt}`,mt=`keydown${lt}`,pt=`mouseenter${lt}`,bt=`mouseleave${lt}`,vt=`dragstart${lt}`,yt=`load${lt}${ct}`,wt=`click${lt}${ct}`,At="carousel",Et="active",Ct=".active",Tt=".carousel-item",kt=Ct+Tt,$t={ArrowLeft:_t,ArrowRight:ut},St={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Ot extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=K.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===At&&this.cycle()}static get Default(){return St}static get DefaultType(){return Lt}static get NAME(){return"carousel"}next(){this._slide(ht)}nextWhenVisible(){!document.hidden&&h(this._element)&&this.next()}prev(){this._slide(dt)}pause(){this._isSliding&&a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?j.one(this._element,ft,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,ft,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const s=t>i?ht:dt;this._slide(s,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&j.on(this._element,mt,(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,pt,(()=>this.pause())),j.on(this._element,bt,(()=>this._maybeEnableCycle()))),this._config.touch&&at.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of K.find(".carousel-item img",this._element))j.on(t,vt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ut)),rightCallback:()=>this._slide(this._directionToOrder(_t)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new at(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=$t[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=K.findOne(Ct,this._indicatorsElement);e.classList.remove(Et),e.removeAttribute("aria-current");const i=K.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Et),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),s=t===ht,n=e||w(this._getItems(),i,s,this._config.wrap);if(n===i)return;const o=this._getItemIndex(n),r=e=>j.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(gt).defaultPrevented)return;if(!i||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=n;const l=s?"carousel-item-start":"carousel-item-end",c=s?"carousel-item-next":"carousel-item-prev";n.classList.add(c),g(n),i.classList.add(l),n.classList.add(l),this._queueCallback((()=>{n.classList.remove(l,c),n.classList.add(Et),i.classList.remove(Et,c,l),this._isSliding=!1,r(ft)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return K.findOne(kt,this._element)}_getItems(){return K.find(Tt,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ut?dt:ht:t===ut?ht:dt}_orderToDirection(t){return p()?t===dt?ut:_t:t===dt?_t:ut}static jQueryInterface(t){return this.each((function(){const e=Ot.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}j.on(document,wt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=K.getElementFromSelector(this);if(!e||!e.classList.contains(At))return;t.preventDefault();const i=Ot.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),j.on(window,yt,(()=>{const t=K.find('[data-bs-ride="carousel"]');for(const e of t)Ot.getOrCreateInstance(e)})),b(Ot);const It=".bs.collapse",Dt=`show${It}`,Nt=`shown${It}`,Pt=`hide${It}`,xt=`hidden${It}`,Mt=`click${It}.data-api`,jt="show",Ft="collapse",zt="collapsing",Ht=`:scope .${Ft} .${Ft}`,Bt='[data-bs-toggle="collapse"]',qt={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Rt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=K.find(Bt);for(const t of i){const e=K.getSelectorFromElement(t),i=K.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return qt}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Rt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(j.trigger(this._element,Dt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ft),this._element.classList.add(zt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(zt),this._element.classList.add(Ft,jt),this._element.style[e]="",j.trigger(this._element,Nt)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,Pt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,g(this._element),this._element.classList.add(zt),this._element.classList.remove(Ft,jt);for(const t of this._triggerArray){const e=K.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(zt),this._element.classList.add(Ft),j.trigger(this._element,xt)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(jt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=c(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Bt);for(const e of t){const t=K.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=K.find(Ht,this._config.parent);return K.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Rt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,Mt,Bt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of K.getMultipleElementsFromSelector(this))Rt.getOrCreateInstance(t,{toggle:!1}).toggle()})),b(Rt);const Kt="dropdown",Vt=".bs.dropdown",Qt=".data-api",Xt="ArrowUp",Yt="ArrowDown",Ut=`hide${Vt}`,Gt=`hidden${Vt}`,Jt=`show${Vt}`,Zt=`shown${Vt}`,te=`click${Vt}${Qt}`,ee=`keydown${Vt}${Qt}`,ie=`keyup${Vt}${Qt}`,se="show",ne='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',oe=`${ne}.${se}`,re=".dropdown-menu",ae=p()?"top-end":"top-start",le=p()?"top-start":"top-end",ce=p()?"bottom-end":"bottom-start",he=p()?"bottom-start":"bottom-end",de=p()?"left-start":"right-start",ue=p()?"right-start":"left-start",_e={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ge={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class fe extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=K.next(this._element,re)[0]||K.prev(this._element,re)[0]||K.findOne(re,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return _e}static get DefaultType(){return ge}static get NAME(){return Kt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(d(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!j.trigger(this._element,Jt,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(se),this._element.classList.add(se),j.trigger(this._element,Zt,t)}}hide(){if(d(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!j.trigger(this._element,Ut,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._popper&&this._popper.destroy(),this._menu.classList.remove(se),this._element.classList.remove(se),this._element.setAttribute("aria-expanded","false"),B.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,Gt,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!l(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Kt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===i)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:l(this._config.reference)?t=c(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=i.createPopper(t,this._menu,e)}_isShown(){return this._menu.classList.contains(se)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return de;if(t.classList.contains("dropstart"))return ue;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?le:ae:e?he:ce}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...v(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=K.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>h(t)));i.length&&w(i,e,t===Yt,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=fe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=K.find(oe);for(const i of e){const e=fe.getInstance(i);if(!e||!1===e._config.autoClose)continue;const s=t.composedPath(),n=s.includes(e._menu);if(s.includes(e._element)||"inside"===e._config.autoClose&&!n||"outside"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,s=[Xt,Yt].includes(t.key);if(!s&&!i)return;if(e&&!i)return;t.preventDefault();const n=this.matches(ne)?this:K.prev(this,ne)[0]||K.next(this,ne)[0]||K.findOne(ne,t.delegateTarget.parentNode),o=fe.getOrCreateInstance(n);if(s)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),n.focus())}}j.on(document,ee,ne,fe.dataApiKeydownHandler),j.on(document,ee,re,fe.dataApiKeydownHandler),j.on(document,te,fe.clearMenus),j.on(document,ie,fe.clearMenus),j.on(document,te,ne,(function(t){t.preventDefault(),fe.getOrCreateInstance(this).toggle()})),b(fe);const me="backdrop",pe="show",be=`mousedown.bs.${me}`,ve={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},ye={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class we extends q{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return ve}static get DefaultType(){return ye}static get NAME(){return me}show(t){if(!this._config.isVisible)return void v(t);this._append();const e=this._getElement();this._config.isAnimated&&g(e),e.classList.add(pe),this._emulateAnimation((()=>{v(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(pe),this._emulateAnimation((()=>{this.dispose(),v(t)}))):v(t)}dispose(){this._isAppended&&(j.off(this._element,be),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=c(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),j.on(t,be,(()=>{v(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){y(t,this._getElement(),this._config.isAnimated)}}const Ae=".bs.focustrap",Ee=`focusin${Ae}`,Ce=`keydown.tab${Ae}`,Te="backward",ke={autofocus:!0,trapElement:null},$e={autofocus:"boolean",trapElement:"element"};class Se extends q{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return ke}static get DefaultType(){return $e}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),j.off(document,Ae),j.on(document,Ee,(t=>this._handleFocusin(t))),j.on(document,Ce,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,Ae))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=K.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Te?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Te:"forward")}}const Le=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Oe=".sticky-top",Ie="padding-right",De="margin-right";class Ne{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Ie,(e=>e+t)),this._setElementAttributes(Le,Ie,(e=>e+t)),this._setElementAttributes(Oe,De,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ie),this._resetElementAttributes(Le,Ie),this._resetElementAttributes(Oe,De)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(n))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(l(t))e(t);else for(const i of K.find(t,this._element))e(i)}}const Pe=".bs.modal",xe=`hide${Pe}`,Me=`hidePrevented${Pe}`,je=`hidden${Pe}`,Fe=`show${Pe}`,ze=`shown${Pe}`,He=`resize${Pe}`,Be=`click.dismiss${Pe}`,qe=`mousedown.dismiss${Pe}`,We=`keydown.dismiss${Pe}`,Re=`click${Pe}.data-api`,Ke="modal-open",Ve="show",Qe="modal-static",Xe={backdrop:!0,focus:!0,keyboard:!0},Ye={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ue extends W{constructor(t,e){super(t,e),this._dialog=K.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ne,this._addEventListeners()}static get Default(){return Xe}static get DefaultType(){return Ye}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,Fe,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Ke),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(j.trigger(this._element,xe).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Ve),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){j.off(window,Pe),j.off(this._dialog,Pe),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new we({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Se({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=K.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),g(this._element),this._element.classList.add(Ve),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,ze,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){j.on(this._element,We,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),j.on(window,He,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),j.on(this._element,qe,(t=>{j.one(this._element,Be,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Ke),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,je)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,Me).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Qe)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Qe),this._queueCallback((()=>{this._element.classList.remove(Qe),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ue.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,Re,'[data-bs-toggle="modal"]',(function(t){const e=K.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,Fe,(t=>{t.defaultPrevented||j.one(e,je,(()=>{h(this)&&this.focus()}))}));const i=K.findOne(".modal.show");i&&Ue.getInstance(i).hide(),Ue.getOrCreateInstance(e).toggle(this)})),V(Ue),b(Ue);const Ge=".bs.offcanvas",Je=".data-api",Ze=`load${Ge}${Je}`,ti="show",ei="showing",ii="hiding",si=".offcanvas.show",ni=`show${Ge}`,oi=`shown${Ge}`,ri=`hide${Ge}`,ai=`hidePrevented${Ge}`,li=`hidden${Ge}`,ci=`resize${Ge}`,hi=`click${Ge}${Je}`,di=`keydown.dismiss${Ge}`,ui={backdrop:!0,keyboard:!0,scroll:!1},_i={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class gi extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return ui}static get DefaultType(){return _i}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,ni,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ne).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ei),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(ti),this._element.classList.remove(ei),j.trigger(this._element,oi,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,ri).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ii),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(ti,ii),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Ne).reset(),j.trigger(this._element,li)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new we({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():j.trigger(this._element,ai)}:null})}_initializeFocusTrap(){return new Se({trapElement:this._element})}_addEventListeners(){j.on(this._element,di,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():j.trigger(this._element,ai))}))}static jQueryInterface(t){return this.each((function(){const e=gi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,hi,'[data-bs-toggle="offcanvas"]',(function(t){const e=K.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this))return;j.one(e,li,(()=>{h(this)&&this.focus()}));const i=K.findOne(si);i&&i!==e&&gi.getInstance(i).hide(),gi.getOrCreateInstance(e).toggle(this)})),j.on(window,Ze,(()=>{for(const t of K.find(si))gi.getOrCreateInstance(t).show()})),j.on(window,ci,(()=>{for(const t of K.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&gi.getOrCreateInstance(t).hide()})),V(gi),b(gi);const fi={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},mi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),pi=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,bi=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!mi.has(i)||Boolean(pi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},vi={allowList:fi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},yi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},wi={entry:"(string|element|function|null)",selector:"(string|element)"};class Ai extends q{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return vi}static get DefaultType(){return yi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},wi)}_setContent(t,e,i){const s=K.findOne(i,t);s&&((e=this._resolvePossibleFunction(e))?l(e)?this._putElementInTemplate(c(e),s):this._config.html?s.innerHTML=this._maybeSanitize(e):s.textContent=e:s.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const s=(new window.DOMParser).parseFromString(t,"text/html"),n=[].concat(...s.body.querySelectorAll("*"));for(const t of n){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const s=[].concat(...t.attributes),n=[].concat(e["*"]||[],e[i]||[]);for(const e of s)bi(e,n)||t.removeAttribute(e.nodeName)}return s.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return v(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ei=new Set(["sanitize","allowList","sanitizeFn"]),Ci="fade",Ti="show",ki=".modal",$i="hide.bs.modal",Si="hover",Li="focus",Oi={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},Ii={allowList:fi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Di={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Ni extends W{constructor(t,e){if(void 0===i)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Ii}static get DefaultType(){return Di}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ki),$i,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.eventName("show")),e=(u(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(i),j.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(Ti),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._queueCallback((()=>{j.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!j.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Ti),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._activeTrigger.click=!1,this._activeTrigger[Li]=!1,this._activeTrigger[Si]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Ci,Ti),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Ci),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ai({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ci)}_isShown(){return this.tip&&this.tip.classList.contains(Ti)}_createPopper(t){const e=v(this._config.placement,[this,t,this._element]),s=Oi[e.toUpperCase()];return i.createPopper(this._element,t,this._getPopperConfig(s))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return v(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...v(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)j.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===Si?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===Si?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");j.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Li:Si]=!0,e._enter()})),j.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Li:Si]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ki),$i,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ei.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:c(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(Ni);const Pi={...Ni.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},xi={...Ni.DefaultType,content:"(null|string|element|function)"};class Mi extends Ni{static get Default(){return Pi}static get DefaultType(){return xi}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=Mi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(Mi);const ji=".bs.scrollspy",Fi=`activate${ji}`,zi=`click${ji}`,Hi=`load${ji}.data-api`,Bi="active",qi="[href]",Wi=".nav-link",Ri=`${Wi}, .nav-item > ${Wi}, .list-group-item`,Ki={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Vi={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Qi extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Ki}static get DefaultType(){return Vi}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=c(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(j.off(this._config.target,zi),j.on(this._config.target,zi,qi,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,s=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:s,behavior:"smooth"});i.scrollTop=s}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},s=(this._rootElement||document.documentElement).scrollTop,n=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(i(o),!s)return}else n||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=K.find(qi,this._config.target);for(const e of t){if(!e.hash||d(e))continue;const t=K.findOne(decodeURI(e.hash),this._element);h(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Bi),this._activateParents(t),j.trigger(this._element,Fi,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))K.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Bi);else for(const e of K.parents(t,".nav, .list-group"))for(const t of K.prev(e,Ri))t.classList.add(Bi)}_clearActiveClass(t){t.classList.remove(Bi);const e=K.find(`${qi}.${Bi}`,t);for(const t of e)t.classList.remove(Bi)}static jQueryInterface(t){return this.each((function(){const e=Qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(window,Hi,(()=>{for(const t of K.find('[data-bs-spy="scroll"]'))Qi.getOrCreateInstance(t)})),b(Qi);const Xi=".bs.tab",Yi=`hide${Xi}`,Ui=`hidden${Xi}`,Gi=`show${Xi}`,Ji=`shown${Xi}`,Zi=`click${Xi}`,ts=`keydown${Xi}`,es=`load${Xi}`,is="ArrowLeft",ss="ArrowRight",ns="ArrowUp",os="ArrowDown",rs="Home",as="End",ls="active",cs="fade",hs="show",ds=".dropdown-toggle",us=`:not(${ds})`,_s='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',gs=`.nav-link${us}, .list-group-item${us}, [role="tab"]${us}, ${_s}`,fs=`.${ls}[data-bs-toggle="tab"], .${ls}[data-bs-toggle="pill"], .${ls}[data-bs-toggle="list"]`;class ms extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),j.on(this._element,ts,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?j.trigger(e,Yi,{relatedTarget:t}):null;j.trigger(t,Gi,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(ls),this._activate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),j.trigger(t,Ji,{relatedTarget:e})):t.classList.add(hs)}),t,t.classList.contains(cs)))}_deactivate(t,e){t&&(t.classList.remove(ls),t.blur(),this._deactivate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),j.trigger(t,Ui,{relatedTarget:e})):t.classList.remove(hs)}),t,t.classList.contains(cs)))}_keydown(t){if(![is,ss,ns,os,rs,as].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!d(t)));let i;if([rs,as].includes(t.key))i=e[t.key===rs?0:e.length-1];else{const s=[ss,os].includes(t.key);i=w(e,t.target,s,!0)}i&&(i.focus({preventScroll:!0}),ms.getOrCreateInstance(i).show())}_getChildren(){return K.find(gs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=K.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const s=(t,s)=>{const n=K.findOne(t,i);n&&n.classList.toggle(s,e)};s(ds,ls),s(".dropdown-menu",hs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(ls)}_getInnerElement(t){return t.matches(gs)?t:K.findOne(gs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=ms.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,Zi,_s,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this)||ms.getOrCreateInstance(this).show()})),j.on(window,es,(()=>{for(const t of K.find(fs))ms.getOrCreateInstance(t)})),b(ms);const ps=".bs.toast",bs=`mouseover${ps}`,vs=`mouseout${ps}`,ys=`focusin${ps}`,ws=`focusout${ps}`,As=`hide${ps}`,Es=`hidden${ps}`,Cs=`show${ps}`,Ts=`shown${ps}`,ks="hide",$s="show",Ss="showing",Ls={animation:"boolean",autohide:"boolean",delay:"number"},Os={animation:!0,autohide:!0,delay:5e3};class Is extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Os}static get DefaultType(){return Ls}static get NAME(){return"toast"}show(){j.trigger(this._element,Cs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(ks),g(this._element),this._element.classList.add($s,Ss),this._queueCallback((()=>{this._element.classList.remove(Ss),j.trigger(this._element,Ts),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(j.trigger(this._element,As).defaultPrevented||(this._element.classList.add(Ss),this._queueCallback((()=>{this._element.classList.add(ks),this._element.classList.remove(Ss,$s),j.trigger(this._element,Es)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove($s),super.dispose()}isShown(){return this._element.classList.contains($s)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,bs,(t=>this._onInteraction(t,!0))),j.on(this._element,vs,(t=>this._onInteraction(t,!1))),j.on(this._element,ys,(t=>this._onInteraction(t,!0))),j.on(this._element,ws,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Is.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return V(Is),b(Is),{Alert:U,Button:J,Carousel:Ot,Collapse:Rt,Dropdown:fe,Modal:Ue,Offcanvas:gi,Popover:Mi,ScrollSpy:Qi,Tab:ms,Toast:Is,Tooltip:Ni}}));
+//# sourceMappingURL=bootstrap.min.js.map
\ No newline at end of file
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/js/custom.js?v=10.2.7 b/cit.nih.gov/themes/custom/customer_portal_theme/js/custom.js?v=10.2.7
new file mode 100644
index 00000000000..07b2bab3ff0
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/js/custom.js?v=10.2.7
@@ -0,0 +1,18 @@
+/**
+ * @file
+ * Global utilities.
+ *
+ */
+(function($, Drupal) {
+
+ 'use strict';
+
+ Drupal.behaviors.customer_portal_theme = {
+ attach: function(context, settings) {
+
+ // Custom code here
+
+ }
+ };
+
+})(jQuery, Drupal);
\ No newline at end of file
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/js/modal.js?v=10.2.7 b/cit.nih.gov/themes/custom/customer_portal_theme/js/modal.js?v=10.2.7
new file mode 100644
index 00000000000..bc6dd8b8810
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/js/modal.js?v=10.2.7
@@ -0,0 +1,16 @@
+const modals = document.querySelectorAll("[data-modal]");
+
+modals?.forEach(function (trigger) {
+ trigger.addEventListener("click", function (event) {
+ event.preventDefault();
+ const modal = document.getElementById(trigger.dataset.modal);
+ modal.classList.add("open");
+ const exits = modal.querySelectorAll(".modal-exit");
+ exits.forEach(function (exit) {
+ exit.addEventListener("click", function (event) {
+ event.preventDefault();
+ modal.classList.remove("open");
+ });
+ });
+ });
+});
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/js/popper.min.js?v=10.2.7 b/cit.nih.gov/themes/custom/customer_portal_theme/js/popper.min.js?v=10.2.7
new file mode 100644
index 00000000000..393856474db
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/js/popper.min.js?v=10.2.7
@@ -0,0 +1,6 @@
+/**
+ * @popperjs/core v2.11.8 - MIT License
+ */
+
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function c(){return!/^((?!chrome|android).)*safari/i.test(f())}function p(e,o,i){void 0===o&&(o=!1),void 0===i&&(i=!1);var a=e.getBoundingClientRect(),f=1,p=1;o&&r(e)&&(f=e.offsetWidth>0&&s(a.width)/e.offsetWidth||1,p=e.offsetHeight>0&&s(a.height)/e.offsetHeight||1);var u=(n(e)?t(e):window).visualViewport,l=!c()&&i,d=(a.left+(l&&u?u.offsetLeft:0))/f,h=(a.top+(l&&u?u.offsetTop:0))/p,m=a.width/f,v=a.height/p;return{width:m,height:v,top:h,right:d+m,bottom:h+v,left:d,x:d,y:h}}function u(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function l(e){return e?(e.nodeName||"").toLowerCase():null}function d(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function h(e){return p(d(e)).left+u(e).scrollLeft}function m(e){return t(e).getComputedStyle(e)}function v(e){var t=m(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function y(e,n,o){void 0===o&&(o=!1);var i,a,f=r(n),c=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),m=d(n),y=p(e,c,o),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(f||!f&&!o)&&(("body"!==l(n)||v(m))&&(g=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:u(i)),r(n)?((b=p(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):m&&(b.x=h(m))),{x:y.left+g.scrollLeft-b.x,y:y.top+g.scrollTop-b.y,width:y.width,height:y.height}}function g(e){var t=p(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function b(e){return"html"===l(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||d(e)}function x(e){return["html","body","#document"].indexOf(l(e))>=0?e.ownerDocument.body:r(e)&&v(e)?e:x(b(e))}function w(e,n){var r;void 0===n&&(n=[]);var o=x(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],v(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(w(b(s)))}function O(e){return["table","td","th"].indexOf(l(e))>=0}function j(e){return r(e)&&"fixed"!==m(e).position?e.offsetParent:null}function E(e){for(var n=t(e),i=j(e);i&&O(i)&&"static"===m(i).position;)i=j(i);return i&&("html"===l(i)||"body"===l(i)&&"static"===m(i).position)?n:i||function(e){var t=/firefox/i.test(f());if(/Trident/i.test(f())&&r(e)&&"fixed"===m(e).position)return null;var n=b(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(l(n))<0;){var i=m(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var D="top",A="bottom",L="right",P="left",M="auto",k=[D,A,L,P],W="start",B="end",H="viewport",T="popper",R=k.reduce((function(e,t){return e.concat([t+"-"+W,t+"-"+B])}),[]),S=[].concat(k,[M]).reduce((function(e,t){return e.concat([t,t+"-"+W,t+"-"+B])}),[]),V=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function q(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function N(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function I(e,r,o){return r===H?N(function(e,n){var r=t(e),o=d(e),i=r.visualViewport,a=o.clientWidth,s=o.clientHeight,f=0,p=0;if(i){a=i.width,s=i.height;var u=c();(u||!u&&"fixed"===n)&&(f=i.offsetLeft,p=i.offsetTop)}return{width:a,height:s,x:f+h(e),y:p}}(e,o)):n(r)?function(e,t){var n=p(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(r,o):N(function(e){var t,n=d(e),r=u(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+h(e),c=-r.scrollTop;return"rtl"===m(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:c}}(d(e)))}function _(e,t,o,s){var f="clippingParents"===t?function(e){var t=w(b(e)),o=["absolute","fixed"].indexOf(m(e).position)>=0&&r(e)?E(e):e;return n(o)?t.filter((function(e){return n(e)&&C(e,o)&&"body"!==l(e)})):[]}(e):[].concat(t),c=[].concat(f,[o]),p=c[0],u=c.reduce((function(t,n){var r=I(e,n,s);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),I(e,p,s));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function F(e){return e.split("-")[0]}function U(e){return e.split("-")[1]}function z(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function X(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?F(o):null,a=o?U(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case D:t={x:s,y:n.y-r.height};break;case A:t={x:s,y:n.y+n.height};break;case L:t={x:n.x+n.width,y:f};break;case P:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?z(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case W:t[c]=t[c]-(n[p]/2-r[p]/2);break;case B:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function Y(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function G(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function J(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.strategy,s=void 0===a?e.strategy:a,f=r.boundary,c=void 0===f?"clippingParents":f,u=r.rootBoundary,l=void 0===u?H:u,h=r.elementContext,m=void 0===h?T:h,v=r.altBoundary,y=void 0!==v&&v,g=r.padding,b=void 0===g?0:g,x=Y("number"!=typeof b?b:G(b,k)),w=m===T?"reference":T,O=e.rects.popper,j=e.elements[y?w:m],E=_(n(j)?j:j.contextElement||d(e.elements.popper),c,l,s),P=p(e.elements.reference),M=X({reference:P,element:O,strategy:"absolute",placement:i}),W=N(Object.assign({},O,M)),B=m===T?W:P,R={top:E.top-B.top+x.top,bottom:B.bottom-E.bottom+x.bottom,left:E.left-B.left+x.left,right:B.right-E.right+x.right},S=e.modifiersData.offset;if(m===T&&S){var V=S[i];Object.keys(R).forEach((function(e){var t=[L,A].indexOf(e)>=0?1:-1,n=[D,A].indexOf(e)>=0?"y":"x";R[e]+=V[n]*t}))}return R}var K={placement:"bottom",modifiers:[],strategy:"absolute"};function Q(){for(var e=arguments.length,t=new Array(e),n=0;n=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[P,L].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},se={left:"right",right:"left",bottom:"top",top:"bottom"};function fe(e){return e.replace(/left|right|bottom|top/g,(function(e){return se[e]}))}var ce={start:"end",end:"start"};function pe(e){return e.replace(/start|end/g,(function(e){return ce[e]}))}function ue(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?S:f,p=U(r),u=p?s?R:R.filter((function(e){return U(e)===p})):k,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=J(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[F(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var le={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,y=F(v),g=f||(y===v||!h?[fe(v)]:function(e){if(F(e)===M)return[];var t=fe(e);return[pe(e),t,pe(t)]}(v)),b=[v].concat(g).reduce((function(e,n){return e.concat(F(n)===M?ue(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,j=!0,E=b[0],k=0;k=0,S=R?"width":"height",V=J(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),q=R?T?L:P:T?A:D;x[S]>w[S]&&(q=fe(q));var C=fe(q),N=[];if(i&&N.push(V[H]<=0),s&&N.push(V[q]<=0,V[C]<=0),N.every((function(e){return e}))){E=B,j=!1;break}O.set(B,N)}if(j)for(var I=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},_=h?3:1;_>0;_--){if("break"===I(_))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function de(e,t,n){return i(e,a(t,n))}var he={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,v=n.tetherOffset,y=void 0===v?0:v,b=J(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=F(t.placement),w=U(t.placement),O=!w,j=z(x),M="x"===j?"y":"x",k=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,V={x:0,y:0};if(k){if(s){var q,C="y"===j?D:P,N="y"===j?A:L,I="y"===j?"height":"width",_=k[j],X=_+b[C],Y=_-b[N],G=m?-H[I]/2:0,K=w===W?B[I]:H[I],Q=w===W?-H[I]:-B[I],Z=t.elements.arrow,$=m&&Z?g(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[C],ne=ee[N],re=de(0,B[I],$[I]),oe=O?B[I]/2-G-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=O?-B[I]/2+G+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&E(t.elements.arrow),se=ae?"y"===j?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(q=null==S?void 0:S[j])?q:0,ce=_+ie-fe,pe=de(m?a(X,_+oe-fe-se):X,_,m?i(Y,ce):Y);k[j]=pe,V[j]=pe-_}if(c){var ue,le="x"===j?D:P,he="x"===j?A:L,me=k[M],ve="y"===M?"height":"width",ye=me+b[le],ge=me-b[he],be=-1!==[D,P].indexOf(x),xe=null!=(ue=null==S?void 0:S[M])?ue:0,we=be?ye:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ge,je=m&&be?function(e,t,n){var r=de(e,t,n);return r>n?n:r}(we,me,Oe):de(m?we:ye,me,m?Oe:ge);k[M]=je,V[M]=je-me}t.modifiersData[r]=V}},requiresIfExists:["offset"]};var me={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=F(n.placement),f=z(s),c=[P,L].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return Y("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:G(e,k))}(o.padding,n),u=g(i),l="y"===f?D:P,d="y"===f?A:L,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],v=E(i),y=v?"y"===f?v.clientHeight||0:v.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],O=y/2-u[c]/2+b,j=de(x,O,w),M=f;n.modifiersData[r]=((t={})[M]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&C(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ve(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ye(e){return[D,L,A,P].some((function(t){return e[t]>=0}))}var ge={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=J(t,{elementContext:"reference"}),s=J(t,{altBoundary:!0}),f=ve(a,r),c=ve(s,o,i),p=ye(f),u=ye(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},be=Z({defaultModifiers:[ee,te,oe,ie]}),xe=[ee,te,oe,ie,ae,le,he,me,ge],we=Z({defaultModifiers:xe});e.applyStyles=ie,e.arrow=me,e.computeStyles=oe,e.createPopper=we,e.createPopperLite=be,e.defaultModifiers=xe,e.detectOverflow=J,e.eventListeners=ee,e.flip=le,e.hide=ge,e.offset=ae,e.popperGenerator=Z,e.popperOffsets=te,e.preventOverflow=he,Object.defineProperty(e,"__esModule",{value:!0})}));
+//# sourceMappingURL=popper.min.js.map
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/js/uswds.min.js?v=10.2.7 b/cit.nih.gov/themes/custom/customer_portal_theme/js/uswds.min.js?v=10.2.7
new file mode 100644
index 00000000000..abae0e485bc
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/js/uswds.min.js?v=10.2.7
@@ -0,0 +1,88 @@
+!function r(a,n,i){function o(t,e){if(!n[t]){if(!a[t]){var s="function"==typeof require&&require;if(!e&&s)return s(t,!0);if(c)return c(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}s=n[t]={exports:{}},a[t][0].call(s.exports,function(e){return o(a[t][1][e]||e)},s,s.exports,r,a,n,i)}return n[t].exports}for(var c="function"==typeof require&&require,e=0;e"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"'],224:"Meta",225:"AltGraph",246:"Attn",247:"CrSel",248:"ExSel",249:"EraseEof",250:"Play",251:"ZoomOut"}},a=1;a<25;a++)r.keys[111+a]="F"+a;var n="";for(a=65;a<91;a++)n=String.fromCharCode(a),r.keys[a]=[n.toLowerCase(),n.toUpperCase()];"function"==typeof define&&define.amd?define("keyboardevent-key-polyfill",r):void 0!==s&&void 0!==t?t.exports=r:window&&(window.keyboardeventKeyPolyfill=r)},{}],4:[function(e,t,s){"use strict";var c=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(Object.assign){var e=new String("abc");if(e[5]="de","5"!==Object.getOwnPropertyNames(e)[0]){for(var t={},s=0;s<10;s++)t["_"+String.fromCharCode(s)]=s;var r,a=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"===a.join(""))return r={},"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")?1:void 0}}}catch(e){}}()?Object.assign:function(e,t){for(var s,r=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),a=1;a{return r(l,t).filter(e=>e.closest(c)===t)},p=(t,e)=>{var s=t.closest(c);if(!s)throw new Error(l+" is missing outer "+c);var e=n(t,e),r=s.hasAttribute("data-allow-multiple");e&&!r&&d(s).forEach(e=>{e!==t&&n(e,!1)})};e=a({[o]:{[l](){p(this),"true"!==this.getAttribute(u)||i(this)||this.scrollIntoView()}}},{init(e){r(l,e).forEach(e=>{var t="true"===e.getAttribute(u);p(e,t)})},ACCORDION:c,BUTTON:l,show:e=>p(e,!0),hide:e=>p(e,!1),toggle:p,getButtons:d});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/is-in-viewport":49,"../../uswds-core/src/js/utils/select":54,"../../uswds-core/src/js/utils/toggle":57}],16:[function(e,t,s){"use strict";var r=e("../../uswds-core/src/js/utils/behavior");const a=e("../../uswds-core/src/js/utils/select");var n=e("../../uswds-core/src/js/events")["CLICK"],i=e("../../uswds-core/src/js/config")["prefix"];const o=e("../../uswds-core/src/js/utils/toggle"),c=`.${i}-banner__header`,l=i+"-banner__header--expanded",u=c+" [aria-controls]";t.exports=r({[n]:{[u]:function(e){e.preventDefault();e=e.target.closest(u);o(e),this.closest(c).classList.toggle(l)}}},{init(e){a(u,e).forEach(e=>{var t="true"===e.getAttribute(l);o(e,t)})}})},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select":54,"../../uswds-core/src/js/utils/toggle":57}],17:[function(e,t,s){"use strict";var r=e("receptor/keymap"),e=e("../../uswds-core/src/js/utils/behavior")({keydown:{'a[class*="usa-button"]':r({" ":e=>{e.preventDefault(),e.target.click()}})}});t.exports=e},{"../../uswds-core/src/js/utils/behavior":46,"receptor/keymap":11}],18:[function(e,t,s){"use strict";const r=e("../../uswds-core/src/js/utils/select");var a=e("../../uswds-core/src/js/utils/behavior"),n=e("../../uswds-core/src/js/utils/debounce"),e=e("../../uswds-core/src/js/config")["prefix"],i=e+"-character-count";const o="."+i,c=`.${e}-character-count__field`,l=`.${e}-character-count__message`,u="The content is too long.",d=e+"-character-count__status--invalid",p=i+"__status",b=i+"__sr-status",f="."+p,h="."+b,m="characters allowed",v=e=>{e=e.closest(o);if(!e)throw new Error(c+" is missing outer "+o);var t=e.querySelector(l);if(t)return{characterCountEl:e,messageEl:t};throw new Error(o+" is missing inner "+l)},g=e=>{var t=document.createElement("div"),s=document.createElement("div"),r=e.dataset.maxlength+" "+m;t.classList.add(""+p,"usa-hint"),s.classList.add(""+b,"usa-sr-only"),t.setAttribute("aria-hidden",!0),s.setAttribute("aria-live","polite"),t.textContent=r,s.textContent=r,e.append(t,s)},w=(e,t)=>{let s="";var r;return s=0===e?t+" "+m:(r=Math.abs(t-e))+` ${"character"+(1===r?"":"s")} `+(t{e.textContent=t},1e3),E=e=>{var t=v(e)["characterCountEl"],s=e.value.length,r=parseInt(t.getAttribute("data-maxlength"),10),a=t.querySelector(f),t=t.querySelector(h),n=w(s,r);r&&(r=s&&r{var t,{characterCountEl:s,messageEl:r}=v(e);r.classList.add("usa-sr-only"),r.removeAttribute("aria-live"),r=e,e=v(r).characterCountEl,(t=r.getAttribute("maxlength"))&&(r.removeAttribute("maxlength"),e.setAttribute("data-maxlength",t)),g(s)};e=a({input:{[c](){E(this)}}},{init(e){r(c,e).forEach(e=>A(e))},MESSAGE_INVALID_CLASS:d,VALIDATION_MESSAGE:u,STATUS_MESSAGE_CLASS:p,STATUS_MESSAGE_SR_ONLY_CLASS:b,DEFAULT_STATUS_LABEL:m,createStatusMessages:g,getCountMessage:w,updateCountMessage:E});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/debounce":47,"../../uswds-core/src/js/utils/select":54}],19:[function(e,t,I){"use strict";var s=e("receptor/keymap");const r=e("../../uswds-core/src/js/utils/select-or-matches");var a=e("../../uswds-core/src/js/utils/behavior");const b=e("../../uswds-core/src/js/utils/sanitizer");var n=e("../../uswds-core/src/js/config")["prefix"],e=e("../../uswds-core/src/js/events")["CLICK"],n=n+"-combo-box";const f=n+"--pristine",h=n+"__select",m=n+"__input",v=n+"__clear-input",O=v+"__wrapper",B=n+"__input-button-separator",g=n+"__toggle-list",H=g+"__wrapper",w=n+"__list",y=n+"__list-option",E=y+"--focused",A=y+"--selected",x=n+"__status",j="."+n,P="."+h,u="."+m,d="."+v,p="."+g,F="."+w,i="."+y,L="."+E,R="."+A,Y="."+x,U=".*{{query}}.*";const _=(e,t="")=>{e.value=t,t=new CustomEvent("change",{bubbles:!0,cancelable:!0,detail:{value:t}});e.dispatchEvent(t)},S=e=>{var t,s,r,a,n,i,o,c,l,e=e.closest(j);if(e)return t=e.querySelector(P),s=e.querySelector(u),r=e.querySelector(F),a=e.querySelector(Y),n=e.querySelector(L),i=e.querySelector(R),o=e.querySelector(p),c=e.querySelector(d),l=e.classList.contains(f),{comboBoxEl:e,selectEl:t,inputEl:s,listEl:r,statusEl:a,focusedOptionEl:n,selectedOptionEl:i,toggleListBtnEl:o,clearInputBtnEl:c,isPristine:l,disableFiltering:"true"===e.dataset.disableFiltering};throw new Error("Element is missing outer "+j)},D=e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:s}=S(e);s.hidden=!0,s.disabled=!0,t.disabled=!0,e.disabled=!0};const o=e=>{e=e.closest(j);if(!e.dataset.enhanced){const u=e.querySelector("select");if(!u)throw new Error(j+" is missing inner select");var t=u.id,r=document.querySelector(`label[for="${t}"]`),a=t+"--list",n=t+"-label",i=t+"--assistiveHint";const d=[];var o=e.dataset["defaultValue"],c=e.dataset["placeholder"];let s;if(c&&d.push({placeholder:c}),o)for(let e=0,t=u.options.length;e{var t;u.hasAttribute(e)&&(t=u.getAttribute(e),d.push({[e]:t}),u.removeAttribute(e))});const p=document.createElement("input");p.setAttribute("id",t),p.setAttribute("aria-owns",a),p.setAttribute("aria-controls",a),p.setAttribute("aria-autocomplete","list"),p.setAttribute("aria-describedby",i),p.setAttribute("aria-expanded","false"),p.setAttribute("autocapitalize","off"),p.setAttribute("autocomplete","off"),p.setAttribute("class",m),p.setAttribute("type","text"),p.setAttribute("role","combobox"),d.forEach(s=>Object.keys(s).forEach(e=>{var t=b.escapeHTML`${s[e]}`;p.setAttribute(e,t)})),e.insertAdjacentElement("beforeend",p),e.insertAdjacentHTML("beforeend",b.escapeHTML`
+
+
+
+
+
+
+
+
+
+
+ When autocomplete results are available use up and down arrows to review and enter to select.
+ Touch device users, explore by touch or with swipe gestures.
+ `),s&&(c=S(e)["inputEl"],_(u,s.value),_(c,s.text),e.classList.add(f)),u.disabled&&(D(e),u.disabled=!1),u.hasAttribute("aria-disabled")&&(r=e,{inputEl:r,toggleListBtnEl:t,clearInputBtnEl:a}=S(r),a.hidden=!0,a.setAttribute("aria-disabled",!0),t.setAttribute("aria-disabled",!0),r.setAttribute("aria-disabled",!0),u.removeAttribute("aria-disabled")),e.dataset.enhanced="true"}},C=(e,t,{skipFocus:s,preventScroll:r}={})=>{var{inputEl:e,listEl:a,focusedOptionEl:n}=S(e);n&&(n.classList.remove(E),n.setAttribute("tabIndex","-1")),t?(e.setAttribute("aria-activedescendant",t.id),t.setAttribute("tabIndex","0"),t.classList.add(E),r||(n=t.offsetTop+t.offsetHeight,a.scrollTop+a.offsetHeight{const n=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");e=`^(?:${e.replace(/{{(.*?)}}/g,(e,t)=>{var t=t.trim(),s=a[t];return"query"!==t&&s?(t=new RegExp(s,"i"),(s=r.match(t))?n(s[1]):""):n(r)})})$`;return new RegExp(e,"i")},c=e=>{const{comboBoxEl:t,selectEl:s,inputEl:r,listEl:a,statusEl:n,isPristine:i,disableFiltering:o}=S(e);let c,l;const u=a.id+"--option-";var d=(r.value||"").toLowerCase(),e=t.dataset.filter||U,p=$(e,d,t.dataset);const b=[];for(let e=0,t=s.options.length;e{var s=u+t,r=[y];let a="-1",n="false";s===c&&(r.push(A,E),a="0",n="true"),c||0!==t||(r.push(E),a="0");var i=document.createElement("li");return i.setAttribute("aria-setsize",b.length),i.setAttribute("aria-posinset",t+1),i.setAttribute("aria-selected",n),i.setAttribute("id",s),i.setAttribute("class",r.join(" ")),i.setAttribute("tabindex",a),i.setAttribute("role","option"),i.setAttribute("data-value",e.value),i.textContent=e.text,i}),v=document.createElement("li");v.setAttribute("class",y+"--no-results"),v.textContent="No results found",a.hidden=!1,e?(a.innerHTML="",m.forEach(e=>a.insertAdjacentElement("beforeend",e))):(a.innerHTML="",a.insertAdjacentElement("beforeend",v)),r.setAttribute("aria-expanded","true"),n.textContent=e?e+` result${1{var{inputEl:e,listEl:t,statusEl:s,focusedOptionEl:r}=S(e);s.innerHTML="",e.setAttribute("aria-expanded","false"),e.setAttribute("aria-activedescendant",""),r&&r.classList.remove(E),t.scrollTop=0,t.hidden=!0},T=e=>{var{comboBoxEl:t,selectEl:s,inputEl:r}=S(e);_(s,e.dataset.value),_(r,e.textContent),t.classList.add(f),l(t),r.focus()},k=e=>{var{comboBoxEl:s,selectEl:r,inputEl:a}=S(e),n=r.value,i=(a.value||"").toLowerCase();if(n)for(let e=0,t=r.options.length;e{var{comboBoxEl:t,listEl:s}=S(e.target),s=(s.hidden&&c(t),s.querySelector(L)||s.querySelector(i));s&&C(t,s),e.preventDefault()},q=e=>{var t=e.target,s=t.nextSibling;s&&C(t,s),e.preventDefault()},N=e=>{var{comboBoxEl:t,listEl:s,focusedOptionEl:r}=S(e.target),r=r&&r.previousSibling,s=!s.hidden;C(t,r),s&&e.preventDefault(),r||l(t)};a=a({[e]:{[u](){var e,t;this.disabled||(e=this,{comboBoxEl:e,listEl:t}=S(e),t.hidden&&c(e))},[p](){var e,t,s;this.disabled||(e=this,{comboBoxEl:e,listEl:t,inputEl:s}=S(e),(t.hidden?c:l)(e),s.focus())},[i](){this.disabled||T(this)},[d](){var e,t,s,r;this.disabled||(e=this,{comboBoxEl:e,listEl:r,selectEl:t,inputEl:s}=S(e),r=!r.hidden,t.value&&_(t),s.value&&_(s),e.classList.remove(f),r&&c(e),s.focus())}},focusout:{[j](e){this.contains(e.relatedTarget)||(k(this),l(this))}},keydown:{[j]:s({Escape:e=>{var{comboBoxEl:e,inputEl:t}=S(e.target);l(e),k(e),t.focus()}}),[u]:s({Enter:e=>{var{comboBoxEl:t,listEl:s}=S(e.target),s=!s.hidden;(e=>{var{comboBoxEl:s,selectEl:r,inputEl:a,statusEl:e}=S(e),n=(e.textContent="",(a.value||"").toLowerCase());if(n)for(let e=0,t=r.options.length;e{T(e.target),e.preventDefault()}," ":e=>{T(e.target),e.preventDefault()},"Shift+Tab":()=>{}})},input:{[u](){this.closest(j).classList.remove(f),c(this)}},mouseover:{[i](){var e;(e=this).classList.contains(E)||C(e,e,{preventScroll:!0})}}},{init(e){r(j,e).forEach(e=>{o(e)})},getComboBoxContext:S,enhanceComboBox:o,generateDynamicRegExp:$,disable:D,enable:e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:s}=S(e);s.hidden=!1,s.disabled=!1,t.disabled=!1,e.disabled=!1},displayList:c,hideList:l,COMBO_BOX_CLASS:n});t.exports=a},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/sanitizer":51,"../../uswds-core/src/js/utils/select-or-matches":53,"receptor/keymap":11}],20:[function(e,E,A){"use strict";const t=e("receptor/keymap");var _=e("../../uswds-core/src/js/utils/behavior");const S=e("../../uswds-core/src/js/utils/select"),P=e("../../uswds-core/src/js/utils/select-or-matches");var s=e("../../uswds-core/src/js/config")["prefix"],F=e("../../uswds-core/src/js/events")["CLICK"];const R=e("../../uswds-core/src/js/utils/active-element");var Y=e("../../uswds-core/src/js/utils/is-ios-device");const D=e("../../uswds-core/src/js/utils/sanitizer");e=s+"-date-picker";const U=e+"__wrapper",V=e+"--initialized",K=e+"--active",W=e+"__internal-input",z=e+"__external-input",Q=e+"__button",n=e+"__calendar",G=e+"__status",C=n+"__date",Z=C+"--focused",X=C+"--selected",J=C+"--previous-month",ee=C+"--current-month",te=C+"--next-month",se=C+"--range-date",re=C+"--today",ae=C+"--range-date-start",ne=C+"--range-date-end",ie=C+"--within-range",oe=n+"__previous-year",ce=n+"__previous-month",le=n+"__next-year",ue=n+"__next-month",de=n+"__month-selection",pe=n+"__year-selection",p=n+"__month",be=p+"--focused",fe=p+"--selected",x=n+"__year",he=x+"--focused",me=x+"--selected",ve=n+"__previous-year-chunk",ge=n+"__next-year-chunk",we=n+"__date-picker",ye=n+"__month-picker",Ee=n+"__year-picker",$=n+"__table",Ae=n+"__row",T=n+"__cell",k=T+"--center-items",xe=n+"__month-label",je=n+"__day-of-week",f="."+e,Le="."+Q,_e="."+W,h="."+z,m="."+n,Se="."+G;s="."+C;const o="."+Z;e="."+ee;const De="."+oe,Ce="."+ce,$e="."+le,Te="."+ue;var ke="."+pe,Me="."+de,qe="."+p;const v="."+x,Ne="."+ve,Ie="."+ge,M="."+we;var Oe="."+ye;const Be="."+Ee,He="."+be,c="."+he,Pe="Please enter a valid date",Fe=["January","February","March","April","May","June","July","August","September","October","November","December"],Re=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],j=12,Ye="MM/DD/YYYY",Ue="YYYY-MM-DD";var r=(...e)=>e.map(e=>e+":not([disabled])").join(", "),Ve=r(De,Ce,ke,Me,$e,Te,o),Ke=r(He),r=r(Ne,Ie,c);const We=(e,t)=>(t!==e.getMonth()&&e.setDate(0),e),ze=(e,t,s)=>{var r=new Date(0);return r.setFullYear(e,t,s),r},Qe=()=>{var e=new Date,t=e.getDate(),s=e.getMonth(),e=e.getFullYear();return ze(e,s,t)},Ge=e=>{var t=new Date(0);return t.setFullYear(e.getFullYear(),e.getMonth(),1),t},Ze=e=>{var t=new Date(0);return t.setFullYear(e.getFullYear(),e.getMonth()+1,0),t},q=(e,t)=>{e=new Date(e.getTime());return e.setDate(e.getDate()+t),e},Xe=(e,t)=>q(e,-t),Je=(e,t)=>q(e,7*t),et=e=>{var t=e.getDay();return Xe(e,t)},N=(e,t)=>{var e=new Date(e.getTime()),s=(e.getMonth()+12+t)%12;return e.setMonth(e.getMonth()+t),We(e,s),e},tt=(e,t)=>N(e,-t),st=(e,t)=>N(e,12*t),rt=(e,t)=>st(e,-t),b=(e,t)=>{e=new Date(e.getTime());return e.setMonth(t),We(e,t),e},L=(e,t)=>{var e=new Date(e.getTime()),s=e.getMonth();return e.setFullYear(t),We(e,s),e},at=(e,t)=>{let s=t{let s=ee&&t&&e.getFullYear()===t.getFullYear(),I=(e,t)=>it(e,t)&&e.getMonth()===t.getMonth(),O=(e,t)=>I(e,t)&&e.getDate()===t.getDate(),l=(e,t,s)=>{let r=e;return et<=e&&(!s||e<=s),ct=(e,t,s)=>Ze(e)s,lt=(e,t,s)=>Ze(b(e,11))s,g=(r,a=Ue,n=!1)=>{let i,o,c,l,u;if(r){let e,t,s;a===Ye?[e,t,s]=r.split("/"):[s,e,t]=r.split("-"),s&&(u=parseInt(s,10),Number.isNaN(u)||(l=u,n&&(l=Math.max(0,l),s.length<3)&&(r=(a=Qe().getFullYear())-a%10**s.length,l=r+u))),e&&(u=parseInt(e,10),Number.isNaN(u)||(o=u,n&&(o=Math.max(1,o),o=Math.min(12,o)))),o&&t&&null!=l&&(u=parseInt(t,10),Number.isNaN(u)||(c=u,n&&(a=ze(l,o,0).getDate(),c=Math.max(1,c),c=Math.min(a,c)))),o&&c&&null!=l&&(i=ze(l,o-1,c))}return i},B=(e,t=Ue)=>{var s=(e,t)=>("0000"+e).slice(-t),r=e.getMonth()+1,a=e.getDate(),e=e.getFullYear();return t===Ye?[s(r,2),s(a,2),s(e,4)].join("/"):[s(e,4),s(r,2),s(a,2)].join("-")},ut=(e,t)=>{var s=[],r=[];let a=0;for(;a{i.insertAdjacentElement("beforeend",e)}),s.push(i)}return s},dt=e=>{const t=document.createElement("tbody");return e.forEach(e=>{t.insertAdjacentElement("beforeend",e)}),t},pt=(e,t="")=>{e.value=t,t=new CustomEvent("change",{bubbles:!0,cancelable:!0,detail:{value:t}});e.dispatchEvent(t)},H=e=>{e=e.closest(f);if(!e)throw new Error("Element is missing outer "+f);var t=e.querySelector(_e),s=e.querySelector(h),r=e.querySelector(m),a=e.querySelector(Le),n=e.querySelector(Se),i=e.querySelector(v),o=g(s.value,Ye,!0),c=g(t.value),l=g(r.dataset.value),u=g(e.dataset.minDate),d=g(e.dataset.maxDate),p=g(e.dataset.rangeDate),b=g(e.dataset.defaultDate);if(u&&d&&d{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.disabled=!0,e.disabled=!0},ft=e=>{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.setAttribute("aria-disabled",!0),e.setAttribute("aria-disabled",!0)};const ht=e=>{var t,s,r,a,{externalInputEl:e,minDate:n,maxDate:i}=H(e),e=e.value;let o=!1;return o=e&&(o=!0,[t,s,r]=(e=e.split("/")).map(e=>{let t;e=parseInt(e,10);return t=Number.isNaN(e)?t:e}),t)&&s&&null!=r&&(a=ze(r,t-1,s)).getMonth()===t-1&&a.getDate()===s&&a.getFullYear()===r&&4===e[2].length&&ot(a,n,i)?!1:o},mt=e=>{var e=H(e)["externalInputEl"],t=ht(e);t&&!e.validationMessage&&e.setCustomValidity(Pe),t||e.validationMessage!==Pe||e.setCustomValidity("")},vt=(e,t)=>{var s,r,a=g(t);a&&(a=B(a,Ye),{datePickerEl:e,internalInputEl:s,externalInputEl:r}=H(e),pt(s,t),pt(r,a),mt(e))},u=(e,t)=>{const{datePickerEl:s,calendarEl:r,statusEl:a,selectedDate:d,maxDate:p,minDate:b,rangeDate:f}=H(e),h=Qe();let n=t||h;e=r.hidden;const m=q(n,0);var i=n.getMonth(),t=n.getFullYear();const v=tt(n,1),g=N(n,1);var o=B(n),c=Ge(n),l=I(n,b),u=I(n,p),w=d||n;const y=f&&at(w,f),E=f&&nt(w,f),A=f&&q(y,1),x=f&&Xe(E,1);for(var w=Fe[i],j=(n=et(c),[]);j.length<28||n.getMonth()===i||j.length%7!=0;)j.push((e=>{var t=[C],s=e.getDate(),r=e.getMonth(),a=e.getFullYear(),n=e.getDay(),i=B(e);let o="-1";var c=!ot(e,b,p),l=O(e,d),e=(I(e,v)&&t.push(J),I(e,m)&&t.push(ee),I(e,g)&&t.push(te),l&&t.push(X),O(e,h)&&t.push(re),f&&(O(e,f)&&t.push(se),O(e,y)&&t.push(ae),O(e,E)&&t.push(ne),ot(e,A,x))&&t.push(ie),O(e,m)&&(o="0",t.push(Z)),Fe[r]),n=Re[n],u=document.createElement("button");return u.setAttribute("type","button"),u.setAttribute("tabindex",o),u.setAttribute("class",t.join(" ")),u.setAttribute("data-day",s),u.setAttribute("data-month",r+1),u.setAttribute("data-year",a),u.setAttribute("data-value",i),u.setAttribute("aria-label",D.escapeHTML`${s} ${e} ${a} ${n}`),u.setAttribute("aria-selected",l?"true":"false"),!0==c&&(u.disabled=!0),u.textContent=s,u})(n)),n=q(n,1);var c=ut(j,7),L=r.cloneNode(),o=(L.dataset.value=o,L.style.top=s.offsetHeight+"px",L.hidden=!1,L.innerHTML=D.escapeHTML`
+
+
+
+
+
+
+
+
+
+ ${w}
+ ${t}
+
+
+
+
+
+
+
+
+
+ `,document.createElement("table")),l=(o.setAttribute("class",$),document.createElement("thead"));o.insertAdjacentElement("beforeend",l);const _=document.createElement("tr"),S=(l.insertAdjacentElement("beforeend",_),{Sunday:"S",Monday:"M",Tuesday:"T",Wednesday:"W",Thursday:"Th",Friday:"Fr",Saturday:"S"});Object.keys(S).forEach(e=>{var t=document.createElement("th");t.setAttribute("class",je),t.setAttribute("scope","col"),t.setAttribute("aria-label",e),t.textContent=S[e],_.insertAdjacentElement("beforeend",t)});u=dt(c);o.insertAdjacentElement("beforeend",u);L.querySelector(M).insertAdjacentElement("beforeend",o),r.parentNode.replaceChild(L,r),s.classList.add(K);l=[];return O(d,m)&&l.push("Selected date"),e?(l.push("You can navigate by day using left and right arrows","Weeks by using up and down arrows","Months by using page up and page down keys","Years by using shift plus page up and shift plus page down","Home and end keys navigate to the beginning and end of a week"),a.textContent=""):l.push(w+" "+t),a.textContent=l.join(". "),L},gt=e=>{var{datePickerEl:e,calendarEl:t,statusEl:s}=H(e);e.classList.remove(K),t.hidden=!0,s.textContent=""},wt=e=>{var{calendarEl:e,inputDate:t,minDate:s,maxDate:r}=H(e);!e.hidden&&t&&(t=l(t,s,r),u(e,t))},yt=(e,t)=>{const{calendarEl:s,statusEl:r,calendarDate:o,minDate:c,maxDate:l}=H(e),u=o.getMonth(),d=null==t?u:t;var e=Fe.map((e,t)=>{var s=b(o,t),s=ct(s,c,l);let r="-1";var a=[p],n=t===u,i=(t===d&&(r="0",a.push(be)),n&&a.push(fe),document.createElement("button"));return i.setAttribute("type","button"),i.setAttribute("tabindex",r),i.setAttribute("class",a.join(" ")),i.setAttribute("data-value",t),i.setAttribute("data-label",e),i.setAttribute("aria-selected",n?"true":"false"),!0===s&&(i.disabled=!0),i.textContent=e,i}),t=document.createElement("div"),a=(t.setAttribute("tabindex","-1"),t.setAttribute("class",ye),document.createElement("table")),e=(a.setAttribute("class",$),a.setAttribute("role","presentation"),ut(e,3)),e=dt(e),e=(a.insertAdjacentElement("beforeend",e),t.insertAdjacentElement("beforeend",a),s.cloneNode());return e.insertAdjacentElement("beforeend",t),s.parentNode.replaceChild(e,s),r.textContent="Select a month.",e},d=(e,t)=>{var{calendarEl:e,statusEl:s,calendarDate:r,minDate:a,maxDate:n}=H(e),i=r.getFullYear(),o=null==t?i:t,t=o,c=(t-=t%j,t=Math.max(0,t),lt(L(r,t-1),a,n)),l=lt(L(r,t+j),a,n),u=[];let d=t;for(;u.length{var{datePickerEl:t,externalInputEl:s}=H(e.target);gt(t),s.focus(),e.preventDefault()};var a=i=>e=>{var{calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(e.target),n=i(s),n=l(n,r,a);O(s,n)||u(t,n).querySelector(o).focus(),e.preventDefault()},At=a(e=>{return e=e,t=1,Je(e,-t);var t}),xt=a(e=>Je(e,1)),jt=a(e=>Xe(e,1)),Lt=a(e=>q(e,1)),_t=a(e=>et(e)),St=a(e=>{return t=(e=e).getDay(),q(e,6-t);var t}),Dt=a(e=>N(e,1)),Ct=a(e=>tt(e,1)),$t=a(e=>st(e,1)),a=a(e=>rt(e,1));var i=o=>e=>{var t=e.target,s=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:r,minDate:a,maxDate:n}=H(t),i=b(r,s),s=o(s),s=Math.max(0,Math.min(11,s)),r=b(r,s),s=l(r,a,n);I(i,s)||yt(t,s.getMonth()).querySelector(He).focus(),e.preventDefault()},Tt=i(e=>e-3),kt=i(e=>e+3),Mt=i(e=>e-1),qt=i(e=>e+1),Nt=i(e=>e-e%3),It=i(e=>e+2-e%3),Ot=i(()=>11),i=i(()=>0);var w=o=>e=>{var t=e.target,s=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:r,minDate:a,maxDate:n}=H(t),i=L(r,s),s=o(s),s=Math.max(0,s),r=L(r,s),s=l(r,a,n);it(i,s)||d(t,s.getFullYear()).querySelector(c).focus(),e.preventDefault()},Bt=w(e=>e-3),Ht=w(e=>e+3),Pt=w(e=>e-1),Ft=w(e=>e+1),Rt=w(e=>e-e%3),Yt=w(e=>e+2-e%3),Ut=w(e=>e-j),w=w(e=>e+j);var y=n=>{const a=e=>{var e=H(e)["calendarEl"],e=S(n,e),t=e.length-1,s=e[0],r=e[t],a=e.indexOf(R());return{focusableElements:e,isNotFound:-1===a,firstTabStop:s,isFirstTab:0===a,lastTabStop:r,isLastTab:a===t}};return{tabAhead(e){var{firstTabStop:t,isLastTab:s,isNotFound:r}=a(e.target);(s||r)&&(e.preventDefault(),t.focus())},tabBack(e){var{lastTabStop:t,isFirstTab:s,isNotFound:r}=a(e.target);(s||r)&&(e.preventDefault(),t.focus())}}},Ve=y(Ve),Ke=y(Ke),y=y(r),r={[F]:{[Le](){var e,t,s,r,a,n;(e=this).disabled||({calendarEl:t,inputDate:n,minDate:s,maxDate:r,defaultDate:a}=H(e),t.hidden?(n=l(n||a||Qe(),s,r),u(t,n).querySelector(o).focus()):gt(e))},[s](){var e,t,s;(e=this).disabled||({datePickerEl:t,externalInputEl:s}=H(e),vt(e,e.dataset.value),gt(t),s.focus())},[qe](){var e,t,s,r,a;(e=this).disabled||({calendarEl:t,calendarDate:a,minDate:s,maxDate:r}=H(e),e=parseInt(e.dataset.value,10),a=b(a,e),a=l(a,s,r),u(t,a).querySelector(o).focus())},[v](){var e,t,s,r,a;(e=this).disabled||({calendarEl:t,calendarDate:a,minDate:s,maxDate:r}=H(e),e=parseInt(e.innerHTML,10),a=L(a,e),a=l(a,s,r),u(t,a).querySelector(o).focus())},[Ce](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(t),s=tt(s,1),s=l(s,r,a),r=u(t,s);let e=r.querySelector(Ce);(e=e.disabled?r.querySelector(M):e).focus()}},[Te](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(t),s=N(s,1),s=l(s,r,a),r=u(t,s);let e=r.querySelector(Te);(e=e.disabled?r.querySelector(M):e).focus()}},[De](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(t),s=rt(s,1),s=l(s,r,a),r=u(t,s);let e=r.querySelector(De);(e=e.disabled?r.querySelector(M):e).focus()}},[$e](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(t),s=st(s,1),s=l(s,r,a),r=u(t,s);let e=r.querySelector($e);(e=e.disabled?r.querySelector(M):e).focus()}},[Ne](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(t),n=t.querySelector(c),n=parseInt(n.textContent,10)-j,n=Math.max(0,n),s=L(s,n),n=l(s,r,a),s=d(t,n.getFullYear());let e=s.querySelector(Ne);(e=e.disabled?s.querySelector(Be):e).focus()}},[Ie](){var t=this;if(!t.disabled){var{calendarEl:t,calendarDate:s,minDate:r,maxDate:a}=H(t),n=t.querySelector(c),n=parseInt(n.textContent,10)+j,n=Math.max(0,n),s=L(s,n),n=l(s,r,a),s=d(t,n.getFullYear());let e=s.querySelector(Ie);(e=e.disabled?s.querySelector(Be):e).focus()}},[Me](){yt(this).querySelector(He).focus()},[ke](){d(this).querySelector(c).focus()}},keyup:{[m](e){var t=this.dataset.keydownKeyCode;""+e.keyCode!==t&&e.preventDefault()}},keydown:{[h](e){13===e.keyCode&&mt(this)},[s]:t({Up:At,ArrowUp:At,Down:xt,ArrowDown:xt,Left:jt,ArrowLeft:jt,Right:Lt,ArrowRight:Lt,Home:_t,End:St,PageDown:Dt,PageUp:Ct,"Shift+PageDown":$t,"Shift+PageUp":a,Tab:Ve.tabAhead}),[M]:t({Tab:Ve.tabAhead,"Shift+Tab":Ve.tabBack}),[qe]:t({Up:Tt,ArrowUp:Tt,Down:kt,ArrowDown:kt,Left:Mt,ArrowLeft:Mt,Right:qt,ArrowRight:qt,Home:Nt,End:It,PageDown:Ot,PageUp:i}),[Oe]:t({Tab:Ke.tabAhead,"Shift+Tab":Ke.tabBack}),[v]:t({Up:Bt,ArrowUp:Bt,Down:Ht,ArrowDown:Ht,Left:Pt,ArrowLeft:Pt,Right:Ft,ArrowRight:Ft,Home:Rt,End:Yt,PageDown:w,PageUp:Ut}),[Be]:t({Tab:y.tabAhead,"Shift+Tab":y.tabBack}),[m](e){this.dataset.keydownKeyCode=e.keyCode},[f](e){t({Escape:Et})(e)}},focusout:{[h](){mt(this)},[f](e){this.contains(e.relatedTarget)||gt(this)}},input:{[h](){{var t=this,{internalInputEl:s,inputDate:r}=H(t);let e="";r&&!ht(t)&&(e=B(r)),s.value!==e&&pt(s,e)}wt(this)}}},F=(Y()||(r.mouseover={[e](){var e,t,s;(e=this).disabled||(s=(t=e.closest(m)).dataset.value,(e=e.dataset.value)!==s&&(s=g(e),u(t,s).querySelector(o).focus()))},[qe](){var e,t;(e=this).disabled||e.classList.contains(be)||(t=parseInt(e.dataset.value,10),yt(e,t).querySelector(He).focus())},[v](){var e,t;(e=this).disabled||e.classList.contains(he)||(t=parseInt(e.dataset.value,10),d(e,t).querySelector(c).focus())}}),_(r,{init(e){P(f,e).forEach(e=>{var t=(e=e.closest(f)).dataset.defaultValue,s=e.querySelector("input");if(!s)throw new Error(f+" is missing inner input");s.value&&(s.value="");var r=g(e.dataset.minDate||s.getAttribute("min"));e.dataset.minDate=r?B(r):"0000-01-01",(r=g(e.dataset.maxDate||s.getAttribute("max")))&&(e.dataset.maxDate=B(r));(r=document.createElement("div")).classList.add(U);var a=s.cloneNode();a.classList.add(z),a.type="text",r.appendChild(a),r.insertAdjacentHTML("beforeend",D.escapeHTML`
+
+
+
`),s.setAttribute("aria-hidden","true"),s.setAttribute("tabindex","-1"),s.style.display="none",s.classList.add(W),s.removeAttribute("id"),s.removeAttribute("name"),s.required=!1,e.appendChild(r),e.classList.add(V),t&&vt(e,t),s.disabled&&(bt(e),s.disabled=!1),s.hasAttribute("aria-disabled")&&(ft(e),s.removeAttribute("aria-disabled"))})},getDatePickerContext:H,disable:bt,ariaDisable:ft,enable:e=>{var{externalInputEl:e,toggleBtnEl:t}=H(e);t.disabled=!1,e.disabled=!1},isDateInputInvalid:ht,setCalendarValue:vt,validateDateInput:mt,renderCalendar:u,updateCalendarIfVisible:wt}));E.exports=F},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/active-element":45,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/is-ios-device":50,"../../uswds-core/src/js/utils/sanitizer":51,"../../uswds-core/src/js/utils/select":54,"../../uswds-core/src/js/utils/select-or-matches":53,"receptor/keymap":11}],21:[function(e,t,s){"use strict";var r=e("../../uswds-core/src/js/utils/behavior");const a=e("../../uswds-core/src/js/utils/select"),n=e("../../uswds-core/src/js/utils/select-or-matches");var i=e("../../uswds-core/src/js/config")["prefix"];const{getDatePickerContext:o,isDateInputInvalid:c,updateCalendarIfVisible:l}=e("../../usa-date-picker/src/index");e=i+"-date-range-picker";const u=e+"__range-start",d=e+"__range-end",p="."+(i+"-date-picker"),b="."+e,f="."+u,h="."+d,m=e=>{var t,s,e=e.closest(b);if(e)return t=e.querySelector(f),s=e.querySelector(h),{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:s};throw new Error("Element is missing outer "+b)},v=e=>{var{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:s}=m(e),t=o(t)["internalInputEl"],r=t.value;r&&!c(t)?(s.dataset.minDate=r,s.dataset.rangeDate=r,s.dataset.defaultDate=r):(s.dataset.minDate=e.dataset.minDate||"",s.dataset.rangeDate="",s.dataset.defaultDate=""),l(s)},g=e=>{var{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:s}=m(e),s=o(s)["internalInputEl"],r=s.value;r&&!c(s)?(t.dataset.maxDate=r,t.dataset.rangeDate=r,t.dataset.defaultDate=r):(t.dataset.maxDate=e.dataset.maxDate||"",t.dataset.rangeDate="",t.dataset.defaultDate=""),l(t)};i=r({"input change":{[f](){v(this)},[h](){g(this)}}},{init(e){n(b,e).forEach(e=>{var e=(e=e).closest(b),[t,s]=a(p,e);if(!t)throw new Error(`${b} is missing inner two '${p}' elements`);if(!s)throw new Error(`${b} is missing second '${p}' element`);t.classList.add(u),s.classList.add(d),e.dataset.minDate||(e.dataset.minDate="0000-01-01");var r=e.dataset["minDate"];(r=(t.dataset.minDate=r,s.dataset.minDate=r,e.dataset)["maxDate"])&&(t.dataset.maxDate=r,s.dataset.maxDate=r),v(e),g(e)})}});t.exports=i},{"../../usa-date-picker/src/index":20,"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select":54,"../../uswds-core/src/js/utils/select-or-matches":53}],22:[function(e,t,I){"use strict";const s=e("../../uswds-core/src/js/utils/select-or-matches");var r=e("../../uswds-core/src/js/utils/behavior");const g=e("../../uswds-core/src/js/utils/sanitizer");e=e("../../uswds-core/src/js/config").prefix;const w=e+"-file-input",c="."+w,l=e+"-file-input__input",u=e+"-file-input__target",a="."+l,d=e+"-file-input__box",p=e+"-file-input__instructions",y=e+"-file-input__preview",o=e+"-file-input__preview-heading",b=e+"-file-input--disabled",f=e+"-file-input__choose",E=e+"-file-input__accepted-files-message",h=e+"-file-input__drag-text",n=e+"-file-input--drag",A="is-loading",x="has-invalid-file",j=e+"-file-input__preview-image",L=j+"--generic",_=j+"--pdf",S=j+"--word",D=j+"--video",C=j+"--excel",$=e+"-sr-only",T="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";let k=Boolean(!0),M="",m="";const v=e=>{var t,e=e.closest(c);if(e)return t=e.querySelector(a),{dropZoneEl:e,inputEl:t};throw new Error("Element is missing outer "+c)};const i=e=>{var t=e.charCodeAt(0);return 32===t?"-":65<=t&&t<=90?"img_"+e.toLowerCase():"__"+t.toString(16).slice(-4)},O=e=>e.replace(/[^a-z0-9]/g,i),B=e=>e+"-"+Math.floor(Date.now().toString()/1e3),q=e=>{return e.hasAttribute("multiple")?"files":"file"},H=e=>{var t,s,r,a=e.hasAttribute("aria-disabled")||e.hasAttribute("disabled"),n=(t=e,s=document.createElement("div"),i=document.createElement("div"),n=document.createElement("div"),t.classList.remove(w),t.classList.add(l),s.classList.add(w),n.classList.add(d),i.classList.add(u),i.prepend(n),t.parentNode.insertBefore(i,t),t.parentNode.insertBefore(s,i),i.appendChild(t),s.appendChild(i),i),i=(s=(t=e).closest(c),i=q(t),r=document.createElement("div"),i=`Drag ${i} here or`,o="choose from folder",M=i+" "+o,r.classList.add(p),r.setAttribute("aria-hidden","true"),t.setAttribute("aria-label",M),r.innerHTML=g.escapeHTML`${i} ${o} `,t.parentNode.insertBefore(r,t),(/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(s.querySelector("."+h).outerHTML=""),r),o=v(e)["dropZoneEl"];return a?o.classList.add(b):(t=e,s=document.createElement("div"),r=q(t),a=t.closest(c),t=t.closest("."+u),m=`No ${r} selected.`,s.classList.add($),s.setAttribute("aria-live","polite"),s.textContent=m,a.insertBefore(s,t)),{instructions:i,dropTarget:n}},N=(e,t)=>{var s=e.querySelectorAll("."+y),r=e.querySelector("."+o),a=e.querySelector("."+E);r&&(r.outerHTML=""),a&&(a.outerHTML="",e.classList.remove(x)),null!==s&&(t&&t.removeAttribute("hidden"),Array.prototype.forEach.call(s,e=>{e.parentNode.removeChild(e)}))},P=(e,t,s)=>{const r=e;let a=m;1===t.length?a="You have selected the file: "+s:1{r.textContent=a},1e3)},F=(e,t)=>{var s=document.createElement("div"),r=e.closest("."+u),a=r.querySelector("."+p);let n="Change file",i="";1===t.length?i=g.escapeHTML`Selected file ${n} `:1${n}`),a.setAttribute("hidden","true"),s.classList.add(o),s.innerHTML=i,r.insertBefore(s,a),e.setAttribute("aria-label",n)},R=(e,t,s,r)=>{var a=e,n=t,i=s,o=r,c=n.getAttribute("accept");if(o.classList.remove(x),c){var l=c.split(","),c=document.createElement("div");let t=!0;var u=a.target.files||a.dataTransfer.files;for(let e=0;e{let s=!1;e=e.indexOf(t);return s=0<=e?!0:s})(d.type,p.replace(/\*/g,""))){k=!0;break}}}t||(N(o,i),n.value="",o.insertBefore(c,n),c.textContent=n.dataset.errormessage||"This is not a valid file type.",c.classList.add(E),o.classList.add(x),k=!1,a.preventDefault(),a.stopPropagation())}if(!0===k){var i=t,b=s,n=r,f=(c=e).target.files,c=n.closest("."+w).querySelector("."+$),h=[];N(n,b);for(let e=0;e
+ ${v}
+ `)},m.onloadend=function(){var e=document.getElementById(t);0
{const{instructions:s,dropTarget:r}=H(t);r.addEventListener("dragover",function(){this.classList.add(n)},!1),r.addEventListener("dragleave",function(){this.classList.remove(n)},!1),r.addEventListener("drop",function(){this.classList.remove(n)},!1),t.addEventListener("change",e=>R(e,t,s,r),!1)})},teardown(e){s(a,e).forEach(e=>{var t=e.parentElement.parentElement;t.parentElement.replaceChild(e,t),e.className=w})},getFileInputContext:v,disable:e=>{var{dropZoneEl:e,inputEl:t}=v(e);t.disabled=!0,e.classList.add(b)},ariaDisable:e=>{e=v(e).dropZoneEl;e.classList.add(b)},enable:e=>{var{dropZoneEl:e,inputEl:t}=v(e);t.disabled=!1,e.classList.remove(b),e.removeAttribute("aria-disabled")}});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/sanitizer":51,"../../uswds-core/src/js/utils/select-or-matches":53}],23:[function(e,t,s){"use strict";var r=e("../../uswds-core/src/js/utils/behavior"),a=e("../../uswds-core/src/js/events")["CLICK"];const n=e("../../uswds-core/src/js/config")["prefix"],i=`.${n}-footer--big`,o=i+" nav"+` .${n}-footer__primary-link`;function c(r){var e=document.querySelector(i);e&&e.querySelectorAll(o).forEach(e=>{var t=e.getAttribute("class"),s=e.getAttribute("data-tag")||e.tagName,s=document.createElement(r?"button":s);s.setAttribute("class",t),s.classList.toggle(n+"-footer__primary-link--button",r),s.textContent=e.textContent,r&&(s.setAttribute("data-tag",e.tagName),t=n+"-footer-menu-list-"+Math.floor(1e5*Math.random()),s.setAttribute("aria-controls",t),s.setAttribute("aria-expanded","false"),e.nextElementSibling.setAttribute("id",t),s.setAttribute("type","button")),e.after(s),e.remove()})}const l=e=>{c(e.matches)};t.exports=r({[a]:{[o]:function(){var e;window.innerWidth<480&&(e="true"===this.getAttribute("aria-expanded"),this.closest(i).querySelectorAll(o).forEach(e=>{e.setAttribute("aria-expanded",!1)}),this.setAttribute("aria-expanded",!e))}}},{HIDE_MAX_WIDTH:480,init(){c(window.innerWidth<480),this.mediaQueryList=window.matchMedia("(max-width: 479.9px)"),this.mediaQueryList.addListener(l)},teardown(){this.mediaQueryList.removeListener(l)}})},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46}],24:[function(e,t,I){"use strict";var s=e("receptor/keymap"),r=e("../../uswds-core/src/js/utils/behavior");const a=e("../../uswds-core/src/js/utils/select"),n=e("../../uswds-core/src/js/utils/toggle"),i=e("../../uswds-core/src/js/utils/focus-trap"),o=e("../../usa-accordion/src/index");var c=e("../../uswds-core/src/js/utils/scrollbar-width"),l=e("../../uswds-core/src/js/events")["CLICK"],e=e("../../uswds-core/src/js/config")["prefix"];const u=`.${e}-header`,d=`.${e}-nav`;var p=`.${e}-nav-container`;const b=`.${e}-nav__primary`,f=`.${e}-nav__primary-item`,h=`button.${e}-nav__link`;var m=d+" a";const v="data-nav-hidden",g=`.${e}-menu-btn`,w=`.${e}-nav__close`;var y=w+`, .${e}-overlay`;const E=[d,`.${e}-overlay`].join(", "),A=`body *:not(${u}, ${p}, ${d}, ${d} *):not([aria-hidden])`,x=(v,"usa-js-mobile-nav--active");let j,L,_;const S=()=>document.body.classList.contains(x),D=navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome");e=c();const C=window.getComputedStyle(document.body).getPropertyValue("padding-right"),$=parseInt(C.replace(/px/,""),10)+parseInt(e.replace(/px/,""),10)+"px",T=()=>{const t=document.querySelector(u).parentNode;(_=document.querySelectorAll(A)).forEach(e=>{e!==t&&(e.setAttribute("aria-hidden",!0),e.setAttribute(v,""))})},k=()=>{(_=document.querySelectorAll("[data-nav-hidden]"))&&_.forEach(e=>{e.removeAttribute("aria-hidden"),e.removeAttribute(v)})};p=e=>{var t=document["body"];const s="boolean"==typeof e?e:!S();e=t,r=`-${window.scrollY}px`,D&&e.style.setProperty("--scrolltop",r),t.classList.toggle(x,s),a(E).forEach(e=>e.classList.toggle("is-visible",s)),j.focusTrap.update(s);var e=t.querySelector(w),r=document.querySelector(g);return t.style.paddingRight=t.style.paddingRight===$?C:$,(s?T:k)(),s&&e?e.focus():!s&&r&&"none"!==getComputedStyle(r).display&&r.focus(),s};const M=()=>{var e=document.body.querySelector(w);S()&&e&&0===e.getBoundingClientRect().width&&j.toggleNav.call(e,!1)},q=()=>j.toggleNav.call(j,!1),N=()=>{L&&(n(L,!1),L=null)};j=r({[l]:{[h](){return L!==this&&N(),L||(L=this,n(L,!0)),!1},body:N,[g]:p,[y]:p,[m](){var e=this.closest(o.ACCORDION);e&&o.getButtons(e).forEach(e=>o.hide(e)),S()&&j.toggleNav.call(j,!1)}},keydown:{[b]:s({Escape:e=>{var t;N(),t=(e=e).target.closest(f),e.target.matches(h)||(e=t.querySelector(h))&&e.focus()}})},focusout:{[b](e){e.target.closest(b).contains(e.relatedTarget)||N()}}},{init(e){e=e.matches(d)?e:e.querySelector(d);e&&(j.focusTrap=i(e,{Escape:q})),D&&document.body.classList.add("is-safari"),M(),window.addEventListener("resize",M,!1)},teardown(){window.removeEventListener("resize",M,!1),L=!1},focusTrap:null,toggleNav:p}),t.exports=j},{"../../usa-accordion/src/index":15,"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/focus-trap":48,"../../uswds-core/src/js/utils/scrollbar-width":52,"../../uswds-core/src/js/utils/select":54,"../../uswds-core/src/js/utils/toggle":57,"receptor/keymap":11}],25:[function(e,t,s){"use strict";const r=e("receptor/once");var a=e("receptor/keymap");const n=e("../../uswds-core/src/js/utils/select-or-matches");var i=e("../../uswds-core/src/js/utils/behavior"),o=e("../../uswds-core/src/js/config")["prefix"],c=e("../../uswds-core/src/js/events")["CLICK"];const u=e("../../uswds-core/src/js/utils/sanitizer"),l=o+"-current",d=["h1","h2","h3","h4","h5","h6"],p=0,b=o+"-in-page-nav",f=o+"-anchor",h=b+"__nav",m=b+"__list",v=b+"__item",g=v+"--primary",w=b+"__link",y=b+"__heading",E=e=>{const t=document.querySelectorAll("."+w);e.map(e=>!0===e.isIntersecting&&1<=e.intersectionRatio&&(t.forEach(e=>e.classList.remove(l)),document.querySelector(`a[href="#${e.target.id}"]`).classList.add(l),!0))},A=(e,t)=>{t=t.indexOf(" ")?t.split(" "):t,e=document.querySelector(e),t.forEach(e=>{if(!d.includes(e))throw new Error(`In-page navigation: data-header-selector attribute defined with an invalid heading type: "${e}".
+ Define the attribute with one or more of the following: "${d}".
+ Do not use commas or other punctuation in the attribute definition.`)}),e=Array.from(e.querySelectorAll(t));return e},x=e=>{var t=document.querySelector("."+b).dataset.scrollOffset||p;window.scroll({behavior:"smooth",top:e.offsetTop-t,block:"start"}),window.location.hash.slice(1)!==e.id&&window.history.pushState(null,"","#"+e.id)},j=e=>{var t=u.escapeHTML`${e.dataset.titleText||"On this page"}`,s=u.escapeHTML`${e.dataset.titleHeadingLevel||"h4"}`,r=u.escapeHTML`${e.dataset.rootMargin||"0px 0px 0px 0px"}`,a=u.escapeHTML`${e.dataset.threshold||"1"}`,n=u.escapeHTML`${e.dataset.mainContentSelector||"main"}`,i=u.escapeHTML`${e.dataset.headingElements||"h2 h3"}`,r={root:null,rootMargin:r,threshold:[a]};a=n,n=i;const c=A(a,n).filter(e=>{e=window.getComputedStyle(e);return"none"!==e.getPropertyValue("display")&&"hidden"!==e.getPropertyValue("visibility")});i=document.createElement("nav"),i.setAttribute("aria-label",t),i.classList.add(h),a=document.createElement(s);a.classList.add(y),a.setAttribute("tabindex","0"),a.textContent=t,i.appendChild(a);const l=document.createElement("ul");l.classList.add(m),i.appendChild(l),c.forEach(e=>{var t=document.createElement("li"),s=document.createElement("a"),r=document.createElement("a"),a=e.textContent,n=e.tagName.toLowerCase(),i=c[0].tagName.toLowerCase(),o=(e=>{var t=e.textContent.toLowerCase().replace(/[^a-z\d]/g,"-").replace(/-{2,}/g,"-").replace(/^-|-$/g,"");let s,r=0;for(;s=t,1<(r+=1)&&(s+="-"+r),document.getElementById(s););return s})(e);t.classList.add(v),n===i&&t.classList.add(g),s.setAttribute("href","#"+o),s.setAttribute("class",w),s.textContent=a,r.setAttribute("id",o),r.setAttribute("class",f),e.insertAdjacentElement("afterbegin",r),l.appendChild(t),t.appendChild(s)}),e.appendChild(i);n=document.querySelectorAll("."+f);const o=new window.IntersectionObserver(E,r);n.forEach(e=>{o.observe(e)})};e=i({[c]:{["."+w](e){e.preventDefault(),this.disabled||(e=this,e=document.getElementById(e.hash.slice(1)),x(e))}},keydown:{["."+w]:a({Enter:e=>{e=(e=>{let t;return t=(e&&1===e.nodeType?e.getAttribute("href"):e.target.hash).replace("#","")})(e),e=document.getElementById(e);const t=e.parentElement;t&&(t.setAttribute("tabindex",0),t.focus(),t.addEventListener("blur",r(()=>{t.setAttribute("tabindex",-1)}))),x(e)}})}},{init(e){n("."+b,e).forEach(e=>{j(e),(e=window.location.hash.slice(1))&&(e=document.getElementById(e))&&x(e)})}});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/sanitizer":51,"../../uswds-core/src/js/utils/select-or-matches":53,"receptor/keymap":11,"receptor/once":12}],26:[function(e,t,s){"use strict";const r=e("../../uswds-core/src/js/utils/select-or-matches");var a=e("../../uswds-core/src/js/utils/behavior"),e=e("../../uswds-core/src/js/config")["prefix"];const n="."+(e+"-masked"),i=e+"-input-mask",o=i+"--content",c="placeholder",p="_#dDmMyY9",b="A",f=(e,t)=>e?t.replace(/\W/g,""):t.replace(/\D/g,""),h=e=>!Number.isNaN(parseInt(e,10)),m=e=>!!e&&e.match(/[A-Z]/i),l=e=>{var t=e,s=t.getAttribute("id"),r=(t.value=(e=>{var t=e.dataset.charset,s=t||e.dataset.placeholder,e=e["value"],r=s.length;let a="",n,i;var o=f(t,e);for(n=0,i=0;n{var t,s,r;(r=(e=e).getAttribute(c))&&(e.setAttribute("maxlength",r.length),e.setAttribute("data-placeholder",r),e.removeAttribute(c),(t=document.createElement("span")).classList.add(i),t.setAttribute("data-mask",r),(s=document.createElement("span")).classList.add(o),s.setAttribute("aria-hidden","true"),s.id=e.id+"Mask",s.textContent=r,t.appendChild(s),e.closest("form").insertBefore(t,e),t.appendChild(e))})}});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select-or-matches":53}],27:[function(e,t,s){"use strict";var r=e("receptor/keymap"),a=e("../../uswds-core/src/js/utils/behavior");const n=e("../../uswds-core/src/js/utils/toggle"),i=e("../../uswds-core/src/js/utils/focus-trap"),o=e("../../usa-accordion/src/index");var c=e("../../uswds-core/src/js/events")["CLICK"],e=e("../../uswds-core/src/js/config")["prefix"];const l=`.${e}-language__submenu`,u=`.${e}-language__primary`,d=`.${e}-language__primary-item`,p=`button.${e}-language__link`;let b,f;const h=()=>b.toggleLanguage.call(b,!1),m=()=>{f&&(n(f,!1),f=null)};b=a({[c]:{[p](){return f!==this&&m(),f===this?m():f||(f=this,n(f,!0)),!1},body:m,[`.${e}-language`+" a"](){var e=this.closest(o.ACCORDION);e&&o.getButtons(e).forEach(e=>o.hide(e))}},keydown:{[u]:r({Escape:e=>{var t;m(),t=(e=e).target.closest(d),e.target.matches(p)||t.querySelector(p).focus()}})},focusout:{[u](e){e.target.closest(u).contains(e.relatedTarget)||m()}}},{init(e){e=e.matches(l)?e:e.querySelector(l);e&&(b.focusTrap=i(e,{Escape:h}))},teardown(){f=!1},focusTrap:null}),t.exports=b},{"../../usa-accordion/src/index":15,"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/focus-trap":48,"../../uswds-core/src/js/utils/toggle":57,"receptor/keymap":11}],28:[function(e,t,s){"use strict";const a=e("../../uswds-core/src/js/utils/select-or-matches"),u=e("../../uswds-core/src/js/utils/focus-trap");var r=e("../../uswds-core/src/js/utils/scrollbar-width"),n=e("../../uswds-core/src/js/utils/behavior"),e=e("../../uswds-core/src/js/config")["prefix"];const d=e+"-modal",i=d+"-overlay",o=d+"-wrapper",p="data-open-modal",b="data-close-modal",f="data-force-action",h="data-modal-hidden",c="."+d,m=`.${o} *[data-focus]`,v=`${o} *[${b}]`,l=(p,v+`, .${i}:not([${f}])`),g=`body > *:not(.${o}):not([aria-hidden])`,w=(h,"usa-js-modal--active"),y="is-hidden";let E,A,x;const j=r(),L=()=>{E.toggleModal.call(E,!1)},_=()=>{A=window.getComputedStyle(document.body).getPropertyValue("padding-right"),x=parseInt(A.replace(/px/,""),10)+parseInt(j.replace(/px/,""),10)+"px"};function S(e){let t,s=e.target;var r,a,n,i,o=document["body"],c=!document.body.classList.contains(w),l=s?s.getAttribute("aria-controls"):document.querySelector(".usa-modal-wrapper.is-visible"),l=c?document.getElementById(l):document.querySelector(".usa-modal-wrapper.is-visible");return!(!l||(r=l.querySelector(m)?l.querySelector(m):l.querySelector(".usa-modal"),a=document.getElementById(l.getAttribute("data-opener")),n=o.querySelector("*[data-open-modal][aria-controls]"),i=l.getAttribute(f),(s="keydown"===e.type&&null!==l?l.querySelector(v):s)&&(s.hasAttribute(p)&&(null===this.getAttribute("id")?(t="modal-"+(Math.floor(9e5*Math.random())+1e5),this.setAttribute("id",t)):t=this.getAttribute("id"),l.setAttribute("data-opener",t)),s.closest("."+d))&&!s.hasAttribute(b)&&!s.closest(`[${b}]`)))&&(o.classList.toggle(w,c),l.classList.toggle("is-visible",c),l.classList.toggle(y,!c),i&&o.classList.toggle("usa-js-no-click",c),o.style.paddingRight===x?o.style.removeProperty("padding-right"):o.style.paddingRight=x,c&&r?(E.focusTrap=i?u(l):u(l,{Escape:L}),E.focusTrap.update(c),r.focus(),document.querySelectorAll(g).forEach(e=>{e.setAttribute("aria-hidden","true"),e.setAttribute(h,"")})):!c&&n&&a&&(document.querySelectorAll("[data-modal-hidden]").forEach(e=>{e.removeAttribute("aria-hidden"),e.removeAttribute(h)}),a.focus(),E.focusTrap.update(c)),c)}const D=(e,t)=>{const s=e.getAttribute("id");var r=e.getAttribute("aria-labelledby"),a=e.getAttribute("aria-describedby"),n=e.hasAttribute(f);if(!r)throw new Error(s+" is missing aria-labelledby attribute");if(a)return t.setAttribute("role","dialog"),t.setAttribute("id",s),t.setAttribute("aria-labelledby",r),t.setAttribute("aria-describedby",a),n&&t.setAttribute(f,n),t.querySelectorAll(l).forEach(e=>{e.setAttribute("aria-controls",s)}),e.removeAttribute("id"),e.removeAttribute("aria-labelledby"),e.removeAttribute("aria-describedby"),e.setAttribute("tabindex","-1"),t;throw new Error(s+" is missing aria-desribedby attribute")},C=e=>{if(!e.getAttribute("id"))throw new Error("Modal markup is missing ID");var t=(e=>{var t=e.getAttribute("id");const s=document.createElement("div");e=Array.from(e.attributes);return _(),s.setAttribute("data-placeholder-for",t),s.style.display="none",s.setAttribute("aria-hidden","true"),e.forEach(e=>{s.setAttribute("data-original-"+e.name,e.value)}),s})(e),s=(e.after(t),t=e,e=document.createElement("div"),s=document.createElement("div"),e.classList.add(y,o),s.classList.add(i),e.append(s),s.append(t),D(t,e),e);document.body.appendChild(s)};E=n({},{init(e){a(c,e).forEach(e=>{var t=e.id;C(e),a(`[aria-controls="${t}"]`,document).forEach(e=>{"A"===e.nodeName&&(e.setAttribute("role","button"),e.addEventListener("click",e=>e.preventDefault())),e.addEventListener("click",S)})})},teardown(e){a(c,e).forEach(e=>{var t=e.id;{const r=e;var e,s=(e=r.parentElement.parentElement).getAttribute("id");s&&((s=document.querySelector(`[data-placeholder-for="${s}"]`))&&(Array.from(s.attributes).forEach(e=>{e.name.startsWith("data-original-")&&r.setAttribute(e.name.substr(14),e.value)}),s.after(r),s.parentElement.removeChild(s)),e.parentElement.removeChild(e))}a(`[aria-controls="${t}"]`,document).forEach(e=>e.removeEventListener("click",S))})},focusTrap:null,toggleModal:S}),t.exports=E},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/focus-trap":48,"../../uswds-core/src/js/utils/scrollbar-width":52,"../../uswds-core/src/js/utils/select-or-matches":53}],29:[function(e,t,s){"use strict";const r=e("../../uswds-core/src/js/utils/select-or-matches");var a=e("../../uswds-core/src/js/utils/behavior"),e=e("../../uswds-core/src/js/config")["prefix"];const n="."+(e+"-range"),i=e=>{var t=e.dataset.textPreposition||"of",s=e.dataset.textUnit,r=e.value,a=e.getAttribute("max")||100;let n;n=s?r+` ${s} ${t} `+a:r+` ${t} `+a,e.setAttribute("aria-valuetext",n)};e=a({change:{[n](){i(this)}}},{init(e){r(n,e).forEach(e=>{i(e)})},updateCallout:i});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select-or-matches":53}],30:[function(e,t,s){"use strict";const a=e("receptor/ignore");var r=e("../../uswds-core/src/js/utils/behavior");const n=e("../../uswds-core/src/js/utils/select"),i=e("../../uswds-core/src/js/events")["CLICK"],o=".js-search-button",c=".js-search-form",l="[type=search]",u="header";let d;const p=e=>{e=e.closest(u);return(e||document).querySelector(c)},b=(e,t)=>{var s=p(e);if(!s)throw new Error(`No ${c} found for search toggle in ${u}!`);if(e.hidden=t,s.hidden=!t,t){e=s.querySelector(l);e&&e.focus();const r=a(s,()=>{d&&!function(){b(this,!1),d=void 0}.call(d),document.body.removeEventListener(i,r)});setTimeout(()=>{document.body.addEventListener(i,r)},0)}};e=r({[i]:{".js-search-button":function(){b(this,!0),d=this}}},{init(e){n(o,e).forEach(e=>{b(e,!1)})},teardown(){d=void 0}});t.exports=e},{"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select":54,"receptor/ignore":9}],31:[function(e,t,s){"use strict";const r=e("receptor/once");var a=e("../../uswds-core/src/js/utils/behavior"),n=e("../../uswds-core/src/js/events")["CLICK"],e=e("../../uswds-core/src/js/config")["prefix"];t.exports=a({[n]:{[`.${e}-skipnav[href^="#"], .${e}-footer__return-to-top [href^="#"]`]:function(){var e=encodeURI(this.getAttribute("href"));const t=document.getElementById("#"===e?"main-content":e.slice(1));t&&(t.style.outline="0",t.setAttribute("tabindex",0),t.focus(),t.addEventListener("blur",r(()=>{t.setAttribute("tabindex",-1)})))}}})},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"receptor/once":12}],32:[function(e,t,s){"use strict";const o=e("../../uswds-core/src/js/utils/select");var r=e("../../uswds-core/src/js/utils/behavior"),a=e("../../uswds-core/src/js/events")["CLICK"];const n=e("../../uswds-core/src/js/config")["prefix"],i=e("../../uswds-core/src/js/utils/sanitizer"),c=`.${n}-table`,l="aria-sort",u="ascending",d="descending",p=n+"-table__header__button",b="."+p,f="th[data-sortable]",h=`.${n}-table__announcement-region[aria-live="polite"]`,m=(e,t)=>e.children[t].getAttribute("data-sort-value")||e.children[t].innerText||e.children[t].textContent,v=(r,a)=>(e,t)=>{var s=m(a?e:t,r),t=m(a?t:e,r);return s&&t&&!Number.isNaN(Number(s))&&!Number.isNaN(Number(t))?s-t:s.toString().localeCompare(t,navigator.language,{numeric:!0,ignorePunctuation:!0})},g=e=>{var t=e.innerText,s=e.getAttribute(l)===u,r=t+", sortable column, currently "+(e.getAttribute(l)===u||e.getAttribute(l)===d||!1?s?"sorted "+u:"sorted "+d:"unsorted"),t=`Click to sort by ${t} in ${s?d:u} order.`;e.setAttribute("aria-label",r),e.querySelector(b).setAttribute("title",t)},w=(t,e)=>{var s,r=t.closest(c);let a=e;if("boolean"!=typeof a&&(a=t.getAttribute(l)===u),!r)throw new Error(f+" is missing outer "+c);if(a=((e,t)=>{e.setAttribute(l,!0===t?d:u),g(e);const s=e.closest(c).querySelector("tbody");var r=[].slice.call(s.querySelectorAll("tr"));const a=[].slice.call(e.parentNode.children).indexOf(e);return r.sort(v(a,!t)).forEach(e=>{[].slice.call(e.children).forEach(e=>e.removeAttribute("data-sort-active")),e.children[a].setAttribute("data-sort-active",!0),s.appendChild(e)}),!0})(t,e)){s=r,o(f,s).filter(e=>e.closest(c)===s).forEach(e=>{e!==t&&((e=e).removeAttribute(l),g(e))});var e=r,r=t,n=e.querySelector("caption").innerText,i=r.getAttribute(l)===u,r=r.innerText;if(!(e=e.nextElementSibling)||!e.matches(h))throw new Error("Table containing a sortable column header is not followed by an aria-live region.");n=`The table named "${n}" is now sorted by ${r} in ${i?u:d} order.`,e.innerText=n}};e=r({[a]:{[b](e){e.preventDefault(),w(e.target.closest(f),e.target.closest(f).getAttribute(l)===u)}}},{init(e){var t,e=o(f,e),e=(e.forEach(e=>{return e=e,(t=document.createElement("button")).setAttribute("tabindex","0"),t.classList.add(p),t.innerHTML=i.escapeHTML`
+
+
+
+
+
+
+
+
+
+
+
+ `,e.appendChild(t),void g(e);var t}),e.filter(e=>e.getAttribute(l)===u||e.getAttribute(l)===d)[0]);void 0!==e&&((t=e.getAttribute(l))===u?w(e,!0):t===d&&w(e,!1))},TABLE:c,SORTABLE_HEADER:f,SORT_BUTTON:b});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/events":37,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/sanitizer":51,"../../uswds-core/src/js/utils/select":54}],33:[function(e,t,s){"use strict";var r=e("../../uswds-core/src/js/utils/behavior");const a=e("../../uswds-core/src/js/utils/select-or-matches");var n=e("../../uswds-core/src/js/config")["prefix"];const{COMBO_BOX_CLASS:f,enhanceComboBox:i}=e("../../usa-combo-box/src/index"),h="."+(n+"-time-picker"),m={filter:"0?{{ hourQueryFilter }}:{{minuteQueryFilter}}.*{{ apQueryFilter }}m?",apQueryFilter:"([ap])",hourQueryFilter:"([1-9][0-2]?)",minuteQueryFilter:"[\\d]+:([0-9]{0,2})"},v=e=>{let t;var s;return t=e&&([e,s]=e.split(":").map(e=>{let t;e=parseInt(e,10);return t=Number.isNaN(e)?t:e}),null!=e)&&null!=s?60*e+s:t},o=t=>{const s=t.closest(h),r=s.querySelector("input");if(!r)throw new Error(h+" is missing inner input");const a=document.createElement("select");["id","name","required","aria-label","aria-labelledby","disabled","aria-disabled"].forEach(e=>{var t;r.hasAttribute(e)&&(t=r.getAttribute(e),a.setAttribute(e,t),r.removeAttribute(e))});var n=(e,t)=>("0000"+e).slice(-t),t=Math.max(0,v(s.dataset.minTime)||0),i=Math.min(1439,v(s.dataset.maxTime)||1439),o=Math.floor(Math.max(1,s.dataset.step||30));let c;for(let e=t;e<=i;e+=o){u=e,l=void 0,l=u%60,u=Math.floor(u/60);var{minute:l,hour24:u,hour12:d,ampm:p}={minute:l,hour24:u,hour12:u%12||12,ampm:u<12?"am":"pm"},b=document.createElement("option");b.value=n(u,2)+":"+n(l,2),b.text=d+":"+n(l,2)+p,b.text===r.value&&(c=b.value),a.appendChild(b)}s.classList.add(f),Object.keys(m).forEach(e=>{s.dataset[e]=m[e]}),s.dataset.disableFiltering="true",s.dataset.defaultValue=c,s.appendChild(a),r.remove()};e=r({},{init(e){a(h,e).forEach(e=>{o(e),i(e)})},FILTER_DATASET:m});t.exports=e},{"../../usa-combo-box/src/index":19,"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select-or-matches":53}],34:[function(e,t,s){"use strict";const r=e("../../uswds-core/src/js/utils/select-or-matches");var a=e("../../uswds-core/src/js/utils/behavior"),n=e("../../uswds-core/src/js/config")["prefix"];const b=e("../../uswds-core/src/js/utils/is-in-viewport"),i=`.${n}-tooltip`;e=`.${n}-tooltip__trigger`;const o=n+"-tooltip__trigger",c=n+"-tooltip",f=n+"-tooltip__body",h="is-visible",m=n+"-tooltip__body--wrap",l=e=>{var t=e.parentNode,s=t.querySelector("."+f);return{trigger:e,wrapper:t,body:s}},u=(t,r,e)=>{t.setAttribute("aria-hidden","false"),t.classList.add("is-set");const a=e=>{t.classList.remove(f+"--top"),t.classList.remove(f+"--bottom"),t.classList.remove(f+"--right"),t.classList.remove(f+"--left"),t.classList.add(f+"--"+e)},n=e=>{e.style.top=null,e.style.bottom=null,e.style.right=null,e.style.left=null,e.style.margin=null},i=(e,t)=>parseInt(window.getComputedStyle(e).getPropertyValue(t),10),o=(e,t,s)=>{return 0{n(e);var t=o("top",e.offsetHeight,r),s=o("left",e.offsetWidth,r);a("top"),e.style.left="50%",e.style.top="-5px",e.style.margin=`-${t}px 0 0 -${s/2}px`},l=e=>{n(e);var t=o("left",e.offsetWidth,r);a("bottom"),e.style.left="50%",e.style.margin=`5px 0 0 -${t/2}px`},u=e=>{n(e);var t=o("top",e.offsetHeight,r);a("right"),e.style.top="50%",e.style.left=r.offsetLeft+r.offsetWidth+5+"px",e.style.margin=`-${t/2}px 0 0 0`},d=e=>{n(e);var t=o("top",e.offsetHeight,r),s=o("left",r.offsetLeft>e.offsetWidth?r.offsetLeft-e.offsetWidth:e.offsetWidth,r);a("left"),e.style.top="50%",e.style.left="-5px",e.style.margin=`-${t/2}px 0 0 ${r.offsetLeft>e.offsetWidth?s:-s}px`};function p(s,e=1){const r=[c,l,u,d];let a=!1;!function e(t){t{t.classList.add(h)},20)},d=e=>{e.classList.remove(h),e.classList.remove("is-set"),e.classList.remove(m),e.setAttribute("aria-hidden","true")},p=e=>{var t="tooltip-"+(Math.floor(9e5*Math.random())+1e5),s=e.getAttribute("title");const r=document.createElement("span");var a=document.createElement("span"),n=e.getAttribute("data-classes");let i=e.getAttribute("data-position");return i||(i="top",e.setAttribute("data-position",i)),e.setAttribute("aria-describedby",t),e.setAttribute("tabindex","0"),e.removeAttribute("title"),e.classList.remove(c),e.classList.add(o),e.parentNode.insertBefore(r,e),r.appendChild(e),r.classList.add(c),r.appendChild(a),n&&n.split(" ").forEach(e=>r.classList.add(e)),a.classList.add(f),a.setAttribute("id",t),a.setAttribute("role","tooltip"),a.setAttribute("aria-hidden","true"),a.textContent=s,{tooltipBody:a,position:i,tooltipContent:s,wrapper:r}};n=a({"mouseover focusin":{[i](e){e=e.target;"BUTTON"===e.nodeName&&e.hasAttribute("title")&&p(e)},[e](e){var{trigger:e,body:t}=l(e.target);u(t,e,e.dataset.position)}},"mouseout focusout":{[e](e){e=l(e.target).body;d(e)}}},{init(e){r(i,e).forEach(e=>{p(e)})},setup:p,getTooltipElements:l,show:u,hide:d});t.exports=n},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/is-in-viewport":49,"../../uswds-core/src/js/utils/select-or-matches":53}],35:[function(e,t,s){"use strict";var r=e("../../uswds-core/src/js/utils/behavior");const a=e("../../uswds-core/src/js/utils/validate-input");var n=e("../../uswds-core/src/js/config")["prefix"];const i=e("../../uswds-core/src/js/utils/select-or-matches"),o="input[data-validation-element],textarea[data-validation-element]",c=`.${n}-checklist__item`,l=e=>{var t,r,s,a;a=(t=e).parentNode,s=t.getAttribute("id")+"-sr-summary",t.setAttribute("aria-describedby",s),(t=document.createElement("span")).setAttribute("data-validation-status",""),t.classList.add("usa-sr-only"),t.setAttribute("aria-live","polite"),t.setAttribute("aria-atomic",!0),t.setAttribute("id",s),a.append(t),s=(r=e).parentNode.querySelectorAll(c),a=r.getAttribute("data-validation-element"),r.setAttribute("aria-controls",a),s.forEach(e=>{let t="status incomplete";r.hasAttribute("data-validation-incomplete")&&(t=r.getAttribute("data-validation-incomplete"));var s=`${e.textContent} ${t} `;e.setAttribute("tabindex","0"),e.setAttribute("aria-label",s)})};e=r({"input change":{"input[data-validation-element],textarea[data-validation-element]"(e){e=e.target,a(e)}}},{init(e){i(o,e).forEach(e=>l(e))}});t.exports=e},{"../../uswds-core/src/js/config":36,"../../uswds-core/src/js/utils/behavior":46,"../../uswds-core/src/js/utils/select-or-matches":53,"../../uswds-core/src/js/utils/validate-input":58}],36:[function(e,t,s){"use strict";t.exports={prefix:"usa"}},{}],37:[function(e,t,s){"use strict";t.exports={CLICK:"click"}},{}],38:[function(e,t,s){"use strict";var r=e("../../../usa-accordion/src/index"),a=e("../../../usa-banner/src/index"),n=e("../../../usa-button/src/index"),i=e("../../../usa-character-count/src/index"),o=e("../../../usa-combo-box/src/index"),c=e("../../../usa-date-picker/src/index"),l=e("../../../usa-date-range-picker/src/index"),u=e("../../../usa-file-input/src/index"),d=e("../../../usa-footer/src/index"),p=e("../../../usa-in-page-navigation/src/index"),b=e("../../../usa-input-mask/src/index"),f=e("../../../usa-language-selector/src/index"),h=e("../../../usa-modal/src/index"),m=e("../../../usa-header/src/index"),v=e("../../../_usa-password/src/index"),g=e("../../../usa-range/src/index"),w=e("../../../usa-search/src/index"),y=e("../../../usa-skipnav/src/index"),E=e("../../../usa-table/src/index"),A=e("../../../usa-time-picker/src/index"),x=e("../../../usa-tooltip/src/index"),e=e("../../../usa-validation/src/index");t.exports={accordion:r,banner:a,button:n,characterCount:i,comboBox:o,datePicker:c,dateRangePicker:l,fileInput:u,footer:d,inPageNavigation:p,inputMask:b,languageSelector:f,modal:h,navigation:m,password:v,range:g,search:w,skipnav:y,table:E,timePicker:A,tooltip:x,validator:e}},{"../../../_usa-password/src/index":14,"../../../usa-accordion/src/index":15,"../../../usa-banner/src/index":16,"../../../usa-button/src/index":17,"../../../usa-character-count/src/index":18,"../../../usa-combo-box/src/index":19,"../../../usa-date-picker/src/index":20,"../../../usa-date-range-picker/src/index":21,"../../../usa-file-input/src/index":22,"../../../usa-footer/src/index":23,"../../../usa-header/src/index":24,"../../../usa-in-page-navigation/src/index":25,"../../../usa-input-mask/src/index":26,"../../../usa-language-selector/src/index":27,"../../../usa-modal/src/index":28,"../../../usa-range/src/index":29,"../../../usa-search/src/index":30,"../../../usa-skipnav/src/index":31,"../../../usa-table/src/index":32,"../../../usa-time-picker/src/index":33,"../../../usa-tooltip/src/index":34,"../../../usa-validation/src/index":35}],39:[function(e,t,s){"use strict";"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(e,t){var t=t||{bubbles:!1,cancelable:!1,detail:null},s=document.createEvent("CustomEvent");return s.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),s})},{}],40:[function(e,t,s){"use strict";var r=window.HTMLElement.prototype;const a="hidden";a in r||Object.defineProperty(r,a,{get(){return this.hasAttribute(a)},set(e){e?this.setAttribute(a,""):this.removeAttribute(a)}})},{}],41:[function(e,t,s){"use strict";e("classlist-polyfill"),e("./element-hidden"),e("./number-is-nan"),e("./custom-event"),e("./svg4everybody")},{"./custom-event":39,"./element-hidden":40,"./number-is-nan":42,"./svg4everybody":43,"classlist-polyfill":1}],42:[function(e,t,s){"use strict";Number.isNaN=Number.isNaN||function(e){return"number"==typeof e&&e!=e}},{}],43:[function(e,t,s){"use strict";function f(e,t,s,r){if(s){var a=document.createDocumentFragment(),n=!t.hasAttribute("viewBox")&&s.getAttribute("viewBox");n&&t.setAttribute("viewBox",n);for(var i=document.importNode?document.importNode(s,!0):s.cloneNode(!0),o=document.createElementNS(t.namespaceURI||"http://www.w3.org/2000/svg","g");i.childNodes.length;)o.appendChild(i.firstChild);if(r)for(var c=0;r.attributes.length>c;c++){var l=r.attributes[c];"xlink:href"!==l.name&&"href"!==l.name&&o.setAttribute(l.name,l.value)}a.appendChild(o),e.appendChild(a)}}t.exports=function(e){var c,l=Object(e),e=window.top!==window.self,u=(c="polyfill"in l?l.polyfill:/\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/.test(navigator.userAgent)||(navigator.userAgent.match(/\bEdge\/12\.(\d+)\b/)||[])[1]<10547||(navigator.userAgent.match(/\bAppleWebKit\/(\d+)\b/)||[])[1]<537||/\bEdge\/.(\d+)\b/.test(navigator.userAgent)&&e,{}),d=window.requestAnimationFrame||setTimeout,p=document.getElementsByTagName("use"),b=0;c&&function e(){if(!(b&&p.length-b<=0))for(var t=b=0;t{const t=document.body;Object.keys(a).forEach(e=>{a[e].on(t)}),n()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e,{once:!0}):e(),s.default=r,s.initComponents=e},{"./config":36,"./index":38,"./polyfills":41,"./polyfills/svg4everybody":43}],45:[function(e,t,s){"use strict";t.exports=(e=document)=>e.activeElement},{}],46:[function(e,t,s){"use strict";const r=e("object-assign"),a=e("receptor/behavior"),n=(...e)=>function(t=document.body){e.forEach(e=>{"function"==typeof this[e]&&this[e].call(this,t)})};t.exports=(e,t)=>a(e,r({on:n("init","add"),off:n("teardown","remove")},t))},{"object-assign":4,"receptor/behavior":5}],47:[function(e,t,s){"use strict";t.exports=function(t,s=500){let r=null;return(...e)=>{window.clearTimeout(r),r=window.setTimeout(()=>{t.apply(this,e)},s)}}},{}],48:[function(e,t,s){"use strict";const a=e("object-assign"),n=e("receptor")["keymap"],i=e("./behavior"),o=e("./select"),c=e("./active-element"),l=e=>{const t=o('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]',e),s=t[0],r=t[t.length-1];return{firstTabStop:s,lastTabStop:r,tabAhead:function(e){c()===r&&(e.preventDefault(),s.focus())},tabBack:function(e){c()===s?(e.preventDefault(),r.focus()):t.includes(c())||(e.preventDefault(),s.focus())}}};t.exports=(e,t={})=>{const s=l(e);var{Esc:e,Escape:r}=t,e=(r&&!e&&(t.Esc=r),n(a({Tab:s.tabAhead,"Shift+Tab":s.tabBack},t)));return i({keydown:e},{init(){s.firstTabStop&&s.firstTabStop.focus()},update(e){e?this.on():this.off()}})}},{"./active-element":45,"./behavior":46,"./select":54,"object-assign":4,receptor:10}],49:[function(e,t,s){"use strict";t.exports=function(e,t=window,s=document.documentElement){return 0<=(e=e.getBoundingClientRect()).top&&0<=e.left&&e.bottom<=(t.innerHeight||s.clientHeight)&&e.right<=(t.innerWidth||s.clientWidth)}},{}],50:[function(e,t,s){"use strict";t.exports=function(){return"undefined"!=typeof navigator&&(navigator.userAgent.match(/(iPod|iPhone|iPad)/g)||"MacIntel"===navigator.platform&&1"'/]/g,_entities:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},getEntity:function(e){return n._entities[e]},escapeHTML:function(e){var t="";for(var s=0;s1?t-1:0);for(var r=1;r{var s,r=a(e,t);return"string"==typeof e&&(s=t)&&"object"==typeof s&&1===s.nodeType&&t.matches(e)&&r.push(t),r}},{"./select":54}],54:[function(e,t,s){"use strict";t.exports=(e,t)=>{var s;return"string"!=typeof e?[]:(s=(t=t&&(s=t)&&"object"==typeof s&&1===s.nodeType?t:window.document).querySelectorAll(e),Array.prototype.slice.call(s))}},{}],55:[function(e,t,s){"use strict";t.exports=(e,t)=>{e.setAttribute("autocapitalize","off"),e.setAttribute("autocorrect","off"),e.setAttribute("type",t?"password":"text")}},{}],56:[function(e,t,s){"use strict";const a=e("resolve-id-refs"),n=e("./toggle-field-mask"),i="aria-pressed",o="data-show-text";t.exports=e=>{const t=e.hasAttribute(i)&&"true"!==e.getAttribute(i);a(e.getAttribute("aria-controls")).forEach(e=>n(e,t)),e.hasAttribute(o)||e.setAttribute(o,e.textContent);var s=e.getAttribute(o),r=e.getAttribute("data-hide-text")||s.replace(/\bShow\b/i,e=>`${"S"===e[0]?"H":"h"}ide`);return e.textContent=t?s:r,e.setAttribute(i,t),t}},{"./toggle-field-mask":55,"resolve-id-refs":13}],57:[function(e,t,s){"use strict";const r="aria-expanded";t.exports=(e,t)=>{let s=t;"boolean"!=typeof s&&(s="false"===e.getAttribute(r)),e.setAttribute(r,s);t=e.getAttribute("aria-controls"),e=document.getElementById(t);if(e)return s?e.removeAttribute("hidden"):e.setAttribute("hidden",""),s;throw new Error(`No toggle target found with id: "${t}"`)}},{}],58:[function(e,t,s){"use strict";const c=e("./debounce");e=e("../config").prefix;const l=e+"-checklist__item--checked";t.exports=function(n){var e=n.dataset.validationElement;const i="#"===e.charAt(0)?document.querySelector(e):document.getElementById(e);if(!i)throw new Error(`No validation element found with id: "${e}"`);let o="";Object.entries(n.dataset).forEach(([t,s])=>{if(t.startsWith("validate")){var t=t.substr("validate".length).toLowerCase(),s=new RegExp(s),r=`[data-validator="${t}"]`,r=i.querySelector(r);const a=n.parentNode.querySelector("[data-validation-status]");s=s.test(n.value);if(r.classList.toggle(l,s),!r)throw new Error(`No validator checkbox found for: "${t}"`);s=n.dataset.validationComplete||"status complete",t=n.dataset.validationIncomplete||"status incomplete";let e=r.textContent+" ";r.classList.contains(l)?e+=s:e+=t,r.setAttribute("aria-label",e),o+=e+". ",c(()=>{a.textContent=o},1e3)()}})}},{"../config":36,"./debounce":47}]},{},[44]);
+//# sourceMappingURL=uswds.min.js.map
diff --git a/cit.nih.gov/themes/custom/customer_portal_theme/uswds/uswds-core/src/js/uswds-init.js?v=10.2.7 b/cit.nih.gov/themes/custom/customer_portal_theme/uswds/uswds-core/src/js/uswds-init.js?v=10.2.7
new file mode 100644
index 00000000000..014c68d06c6
--- /dev/null
+++ b/cit.nih.gov/themes/custom/customer_portal_theme/uswds/uswds-core/src/js/uswds-init.js?v=10.2.7
@@ -0,0 +1,24 @@
+/* eslint-disable no-var */
+(function uswdsInit() {
+ "use strict";
+
+ var loadingClass = "usa-js-loading";
+ var fallback;
+
+ document.documentElement.classList.add(loadingClass);
+ function revertClass() {
+ document.documentElement.classList.remove(loadingClass);
+ }
+
+ fallback = setTimeout(revertClass, 8000);
+
+ function verifyLoaded() {
+ if (window.uswdsPresent) {
+ clearTimeout(fallback);
+ revertClass();
+ window.removeEventListener("load", verifyLoaded, true);
+ }
+ }
+
+ window.addEventListener("load", verifyLoaded, true);
+})();