{"id":182,"date":"2026-01-03T05:17:17","date_gmt":"2026-01-03T05:17:17","guid":{"rendered":"https:\/\/bizsmart.co.ke\/cryptorevolution\/?page_id=182"},"modified":"2026-04-26T11:55:56","modified_gmt":"2026-04-26T11:55:56","slug":"binance-referral-code","status":"publish","type":"page","link":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/","title":{"rendered":"Binance Referral Code : (BONUS369)"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"515\" src=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/04\/the-Binance-referral-code-in-2026-1-1024x515.png\" alt=\"The Binance referral code in 2026\" class=\"wp-image-746\" srcset=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/04\/the-Binance-referral-code-in-2026-1-1024x515.png 1024w, https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/04\/the-Binance-referral-code-in-2026-1-300x151.png 300w, https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/04\/the-Binance-referral-code-in-2026-1-768x387.png 768w, https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/04\/the-Binance-referral-code-in-2026-1.png 1228w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you are reading this, you probably just learned about Binance. Maybe a friend may have mentioned Binance to you or you came across a topic on crypto and you wanted to find out more. You may have spent the past few days just trying to separate facts and hype, and you are still not entirely sure if getting started on a crypto exchange is the best option for you\u2026<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And guess what the hesitation is understandable. And if anything, smart.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are the questions that most beginners tend to inquire on\u2026<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>&#8220;Is Binance actually safe?\u201d<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>&#8220;I see Binance referral codes everywhere. Are they worth it, or just marketing gimmicks to get users to register?&#8221;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>&#8220;What does a &#8216;$600 welcome bonus&#8217; actually mean? Do I have access to the $600 welcome bonus?\u201d<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>&#8220;I barely have any experience with crypto. Will I grasp how to use Binance, or will I lose money if I don\u2019t know what I\u2019m really doing&#8221;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>&#8220;In case I make a decision to leave the platform, will I be able to withdraw my money, or will I not have access to it&#8221;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And these are honestly some legitimate concerns, and this article should answer each and every one of them. By the time you get to the end of this article, you will comprehend exactly what the Binance referral code <strong>BONUS369<\/strong> offers, how the $600 welcome bonus works, what the 20% lifetime trading fee discount means for your trading journey on Binance, and how to get started the right way as a first time user.<\/p>\n\n\n\n<div class=\"binance-referral-box\">\n  <div class=\"binance-label\">Binance Referral Code<\/div>\n\n  <div class=\"binance-code-wrap\">\n    <span id=\"binanceCode\">BONUS369<\/span>\n    <button onclick=\"copyBinanceCode()\">Copy<\/button>\n  <\/div>\n\n  <div class=\"binance-note\">\n    Enter this code during sign-up to activate Binance referral rewards.\n  <\/div>\n<\/div>\n\n<script>\nfunction copyBinanceCode() {\n  const code = document.getElementById(\"binanceCode\").innerText;\n  navigator.clipboard.writeText(code);\n  alert(\"Referral code copied: \" + code);\n}\n<\/script>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#What_Is_Binance_A_Brief_Overview\" >What Is Binance? A Brief Overview<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#What_Is_a_Binance_Referral_Code\" >What Is a Binance Referral Code?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#Breaking_Down_the_600_Welcome_Bonus\" >Breaking Down the $600 Welcome Bonus<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#The_20_Lifetime_Trading_Fee_Discount\" >The 20% Lifetime Trading Fee Discount:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#How_to_Register_on_Binance_Using_Referral_Code_BONUS369\" >How to Register on Binance Using Referral Code BONUS369<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#Important_Considerations_in_Crypto_Trading\" >Important Considerations in Crypto Trading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#Frequently_Asked_Questions\" >Frequently Asked Questions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#Conclusion_Is_It_Worth_Signing_Up_With_Referral_Code\" >Conclusion: Is It Worth Signing Up With Referral Code?<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Is_Binance_A_Brief_Overview\"><\/span><strong>What Is Binance? A Brief Overview<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Binance is a <a href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/\">crypto<\/a> exchange platform.\u00a0 This essentially means it\u2019s a platform where users or traders can buy, sell, and trade digital currencies like Bitcoin, Ethereum, and hundreds of other digital assets. It was launched in 2017 by Changpeng Zhao (commonly known as &#8220;CZ&#8221;), and it grew quite fast to become one of the largest crypto exchanges in the world by trading volume.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019d want to understand that in perspective: on an average day, Binance processes tens of billions of dollars in form of transactions. Millions of traders over more than 100 countries use of <a href=\"https:\/\/www.mchip.net\/libweb\/u142B9\/242419\/Crypto%20Trading%20Guide%20Binance%20Beginner%20S%20Guide%20To.pdf\">Binance<\/a> to manage their digital assets.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, this doesn\u2019t mean Binance is without its complexities; no financial platform of such scale is. Just like any big financial institution, Binance is subject to regulatory scrutiny in a couple of jurisdictions, and it has continued to navigate a no. of legal and compliance obstacles over the years. But as of today, it still takes lead as the dominant player in the global crypto exchange market, that\u2019s used by both complete beginners and advanced traders alike.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For new users, Binance offers a reasonable access to the emerging world of crypto, provided that you take the time to comprehend the basics before you can begin trading.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Is_a_Binance_Referral_Code\"><\/span><strong>What Is a Binance Referral Code?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A Binance referral code, also known as a Binance referral ID or Binance invite code, is a unique string of characters that essentially ties a new account to a special promotional offer. When you enter a Binance referral code during sign up, the new user is able to unlock special benefits from a Binance partner.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The most lucrative Binance referral code in 2026 is: BONUS369 with $600 welcome bonus and a 20% lifetime discount on all trading fees. <\/strong><\/p>\n\n\n\n<div class=\"binance-referral-box\">\r\n  <div class=\"binance-label\">Binance Referral Code<\/div>\r\n\r\n  <div class=\"binance-code-wrap\">\r\n    <span id=\"binanceCode\">BONUS369<\/span>\r\n    <button onclick=\"copyBinanceCode()\">Copy<\/button>\r\n  <\/div>\r\n\r\n  <div class=\"binance-note\">\r\n    Enter this code during sign-up to activate Binance referral rewards.\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\nfunction copyBinanceCode() {\r\n  const code = document.getElementById(\"binanceCode\").innerText;\r\n  navigator.clipboard.writeText(code);\r\n  alert(\"Referral code copied: \" + code);\r\n}\r\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s good to be clear on one thing: referral codes on Binance are 100% legitimate. Don\u2019t view them as a workaround, potential loophole, or a third-party gimmick. So, making use of a Binance referral code doesn\u2019t cost you anything and doesn\u2019t expose you to any other additional risk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, the question that\u2019s worth asking is not whether the code is real or not, but rather: <em>What perks does it give me, and under what special conditions?<\/em><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/binance.com\/register?ref=BONUS369\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Go to Binance>><\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:31px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Breaking_Down_the_600_Welcome_Bonus\"><\/span><strong>Breaking Down the $600 Welcome Bonus<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the point where many new users may not understand, as they expect to receive $600 cash bonus in their account upon registration with a referral code. It is crucial to comprehend how welcome bonuses on crypto exchanges function.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The $600 welcome bonus that comes with the Binance referral code <strong>BONUS369<\/strong> is built on a <strong>task-based reward structure<\/strong>. So this essentially means the bonus is distributed over a series of certain milestones that you need to complete during your first weeks on Binance. And here is the framework:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How the bonus is unlocked:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The $600 should not be considered as a lump-sum deposit. Rather, it is divided into small reward amounts attached to certain actions that you get to take on the platform. These actions include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Completing KYC (Know Your Customer)<\/li>\n\n\n\n<li>Placing your first deposit above a particular threshold<\/li>\n\n\n\n<li>Making your first trade<\/li>\n\n\n\n<li>Attaining a certain trading volume milestones in the first 30 days<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Each finished task unlocks a part of the total reward into your Binance account. There are some rewards that come in form of trading fee vouchers, BNB (Binance\u2019s native token) or even USDT (a stablecoin that\u2019s pegged to the US dollar).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/binance-referral-code-with-up-to-600-cryptorev-1024x533.png\" alt=\"BONUS369 binance referral id with $600 bonus\" class=\"wp-image-515\" srcset=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/binance-referral-code-with-up-to-600-cryptorev-1024x533.png 1024w, https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/binance-referral-code-with-up-to-600-cryptorev-300x156.png 300w, https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/binance-referral-code-with-up-to-600-cryptorev-768x400.png 768w, https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/binance-referral-code-with-up-to-600-cryptorev-1536x799.png 1536w, https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/binance-referral-code-with-up-to-600-cryptorev.png 1876w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What this means realistically:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you register, complete your identity verification, and make a small deposit but never trade, you won\u2019t receive the full $600. The welcome bonus is strategized to reward only active engagement on Binance, and not passive sign-ups.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is normal practice on major financial and fintech platforms; many banks and brokerages run welcome bonuses in this exact fashion. The major takeaway is this: if you\u2019re looking to use Binance as a serious user, the bonus typically rewards you for what you were going to do anyway. It is an actual benefit and not just a hollow promise.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A note on eligibility:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Welcome bonuses are usually accessible to new users only. In case you have an existing Binance account, you will not qualify for the welcome bonus. Moreover, the availability and exact structure of the bonus tends to vary depending on your country of residence, as Binance adjusts its promotional offerings to abide with the local regulations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_20_Lifetime_Trading_Fee_Discount\"><\/span><strong>The 20% Lifetime Trading Fee Discount:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For new users who are just testing out crypto, a &#8220;20% trading fee discount&#8221; doesn\u2019t really sound like much. However, if you plan to use Binance consistently, this perk will likely prove to be more valuable than a welcome bonus over time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is why.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Understanding trading fees:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every time when you buy or sell a crypto on Binance, you\u2019ll pay a small trading fee. Binance&#8217;s standard trading fee for most traders is 0.1% per transaction; which is one of the lowest in the crypto industry. On a $1,000 trade, that\u2019s about $1 in fees.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At first glance, $1 sounds really small. But you should factor in the compounding effect:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you place 10 trades per week at an average of $500 per trade, that\u2019s about $5 in weekly fees at the standard rate.<\/li>\n\n\n\n<li>In a span of a year, that totals to approx. \u00a0$260 in trading fees.<\/li>\n\n\n\n<li>And with the 20% discount from referral code BONUS369, this annual expense drops to about $208, hence saving you around $52 per year just on trading activity.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Any highly active traders who move large volumes tend to see greater savings. A trader who trades $50,000 per month in volume gets to save thousands of dollars annually just by using Binance referral code (BONUS369).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&#8220;Lifetime&#8221;; what does that actually mean?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The 20% discount is typically described as a lifetime discount, which just means it remains applied to your Binance account usually for as long as the promotional terms are enforced So it is not a 30-day or 90-day offer, it is applied on your Binance account indefinitely, subject to Binance&#8217;s terms and conditions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This hence makes Binace referral code <strong>BONUS369<\/strong> especially valuable in comparison to any other offers in the crypto space, which typically expire after a short while.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How the discount is applied:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The fee reduction is immediate. When your Binance account is registered with the referral code, the discount is included into your fee structure. Therefore, you won\u2019t need to place a promo code for each trade, it simply applies every time you make a trade.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Register_on_Binance_Using_Referral_Code_BONUS369\"><\/span><strong>How to Register on Binance Using Referral Code BONUS369<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The sign up process on Binance is quite easy. Here is a simple step-by-step guide for any first time users:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 1: Navigate to the official Binance website<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go to <strong>www.binance.com<\/strong>. Be careful not to click links from unverified sources. Always ensure that you\u2019re on the official Binance website by inspecting the URL carefully. There are plenty of phishing sites that mimic Binance, and clicking them you put your personal information at risk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 2: Begin the registration process<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go on to click the &#8220;Register&#8221; or &#8220;Sign Up&#8221; button on the top right of the homepage. You will be given an option to sign up with an email address or a mobile phone number. Either of method works quite well, however, choose whichever one you prefer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 3: Enter the referral code<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Upon registration, you\u2019ll spot a field that\u2019s labelled &#8220;Referral Code&#8221; or &#8220;Referral ID.&#8221; Proceed to enter <strong>BONUS369<\/strong> in this field. This is the step that will activate both the $600 welcome bonus eligibility and the 20% lifetime fee discount. So ensure you do not skip this step because once your account is created without a referral code, it can\u2019t be added retroactively.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 4: Complete identity verification (KYC)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Binance, like any other regulated financial platforms, is inherently required by law to verify the identity of its users. This process is called \u201cKnow Your Customer\u201d or KYC verification. Users need to provide:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A govt-issued photo ID (like a national identity card, passport, or driver&#8217;s license)<\/li>\n\n\n\n<li>A selfie or short video for facial recognition objectives.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This process usually takes a couple minutes to 24 hours, depending on the current demand at hand. Completing KYC is important as without it, you won\u2019t be able to deposit, withdraw, and trade will be majorly restricted. You also won\u2019t be able to activate the full welcome bonus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 5: Secure your account<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before depositing any monies, take five minutes to secure your account appropriately. Ensure two-factor authentication (2FA) is enabled by using an authenticator app such as Google Authenticator or even Binance&#8217;s own app. This will add an extra layer of security that protects your Binance account even in case your password is compromised. In the crypto space, account security quite essential.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Step 6: Place your first deposit<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Binance can accept deposits through bank transfer, credit or debit card, and in some regions, third-party payment providers. Bank transfers are usually the most cost-effective method, as card transactions come with additional processing fee. One can deposit fiat currency (such as USD, EUR, GBP, or KES) and then use the remaining balance to buy crypto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-futures-referral-code\/\">Binance futures<\/a>>><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Important_Considerations_in_Crypto_Trading\"><\/span><strong>Important Considerations in Crypto Trading<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Considering a certain amount of factors before beginning your crypto trading journey is crucial.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Crypto is quite volatile.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Crypto assets value easily rise and fall and within such short spans of time. And this maybe a contrast to trad savings accounts or govt bonds, since crypto doesn\u2019t come with any guaranteed returns. Therefore users should only invest what they\u2019re willing to lose.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Start small<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Take some time to fully understand Binance as a platform; the interface, order types (market orders, limit orders, stop-limit orders) and even the fee structute before beginning your crypto trading journey. Binance Academy is an exceptional resource that\u2019s available for free under Binance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Be cautious<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are tons of scams, fake investment schemes and crypto influencers promoting crypto projects to lure unsuspecting crypto investors. Avoid anyone promising you any guaranteed returns.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Understand the tax implications in your country.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In most jurisdictions, crypto gains are subject to capital gains tax or income tax. However, this varies by one\u2019s country of residence. Always ensure to consult a tax professional\/financial adviser in order to be certain of your obligations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Frequently_Asked_Questions\"><\/span><strong>Frequently Asked Questions<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Can I use referral code BONUS369 if I already have a Binance account?<\/strong> No, it is entirely impossible. Referral codes and welcome bonuses are particularly available to new users on Binance. If you already have an existing account, you cannot apply a referral code to your account retroactively.<\/li>\n\n\n\n<li><strong>Is the $600 bonus real money I can withdraw?<\/strong> There are certain portions of the bonus that may be withdrawable upon fulfilling the conditions set, while others; such as fee vouchers, can only be used within the platform. Go on to review the specified terms of each task reward when claiming it, as the conditions tend to vary.<\/li>\n\n\n\n<li><strong>What happens to my 20% discount if the fee structure changes?<\/strong> Binance tends to update its fee structures occasionally. The discount is applied as a percentage reduction on whatever fees are enforced when you\u2019re placing trades. The corresponding benefit (20% off) however, remains consistent even if the base fee rates are altered.<\/li>\n\n\n\n<li><strong>Is Binance available in my country<\/strong> Binance operates in many countries, but due to regulatory requirements, it can\u2019t be accessed from every jurisdiction. Ensure to check the Binance website for the up-to-date info on supported countries and any restrictions that apply<\/li>\n\n\n\n<li><strong>What is the minimum deposit on Binance?<\/strong> This will depend on your currency and method of deposit. For fiat currencies. This varies by your ideal deposit method &amp; currency. For many fiat currency deposits, there is a minimum of around $10 to $15. Check the deposit page on Binance for the current minimums that are applicable to your currency and ideal payment method.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion_Is_It_Worth_Signing_Up_With_Referral_Code\"><\/span><strong>Conclusion: Is It Worth Signing Up With Referral Code?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In case you\u2019ve been looking to get started with Binance then using the <a href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/\">Binance referral ID<\/a> \u201cBONUS369\u201d should give you the ultimate motivation to begin your journey on Binance. It comes with a solid $600 welcome bonus which is more than generous for you to get the most leverage on the platform. The 20% lifetime discount is also an exceptional perk to incredibly reduce your trading fees for as long as your Binance account remains active.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">None of these perks needs you to take any extra risk that\u2019s beyond what you would already be taking by using Binance as a platform. You are not essentially paying more, trading more aggressively, or take on any sort of obligation just by using a Binance referral code. If anything, you simply receive more value by taking advantage of these perks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The goal however is to approach Binance, and crypto more generally with ultimate patience, practical expectations, and a good commitment to learning before you can invest. The platform is powerful, the assets are volatile, and the opportunities that come with it are real. With a good foundation and the right incentives in place, you will be essentially be better positioned to make decisions that you are confident in.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Think of the referral bonus and lifetime fee discount not as a get-rich-quick trick, but as a smarter, lower-cost entry point into crypto one that keeps more money in your pocket from the very first trade you make.<\/p>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><em>Source: https:\/\/www.binance.com\/en\/square\/post\/35332502190137<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/binance.com\/register?ref=BONUS369\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Go to Binance>><\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Last edited: 4\/26\/2026<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Disclaimer:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><small><em>The information provided in this post is for informational and educational purposes only and should not be construed as professional financial advice. Always do your own research or consult with a licensed financial advisor before making any investment decisions.<\/em><\/small><\/li>\n\n\n\n<li><small><em>Cryptocurrency investments are highly volatile and involve significant risk, including the potential loss of all invested capital. Past performance is not indicative of future results. This post does not endorse or promote any specific cryptocurrency, token, or investment strategy.<\/em><\/small><\/li>\n\n\n\n<li><small><em>This post may contain affiliate links, meaning we may earn a commission at no additional cost to you if you make a purchase or sign up through one of these links. We only recommend products or services we trust and believe in.<\/em><\/small><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you are reading this, you probably just learned about Binance. Maybe a friend may have mentioned Binance to you or you came across a topic on crypto and you wanted to find out more. You may have spent the past few days just trying to separate facts and hype, and you are still not [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":187,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"{\"document\":\"AACPDJ3Ei+4Y1eaTlwgg3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAaV5pOXCJ3Ei+4Y1eaTlwgGncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGNXmk5cIAd3Ei+4YC5Xmk5cI3cSL7hgOleaTlwjdxIvuGAyV5pOXCN3Ei+4YCJXmk5cI3cSL7hgK1eaTlwgAncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cI3cSL7hgJleaTlwjdxIvuGAiV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgIleaTlwjdxIvuGAeV5pOXCN3Ei+4YJdXmk5cICp3Ei+4Y1eaTlwgC3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGCaV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YHpXmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGBaV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwjdxIvuGAeV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgGleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cI3cSL7hgHleaTlwjdxIvuGAqV5pOXCN3Ei+4YB5Xmk5cI3cSL7hgHleaTlwidxIvuGJXmk5cIncSL7hjV5pOXCAOdxIvuGNXmk5cIAJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hiV5pOXCJ3Ei+4YleaTlwidxIvuGJXmk5cIncSL7hjV5pOXCADdxIvuGAfV5pOXCADdxIvuGBGV5pOXCN3Ei+4YGdXmk5cIAN3Ei+4YT9Xmk5cIAN3Ei+4YEdXmk5cIAN3Ei+4YBtXmk5cIA93Ei+4YJ5r\/+v4M3cSL7hgC2v\/6\/gwJ3cSL7hgAmv\/6\/gydxIvuGJr\/+v4MncSL7hja\/\/r+DAXV5pOXCADa\/\/r+DAjV5pOXCACa\/\/r+DJXmk5cImv\/6\/gyV5pOXCJ3Ei+4YleaTlwja\/\/r+DACV5pOXCJ3Ei+4Y1eaTlwilBKoPtK0BpFamRpRFpkCY4wG8WKp2jJ8BrqEBsr0Clm+y0QGAsAfi6BWcow2CAcQB\/OMMAQEIAkJIAKACAQEIAkJIAIwCAQEIAkJIAJgBAQEIAkJIAIYEAQEIAkJIAJwDAQEIAkJIALAEAQEIAkJIAJAEAQEIAkJIxFayE4gXsoYNoAniCd6QDIgMpAeKsAzsmwwBAQgASAJCCooBFuoBjgIBAgoCGgIGAiYM2AFKAIoMAQIKAoYGAgQI1gZKAKYHAQIKAkJKAL4OAQIKAkJK7CRKAsZhoo4BmAGIDJwBpAeGGOBHAgQIqCfkF4xHAQEIAEgCCEq0AQEBCAJCSACACgEBCAKwBPIESACiBQEBCAJCSACECQEBCAJCSNgqvDKKDKIFMMo1SgKsC4Q7AQEIAEgCQgYEwFeYRfBE3h+oIqYEoieM6QHO1gO20A20BPYExpYLAQEIAkJIAKYHAQEIAkJIAJwKAQEIAkJIAKYBAQEIAkJIAJIGAQEIAEgOAgEBCAJKAJQBAQEIAkoAvAEBAQgCSgA8AQEIAkrcBK4GAQEIAkJIAKYHAQEIAkJIAK4BAQEIAkJIAKAHAQEIAkJIALYKAQEIAkJIAJ4BAQEIAkJIAL4KAQEIAkJIAL4BAQEIAkJIAKoHAQEIAkJIACgBAQgCQkgAqAEBAQgCQkgAiAgBAQgCQkgAggMBAQgASA4CAQEIAkoAuAMBAQgCSgCSAgEBCAJK2gakCwEBCAJCSACABwEBCAJCSACEAgEBCAJCSACGCgEBCAJCSAC8BQEBCAJCSACqAQEBCAJCSACQCAEBCAJCSACgAgEBCAJCSACmAwEBCAJCSACSAgEBCAJCSACqCQEBCAJCSAC+AQEBCAJCSAC+BwEBCAJCSACwAQEBCAJCSACYDAEBCAJCSACKAgEBCAJCSACyBgEBCABIDgIBAQgCSgC4AgEBCAJKyAOKBQEBCAJCSAC6CAEBCAJCSACoAQEBCAJCSACmDAEBCAJCSACyAQEBCAJCSACSCwEBCAJCSACGAgEBCAJCSACQAwEBCAJCSACkAQEBCAJCSACeCAEBCAJCSACIAQEBCAJCSACUCQEBCAJCSACIAQEBCAJCSACGBgEBCAJCSACSAgEBCAJCSACyBwEBCAJCSACmAQEBCABIALwCjAeKAoAJrAKoCLgBoAeAAqoCiAgBAQgCQkgAngIBAQgCjgIiCvwCSACCDgEBCAJCSACGCwEBCAJCSACYDfL4ArqXCwLYswwsth2augSsJ5gDuFm6A7pyoAO+NYADApYEAiy6BwKIEgKCCgKSAwKCGrgDLoIOhhySA5qpBNLNCgQCoEUEApJcBALGjAOyhAWQXbR28KEDBAK0U5SHA5R4kgOYJo60C8T5DwQC9jYEAgCyApqEBQEBCAJKALYCAN6tAYTRAcDMAaBBrJcD6LMChDsBAQgCSgC6CgEBCAJKAKYCAOYCqhMBAQgChAHOAQCyAWTOAYgRAQEIAkoAugGiBOIEzkbszAGoCIoShAqImAKgBN4wvga4Oto7AKI8AOI8urYKyqYSlLQIAQEIAEgCBAIA0JkFrpsFyCKOmwHYe0wBAtCZBZLEBgIESPjWCyhwAgicqgSUqAbypgqC6gfQ7AOAqQbwvAL03wSKywcBAQgASAoiAu7zA7zyAwLC6QmOqAP6kgYBAQgASAqCDACoiQry\/QmQF8IYgh0GAKIChLQVwLQVAQEIAEgKxh+q0gzIqww8pr0L4r4LkLoM7v4MhgGmCJQBiAEwuhGIF6YJMLIwlgKUOp5ThgOEB6ABoAMqLLoEMIwYsgSmBL4RpBWwL6ZAtniiarxYqnaMnwGuoQGyvQK+ZIQEigSKAqgGlgY8MKADkCcBVrQCAgECCgEDSgAaAQIKAkJKAIoBpgwBAgpKABABAgpKABABAgoCQkoAqAmOCKgEnhCQB4wFAQIKSgAQuAGaCZIHhgO+BZQGigWgBRKGBhCgAq4CELoCkAmGDRoBAwwCAQIKAQEIGmIBAEpOlAEBAgpKABABAgoCQkoAvAS6B5AGtAUQmgKMBYgClgW8A4QBvgGqBYICtgWoAboHsgGyCbADhgGyAYAErgGWBIwCvgiWBqYFELQBjgWKAqYJhge+CI4HmAYQsgGmB7IHrgqcBxKQBrAJIJwFugIQlgK0BJUIAKYIkgeICKIFEJYCnAcapgmWB7gGvgeoBxCIAooFgAKAC4oCoAu4AYANlgKsDYQCiAm4CZYFEIQDugIgmgGACJIImAOYAbICjgiiAboBtAmSAYYIkgGkCBCAAqwFmAeeBY4FlAG2BKwKtAiACBCAAqYDiAK6CLgBggucAbIHqgGwBawBggeiCboEhgWQAp4KtAGWE6oBmBCAApYQggKgDqICkgmYAqIOrAG0DLoBsAu0AZALugcQpgG2ApoLtgGeCaYCjAWwAqoHvgGWB6oCjgeSAqoCggKqBpwFEIgBlgkiggaqBYILigaECo4IAQIKAkIASgCgAhABAwwCAQIKAQEIGmIASk6SAQECCkoAEAECCgIeBGRKAD4BAgpKABABAgoCQkoAigEBAgoAShACAQIKAkwAjgkBAgoCTAC0CQECCgJM1BOYGwECCgBKngK2rQGkVqZGlEWmQJjjAbxYqnaMnwGuoQGyvQKWb7LRAYCwB+LoFaKkDQEF8vAM\/h+IF5aQDQEBgCoBAvj8DAEEqHUCBAioJ5rfCwEC8L8LAQKSIZ4OqBXgggKSngGoIqYEoieM6QHsygKMygwBQci4DKqTAch1ARnsIrKEBZBdtHbgwAK++QKUeJIDAI488rQBAIQFoEGslwPwsAIBAJRO5ggAkBImALgT+EjszAGoCIoShAoBAIbuAaAEnDsAhgFiuvoJ5p4SqJMDAKb5BI6bAdZ70oIMjNYBKHACCJyqBADe\/gOC6gfQ7AOAqQawDcSfB4jAB\/ClAuLDB7bHB9amCqquCgEA3oYKAIS5FdrVFarSDAEAkoUJ2rAVjM4L7RQoAMEAxADBCMQAAADEAAAAxADBAKgAhADHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDEAqgAgQDBAAAAwQAAAMEAAADBAAAAxwAhACgAIQAnASEAJwChACEABACBAIQAxwAoAycBBACEA4EAhAAoACcAxwAoAycBBACEAygAJwDHACgDJwEEACgAJwDHACgDJwEEACgAJwCoASgAwQDEAMEAxADBAMQAwQDEBMcAIQAoACEAJwEhACcAoQAEAMcAKAInAQQAKAAnAMcAKAInAQQAhAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAwQDEAMEAxAGoASgAxwAhACgAIQAnACEBJwCoACgAqAHEAQAAwQMAAMEAAADBAAAAxAChAIQAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACEAKAAhACcBBAAhACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAIQAoACEAJwEEACEAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACEAKAAhACcBBAAhACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAhACgAIQAnAQQAIQAnAMcAIQAoACEAJwAhAAAAIQAnAMEAAADBAAAAwQAAAMEAAADBAAAAwQAAAMEAAADBAAAAwQAAAMEAAADHACEAKAAhACcBBAAhACcAxwAoAicBBACEAIEAhAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAwQAAAMEAAACoASgAxAPBAMQAwQDEAMEAxADBAMQAwQDEAMEBxADBAMQAwQDEAMEAxADBAcQAwQDEAMEBqAIoAKgBKACoASgAxAOoASgAwQAAAMQAwQDEAMEAqAIoAAAAqAEoAQcAKAInAQQAJwCBAAAAhADEAAAAxADBAcQBxwAoAicBBAAnAMcAKAInAQQAJwDBAAAAhADEAMcAKAInAQQAgQAnAMEAAACEAMQAxwAoAicBBAAnAMEAAACEAIEAxAXBAMQAwQAAAIEAhADBAcQAwQDEAccAIQAoACEAJwAhAScAqAEhACcAwQDEAcEAqAAoBMQAqAIoAEQAxAfBAMQCIQHHACgCJwEoACcABACBAEQAhADEAKgBIQDEAMcAKAInASgAJwAEAIQAxAHBAMQAhALEAccAKAInASgAJwAEAMQBwQDEAyEAKAInAAQAJwABAIQAgQCEAIEAhACBAIQAgQCEAIEBhACBAIQAgQCEAYEAhACBDoQAgQCEAIEAhACBAIQAgQCEACcAKAQnAChYJwAHACgDJwAhAScAIQAoAScAhwAhACgAIQAoACcBAQAoACcAgQAAAIcAKAMnACgAJwCHACgDJwAoACcAhwAhACgAIQAoACcBAQAoACcAgQAAAIEAAACBAAAAgQAAAIEAAACHACgDJwAoACcAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAhwAoAycBBwAoAycAKAInAAQAgQAoAicAhwAoAycAIQAnAIcAIQAoACEBJwEBACEAJwCBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACHACgDJwEEACgBJwCBAAAAhwAoAycBBwAoAycAKAInAAQAgQAoAScAhwAoAycAKAAnAIcAKAMnAQQAgQCEACgAJwCHACgDJwAhACcAhwAoAycBBAAoACcAhwAoAycAKAEnAAcAKAMnAQQAJwCHACgDJwEEACcAhwAoAycBBAAnAIcAKAMnASgAJ9WmA8CcA3N0YXRldmVyc2lvbjxkaXYgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbiBpcy1zdHlsZS1maWxsIj48YSBjbGFzcz0id3AtYmxvY2stYnV0dG9uX19saW5rIHdwLWVsZW1lbnQtYnV0dG9uIiBocmVmPSJodHRwczovL2JpbmFuY2UuY29tL3JlZ2lzdGVyP3JlZj1CT05VUzM2OSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciBub2ZvbGxvdyI+R28gdG8gQmluYW5jZT4+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1idXR0b24iPjxhIGNsYXNzPSJ3cC1ibG9jay1idXR0b25fX2xpbmsgd3AtZWxlbWVudC1idXR0b24iIGhyZWY9Imh0dHBzOi8vYmluYW5jZS5jb20vcmVnaXN0ZXI\/cmVmPUJPTlVTMzY5IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIG5vZm9sbG93Ij5HbyB0byBCaW5hbmNlPj48L2E+PC9kaXY+Cj4+Pj5JZiB5b3UgYXJlIHJlYWRpbmcgdGhpcywgeW91IHByb2JhYmx5IGp1c3QgbGVhcm5lZCBhYm91dCBCaW5hbmNlLiBNYXliZSBhIGZyaWVuZCBtYXkgaGF2ZSBtZW50aW9uZWQgQmluYW5jZSB0byB5b3Ugb3IgeW91IGNhbWUgYWNyb3NzIGEgdG9waWMgb24gY3J5cHRvIGFuZCB5b3Ugd2FudGVkIHRvIGZpbmQgb3V0IG1vcmUuIFlvdSBtYXkgaGF2ZSBzcGVudCB0aGUgcGFzdCBmZXcgZGF5cyBqdXN0IHRyeWluZyB0byBzZXBhcmF0ZSBmYWN0cyBhbmQgaHlwZSwgYW5kIHlvdSBhcmUgc3RpbGwgbm90IGVudGlyZWx5IHN1cmUgaWYgZ2V0dGluZyBzdGFydGVkIG9uIGEgY3J5cHRvIGV4Y2hhbmdlIGlzIHRoZSBiZXN0IG9wdGlvbiBmb3IgeW914oCmY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QW5kIGd1ZXNzIHdoYXQgdGhlIGhlc2l0YXRpb24gaXMgdW5kZXJzdGFuZGFibGUuIEFuZCBpZiBhbnl0aGluZywgc21hcnQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SGVyZSBhcmUgdGhlIHF1ZXN0aW9ucyB0aGF0IG1vc3QgYmVnaW5uZXJzIHRlbmQgdG8gaW5xdWlyZSBvbuKApmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxlbT4iSXMgQmluYW5jZSBhY3R1YWxseSBzYWZlP+KAnTwvZW0+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGVtPiJJIHNlZSBCaW5hbmNlIHJlZmVycmFsIGNvZGVzIGV2ZXJ5d2hlcmUuIEFyZSB0aGV5IHdvcnRoIGl0LCBvciBqdXN0IG1hcmtldGluZyBnaW1taWNrcyB0byBnZXQgdXNlcnMgdG8gcmVnaXN0ZXI\/IjwvZW0+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGVtPiJXaGF0IGRvZXMgYSAnJDYwMCB3ZWxjb21lIGJvbnVzJyBhY3R1YWxseSBtZWFuPyBEbyBJIGhhdmUgYWNjZXNzIHRvIHRoZSAkNjAwIHdlbGNvbWUgYm9udXM\/4oCdPC9lbT5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8ZW0+IkkgYmFyZWx5IGhhdmUgYW55IGV4cGVyaWVuY2Ugd2l0aCBjcnlwdG8uIFdpbGwgSSBncmFzcCBob3cgdG8gdXNlIEJpbmFuY2UsIG9yIHdpbGwgSSBsb3NlIG1vbmV5IGlmIEkgZG9u4oCZdCBrbm93IHdoYXQgSeKAmW0gcmVhbGx5IGRvaW5nIjwvZW0+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGVtPiJJbiBjYXNlIEkgbWFrZSBhIGRlY2lzaW9uIHRvIGxlYXZlIHRoZSBwbGF0Zm9ybSwgd2lsbCBJIGJlIGFibGUgdG8gd2l0aGRyYXcgbXkgbW9uZXksIG9yIHdpbGwgSSBub3QgaGF2ZSBhY2Nlc3MgdG8gaXQiPC9lbT5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBbmQgdGhlc2UgYXJlIGhvbmVzdGx5IHNvbWUgbGVnaXRpbWF0ZSBjb25jZXJucywgYW5kIHRoaXMgYXJ0aWNsZSBzaG91bGQgYW5zd2VyIGVhY2ggYW5kIGV2ZXJ5IG9uZSBvZiB0aGVtLiBCeSB0aGUgdGltZSB5b3UgZ2V0IHRvIHRoZSBlbmQgb2YgdGhpcyBhcnRpY2xlLCB5b3Ugd2lsbCBjb21wcmVoZW5kIGV4YWN0bHkgd2hhdCB0aGUgQmluYW5jZSByZWZlcnJhbCBjb2RlIDxzdHJvbmc+Qk9OVVMzNjk8L3N0cm9uZz4gb2ZmZXJzLCBob3cgdGhlICQ2MDAgd2VsY29tZSBib251cyB3b3Jrcywgd2hhdCB0aGUgMjAlIGxpZmV0aW1lIHRyYWRpbmcgZmVlIGRpc2NvdW50IG1lYW5zIGZvciB5b3VyIHRyYWRpbmcgam91cm5leSBvbiBCaW5hbmNlLCBhbmQgaG93IHRvIGdldCBzdGFydGVkIHRoZSByaWdodCB3YXkgYXMgYSBmaXJzdCB0aW1lIHVzZXIuZHJvcENhcGlubmVyQmxvY2tzPHA+SWYgeW91IGFyZSByZWFkaW5nIHRoaXMsIHlvdSBwcm9iYWJseSBqdXN0IGxlYXJuZWQgYWJvdXQgQmluYW5jZS4gTWF5YmUgYSBmcmllbmQgbWF5IGhhdmUgbWVudGlvbmVkIEJpbmFuY2UgdG8geW91IG9yIHlvdSBjYW1lIGFjcm9zcyBhIHRvcGljIG9uIGNyeXB0byBhbmQgeW91IHdhbnRlZCB0byBmaW5kIG91dCBtb3JlLiBZb3UgbWF5IGhhdmUgc3BlbnQgdGhlIHBhc3QgZmV3IGRheXMganVzdCB0cnlpbmcgdG8gc2VwYXJhdGUgZmFjdHMgYW5kIGh5cGUsIGFuZCB5b3UgYXJlIHN0aWxsIG5vdCBlbnRpcmVseSBzdXJlIGlmIGdldHRpbmcgc3RhcnRlZCBvbiBhIGNyeXB0byBleGNoYW5nZSBpcyB0aGUgYmVzdCBvcHRpb24gZm9yIHlvdeKApjwvcD4KPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkFuZCBndWVzcyB3aGF0IHRoZSBoZXNpdGF0aW9uIGlzIHVuZGVyc3RhbmRhYmxlLiBBbmQgaWYgYW55dGhpbmcsIHNtYXJ0LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkhlcmUgYXJlIHRoZSBxdWVzdGlvbnMgdGhhdCBtb3N0IGJlZ2lubmVycyB0ZW5kIHRvIGlucXVpcmUgb27igKY8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48ZW0+IklzIEJpbmFuY2UgYWN0dWFsbHkgc2FmZT\/igJ08L2VtPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxlbT4iSSBzZWUgQmluYW5jZSByZWZlcnJhbCBjb2RlcyBldmVyeXdoZXJlLiBBcmUgdGhleSB3b3J0aCBpdCwgb3IganVzdCBtYXJrZXRpbmcgZ2ltbWlja3MgdG8gZ2V0IHVzZXJzIHRvIHJlZ2lzdGVyPyI8L2VtPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxlbT4iV2hhdCBkb2VzIGEgJyQ2MDAgd2VsY29tZSBib251cycgYWN0dWFsbHkgbWVhbj8gRG8gSSBoYXZlIGFjY2VzcyB0byB0aGUgJDYwMCB3ZWxjb21lIGJvbnVzP+KAnTwvZW0+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PGVtPiJJIGJhcmVseSBoYXZlIGFueSBleHBlcmllbmNlIHdpdGggY3J5cHRvLiBXaWxsIEkgZ3Jhc3AgaG93IHRvIHVzZSBCaW5hbmNlLCBvciB3aWxsIEkgbG9zZSBtb25leSBpZiBJIGRvbuKAmXQga25vdyB3aGF0IEnigJltIHJlYWxseSBkb2luZyI8L2VtPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxlbT4iSW4gY2FzZSBJIG1ha2UgYSBkZWNpc2lvbiB0byBsZWF2ZSB0aGUgcGxhdGZvcm0sIHdpbGwgSSBiZSBhYmxlIHRvIHdpdGhkcmF3IG15IG1vbmV5LCBvciB3aWxsIEkgbm90IGhhdmUgYWNjZXNzIHRvIGl0IjwvZW0+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QW5kIHRoZXNlIGFyZSBob25lc3RseSBzb21lIGxlZ2l0aW1hdGUgY29uY2VybnMsIGFuZCB0aGlzIGFydGljbGUgc2hvdWxkIGFuc3dlciBlYWNoIGFuZCBldmVyeSBvbmUgb2YgdGhlbS4gQnkgdGhlIHRpbWUgeW91IGdldCB0byB0aGUgZW5kIG9mIHRoaXMgYXJ0aWNsZSwgeW91IHdpbGwgY29tcHJlaGVuZCBleGFjdGx5IHdoYXQgdGhlIEJpbmFuY2UgcmVmZXJyYWwgY29kZSA8c3Ryb25nPkJPTlVTMzY5PC9zdHJvbmc+IG9mZmVycywgaG93IHRoZSAkNjAwIHdlbGNvbWUgYm9udXMgd29ya3MsIHdoYXQgdGhlIDIwJSBsaWZldGltZSB0cmFkaW5nIGZlZSBkaXNjb3VudCBtZWFucyBmb3IgeW91ciB0cmFkaW5nIGpvdXJuZXkgb24gQmluYW5jZSwgYW5kIGhvdyB0byBnZXQgc3RhcnRlZCB0aGUgcmlnaHQgd2F5IGFzIGEgZmlyc3QgdGltZSB1c2VyLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPHA+PC9wPgpjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3NvcmlnaW5hbENvbnRlbnQ8c3Ryb25nPldoYXQgSXMgQmluYW5jZT8gQSBCcmllZiBPdmVydmlldzwvc3Ryb25nPmNsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudEJpbmFuY2UgaXMgYSBjcnlwbyBleGNoYW5nZSBwbGF0Zm9ybS4gVGhpcyBlc3NlbnRpYWxseSBtZWFucyBpdOKAmXMgYSBwbGF0Zm9ybSB3aGVyZSB1c2VycyBvciB0cmFkZXJzIGNhbiBidXksIHNlbGwsIGFuZCB0cmFkZSBkaWdpdGFsIGN1cnJlbmNpZXMgbGlrZSBCaXRjb2luLCBFdGhlcmV1bSwgYW5kIGh1bmRyZWRzIG9mIG90aGVyIGRpZ2l0YWwgYXNzZXRzLiBJdCB3YXMgbGF1bmNoZWQgaW4gMjAxNyBieSBDaGFuZ3BlbmcgWmhhbyAoY29tbW9ubHkga25vd24gYXMgIkNaIiksIGFuZCBpdCBncmV3IHF1aXRlIGZhc3QgdG8gYmVjb21lIG9uZSBvZiB0aGUgbGFyZ2VzdCBjcnlwdG8gZXhjaGFuZ2VzIGluIHRoZSB3b3JsZCBieSB0cmFkaW5nIHZvbHVtZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZiB5b3XigJlkIHdhbnQgdG8gdW5kZXJzdGFuZCB0aGF0IGluIHBlcnNwZWN0aXZlOiBvbiBhbiBhdmVyYWdlIGRheSwgQmluYW5jZSBwcm9jZXNzZXMgdGVucyBvZiBiaWxsaW9ucyBvZiBkb2xsYXJzIGluIGZvcm0gb2YgdHJhbnNhY3Rpb25zLiBNaWxsaW9ucyBvZiB0cmFkZXJzIG92ZXIgbW9yZSB0aGFuIDEwMCBjb3VudHJpZXMgdXNlIG9mIEJpbmFuY2UgdG8gbWFuYWdlIHRoZWlyIGRpZ2l0YWwgYXNzZXRzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudEhvd2V2ZXIsIHRoaXMgZG9lc27igJl0IG1lYW4gQmluYW5jZSBpcyB3aXRob3V0IGl0cyBjb21wbGV4aXRpZXM7IG5vIGZpbmFuY2lhbCBwbGF0Zm9ybSBvZiBzdWNoIHNjYWxlIGlzLiBKdXN0IGxpa2UgYW55IGJpZyBmaW5hbmNpYWwgaW5zdGl0dXRpb24sIEJpbmFuY2UgaXMgc3ViamVjdCB0byByZWd1bGF0b3J5IHNjcnV0aW55IGluIGEgY291cGxlIG9mIGp1cmlzZGljdGlvbnMsIGFuZCBpdCBoYXMgY29udGludWVkIHRvIG5hdmlnYXRlIGEgbm8uIG9mIGxlZ2FsIGFuZCBjb21wbGlhbmNlIG9ic3RhY2xlcyBvdmVyIHRoZSB5ZWFycy4gQnV0IGFzIG9mIHRvZGF5LCBpdCBzdGlsbCB0YWtlcyBsZWFkIGFzIHRoZSBkb21pbmFudCBwbGF5ZXIgaW4gdGhlIGdsb2JhbCBjcnlwdG8gZXhjaGFuZ2UgbWFya2V0LCB0aGF04oCZcyB1c2VkIGJ5IGJvdGggY29tcGxldGUgYmVnaW5uZXJzIGFuZCBhZHZhbmNlZCB0cmFkZXJzIGFsaWtlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudEZvciBuZXcgdXNlcnMsIEJpbmFuY2Ugb2ZmZXJzIGEgcmVhc29uYWJsZSBhY2Nlc3MgdG8gdGhlIGVtZXJnaW5nIHdvcmxkIG9mIGNyeXB0bywgcHJvdmlkZWQgdGhhdCB5b3UgdGFrZSB0aGUgdGltZSB0byBjb21wcmVoZW5kIHRoZSBiYXNpY3MgYmVmb3JlIHlvdSBjYW4gYmVnaW4gdHJhZGluZy5kcm9wQ2FwaW5uZXJCbG9ja3NsZXZlbDwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Ib3dldmVyLCB0aGlzIGRvZXNu4oCZdCBtZWFuIEJpbmFuY2UgaXMgd2l0aG91dCBpdHMgY29tcGxleGl0aWVzOyBubyBmaW5hbmNpYWwgcGxhdGZvcm0gb2Ygc3VjaCBzY2FsZSBpcy4gSnVzdCBsaWtlIGFueSBiaWcgZmluYW5jaWFsIGluc3RpdHV0aW9uLCBCaW5hbmNlIGlzIHN1YmplY3QgdG8gcmVndWxhdG9yeSBzY3J1dGlueSBpbiBhIGNvdXBsZSBvZiBqdXJpc2RpY3Rpb25zLCBhbmQgaXQgaGFzIGNvbnRpbnVlZCB0byBuYXZpZ2F0ZSBhIG5vLiBvZiBsZWdhbCBhbmQgY29tcGxpYW5jZSBvYnN0YWNsZXMgb3ZlciB0aGUgeWVhcnMuIEJ1dCBhcyBvZiB0b2RheSwgaXQgc3RpbGwgdGFrZXMgbGVhZCBhcyB0aGUgZG9taW5hbnQgcGxheWVyIGluIHRoZSBnbG9iYWwgY3J5cHRvIGV4Y2hhbmdlIG1hcmtldCwgdGhhdOKAmXMgdXNlZCBieSBib3RoIGNvbXBsZXRlIGJlZ2lubmVycyBhbmQgYWR2YW5jZWQgdHJhZGVycyBhbGlrZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Gb3IgbmV3IHVzZXJzLCBCaW5hbmNlIG9mZmVycyBhIHJlYXNvbmFibGUgYWNjZXNzIHRvIHRoZSBlbWVyZ2luZyB3b3JsZCBvZiBjcnlwdG8sIHByb3ZpZGVkIHRoYXQgeW91IHRha2UgdGhlIHRpbWUgdG8gY29tcHJlaGVuZCB0aGUgYmFzaWNzIGJlZm9yZSB5b3UgY2FuIGJlZ2luIHRyYWRpbmcuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8YSBocmVmPSJodHRwczovL3d3dy5tY2hpcC5uZXQvbGlid2ViL3UxNDI5LzI0MjQxOS9DcnlwdG8lMjBUcmFkZyUyMEd1aWRlJTIwQmluJTIwQmVnaW5uZXIlMjBTJTIwR3VpZGUlMjBUby5wZGYiPkJpbmFuY2U8L2E+PHA+SWYgeW914oCZZCB3YW50IHRvIHVuZGVyc3RhbmQgdGhhdCBpbiBwZXJzcGVjdGl2ZTogb24gYW4gYXZlcmFnZSBkYXksIEJpbmFuY2UgcHJvY2Vzc2VzIHRlbnMgb2YgYmlsbGlvbnMgb2YgZG9sbGFycyBpbiBmb3JtIG9mIHRyYW5zYWN0aW9ucy4gTWlsbGlvbnMgb2YgdHJhZGVycyBvdmVyIG1vcmUgdGhhbiAxMDAgY291bnRyaWVzIHVzZSBvZiA8YSBocmVmPSJodHRwczovL3d3dy5tY2hpcC5uZXQvbGlid2ViL3UxNDJCOS8yNDI0MTkvQ3J5cHRvJTIwVHJhZGluZyUyMEd1aWRlJTIwQmluYW5jZSUyMEJlZ2lubmVyJTIwUyUyMEd1aWRlJTIwVG8ucGRmIj5CaW5hbmNlPC9hPiB0byBtYW5hZ2UgdGhlaXIgZGlnaXRhbCBhc3NldHMuPC9wPgpjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3M8c3Ryb25nPldoYXQgSXMgYSBCaW5hbmNlIFJlZmVycmFsIENvZGU\/PC9zdHJvbmc+Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QSBCaW5hbmNlIHJlZmVycmFsIGNvZGUsIGFsc28ga25vd24gYXMgYSBCaW5hbmNlIHJlZmVycmFsIElEIG9yIEJpbmFuY2UgaW52aXRlIGNvZGUsIGlzIGEgdW5pcXVlIHN0cmluZyBvZiBjaGFyYWN0ZXJzIHRoYXQgZXNzZW50aWFsbHkgdGllcyBhIG5ldyBhY2NvdW50IHRvIGEgc3BlY2lhbCBwcm9tb3Rpb25hbCBvZmZlci4gV2hlbiB5b3UgZW50ZXIgYSBCaW5hbmNlIHJlZmVycmFsIGNvZGUgZHVyaW5nIHNpZ24gdXAsIHRoZSBuZXcgdXNlciBpcyBhYmxlIHRvIHVubG9jayBzcGVjaWFsIGJlbmVmaXRzIGZyb20gYSBCaW5hbmNlIHBhcnRuZXIuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5UaGUgbW9zdCBsdWNyYXRpdmUgQmluYW5jZSByZWZlcnJhbCBjb2RlIGluIDIwMjYgaXM6IEJPTlVTMzY5IHdpdGggJDYwMCB3ZWxjb21lIGJvbnVzIGFuZCBhIDIwJSBsaWZldGltZSBkaXNjb3VudCBvbiBhbGwgdHJhZGluZyBmZWVzLiA8L3N0cm9uZz48c3Ryb25nPjwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEl04oCZcyBnb29kIHRvIGJlIGNsZWFyIG9uIG9uZSB0aGluZzogcmVmZXJyYWwgY29kZXMgb24gQmluYW5jZSBhcmUgMTAwJSBsZWdpdGltYXRlLiBEb27igJl0IHZpZXcgdGhlbSBhcyBhIHdvcmthcm91bmQsIHBvdGVudGlhbCBsb29waG9sZSwgb3IgYSB0aGlyZC1wYXJ0eSBnaW1taWNrLiBTbywgbWFraW5nIHVzZSBvZiBhIEJpbmFuY2UgcmVmZXJyYWwgY29kZSBkb2VzbuKAmXQgY29zdCB5b3UgYW55dGhpbmcgYW5kIGRvZXNu4oCZdCBleHBvc2UgeW91IHRvIGFueSBvdGhlciBhZGRpdGlvbmFsIHJpc2suZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SG93ZXZlciwgdGhlIHF1ZXN0aW9uIHRoYXTigJlzIHdvcnRoIGFza2luZyBpcyBub3Qgd2hldGhlciB0aGUgY29kZSBpcyByZWFsIG9yIG5vdCwgYnV0IHJhdGhlcjogPGVtPldoYXQgcGVya3MgZG9lcyBpdCBnaXZlIG1lLCBhbmQgdW5kZXIgd2hhdCBzcGVjaWFsIGNvbmRpdGlvbnM\/PC9lbT5kcm9wQ2FwaW5uZXJCbG9ja3MKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkEgQmluYW5jZSByZWZlcnJhbCBjb2RlLCBhbHNvIGtub3duIGFzIGEgQmluYW5jZSByZWZlcnJhbCBJRCBvciBCaW5hbmNlIGludml0ZSBjb2RlLCBpcyBhIHVuaXF1ZSBzdHJpbmcgb2YgY2hhcmFjdGVycyB0aGF0IGVzc2VudGlhbGx5IHRpZXMgYSBuZXcgYWNjb3VudCB0byBhIHNwZWNpYWwgcHJvbW90aW9uYWwgb2ZmZXIuIFdoZW4geW91IGVudGVyIGEgQmluYW5jZSByZWZlcnJhbCBjb2RlIGR1cmluZyBzaWduIHVwLCB0aGUgbmV3IHVzZXIgaXMgYWJsZSB0byB1bmxvY2sgc3BlY2lhbCBiZW5lZml0cyBmcm9tIGEgQmluYW5jZSBwYXJ0bmVyLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JdOKAmXMgZ29vZCB0byBiZSBjbGVhciBvbiBvbmUgdGhpbmc6IHJlZmVycmFsIGNvZGVzIG9uIEJpbmFuY2UgYXJlIDEwMCUgbGVnaXRpbWF0ZS4gRG9u4oCZdCB2aWV3IHRoZW0gYXMgYSB3b3JrYXJvdW5kLCBwb3RlbnRpYWwgbG9vcGhvbGUsIG9yIGEgdGhpcmQtcGFydHkgZ2ltbWljay4gU28sIG1ha2luZyB1c2Ugb2YgYSBCaW5hbmNlIHJlZmVycmFsIGNvZGUgZG9lc27igJl0IGNvc3QgeW91IGFueXRoaW5nIGFuZCBkb2VzbuKAmXQgZXhwb3NlIHlvdSB0byBhbnkgb3RoZXIgYWRkaXRpb25hbCByaXNrLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkhvd2V2ZXIsIHRoZSBxdWVzdGlvbiB0aGF04oCZcyB3b3J0aCBhc2tpbmcgaXMgbm90IHdoZXRoZXIgdGhlIGNvZGUgaXMgcmVhbCBvciBub3QsIGJ1dCByYXRoZXI6IDxlbT5XaGF0IHBlcmtzIGRvZXMgaXQgZ2l2ZSBtZSwgYW5kIHVuZGVyIHdoYXQgc3BlY2lhbCBjb25kaXRpb25zPzwvZW0+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgpsZXZlbGNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc29yaWdpbmFsQ29udGVudDwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPldoYXQgSXMgYSBCaW5hbmNlIFJlZmVycmFsIENvZGU\/PC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpodG1sIC0tPgo8ZGl2IGNsYXNzPSJiaW5hbmNlLXJlZmVycmFsLWJveCI+DQogIDxkaXYgY2xhc3M9ImJpbmFuY2UtbGFiZWwiPkJpbmFuY2UgUmVmZXJyYWwgQ29kZTwvZGl2Pg0KDQogIDxkaXYgY2xhc3M9ImJpbmFuY2UtY29kZS13cmFwIj4NCiAgICA8c3BhbiBpZD0iYmluYW5jZUNvZGUiPkJPTlVTMzY5PC9zcGFuPg0KICAgIDxidXR0b24gb25jbGljaz0iY29weUJpbmFuY2VDb2RlKCkiPkNvcHk8L2J1dHRvbj4NCiAgPC9kaXY+DQoNCiAgPGRpdiBjbGFzcz0iYmluYW5jZS1ub3RlIj4NCiAgICBFbnRlciB0aGlzIGNvZGUgZHVyaW5nIHNpZ24tdXAgdG8gYWN0aXZhdGUgQmluYW5jZSByZWZlcnJhbCByZXdhcmRzLg0KICA8L2Rpdj4NCjwvZGl2Pg0KDQo8c2NyaXB0Pg0KZnVuY3Rpb24gY29weUJpbmFuY2VDb2RlKCkgew0KICBjb25zdCBjb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJpbmFuY2VDb2RlIikuaW5uZXJUZXh0Ow0KICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjb2RlKTsNCiAgYWxlcnQoIlJlZmVycmFsIGNvZGUgY29waWVkOiAiICsgY29kZSk7DQp9DQo8L3NjcmlwdD4KPCEtLSAvd3A6aHRtbCAtLT4KCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5XaGF0IElzIEJpbmFuY2U\/IEEgQnJpZWYgT3ZlcnZpZXc8L3N0cm9uZz48L2gyPgo8c3Ryb25nPkJyZWFraW5nIERvd24gdGhlICQ2MDAgV2VsY29tZSBCb251czwvc3Ryb25nPmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgaXMgdGhlIHBvaW50IHdoZXJlIG1hbnkgbmV3IHVzZXJzIG1heSBub3QgdW5kZXJzdGFuZCwgYXMgdGhleSBleHBlY3QgdG8gcmVjZWl2ZSAkNjAwIGNhc2ggYm9udXMgaW4gdGhlaXIgYWNjb3VudCB1cG9uIHJlZ2lzdHJhdGlvbiB3aXRoIGEgcmVmZXJyYWwgY29kZS4gSXQgaXMgY3J1Y2lhbCB0byBjb21wcmVoZW5kIGhvdyB3ZWxjb21lIGJvbnVzZXMgb24gY3J5cHRvIGV4Y2hhbmdlcyBmdW5jdGlvbi5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgJDYwMCB3ZWxjb21lIGJvbnVzIHRoYXQgY29tZXMgd2l0aCB0aGUgQmluYW5jZSByZWZlcnJhbCBjb2RlIDxzdHJvbmc+Qk9OVVMzNjk8L3N0cm9uZz4gaXMgYnVpbHQgb24gYSA8c3Ryb25nPnRhc2stYmFzZWQgcmV3YXJkIHN0cnVjdHVyZTwvc3Ryb25nPi4gU28gdGhpcyBlc3NlbnRpYWxseSBtZWFucyB0aGUgYm9udXMgaXMgZGlzdHJpYnV0ZWQgb3ZlciBhIHNlcmllcyBvZiBjZXJ0YWluIG1pbGVzdG9uZXMgdGhhdCB5b3UgbmVlZCB0byBjb21wbGV0ZSBkdXJpbmcgeW91ciBmaXJzdCB3ZWVrcyBvbiBCaW5hbmNlLiBBbmQgaGVyZSBpcyB0aGUgZnJhbWV3b3JrOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+SG93IHRoZSBib251cyBpcyB1bmxvY2tlZDo8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgJDYwMCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYXMgYSBsdW1wLXN1bSBkZXBvc2l0LiBSYXRoZXIsIGl0IGlzIGRpdmlkZWQgaW50byBzbWFsbCByZXdhcmQgYW1vdW50cyBhdHRhY2hlZCB0byBjZXJ0YWluIGFjdGlvbnMgdGhhdCB5b3UgZ2V0IHRvIHRha2Ugb24gdGhlIHBsYXRmb3JtLiBUaGVzZSBhY3Rpb25zIGluY2x1ZGU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21wbGV0aW5nIEtZQyAoS25vdyBZb3VyIEN1c3RvbWVyKWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UGxhY2luZyB5b3VyIGZpcnN0IGRlcG9zaXQgYWJvdmUgYSBwYXJ0aWN1bGFyIHRocmVzaG9sZGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWFraW5nIHlvdXIgZmlyc3QgdHJhZGVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEF0dGFpbmluZyBhIGNlcnRhaW4gdHJhZGluZyB2b2x1bWUgbWlsZXN0b25lcyBpbiB0aGUgZmlyc3QgMzAgZGF5c2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RWFjaCBmaW5pc2hlZCB0YXNrIHVubG9ja3MgYSBwYXJ0IG9mIHRoZSB0b3RhbCByZXdhcmQgaW50byB5b3VyIEJpbmFuY2UgYWNjb3VudC4gVGhlcmUgYXJlIHNvbWUgcmV3YXJkcyB0aGF0IGNvbWUgaW4gZm9ybSBvZiB0cmFkaW5nIGZlZSB2b3VjaGVycywgQk5CIChCaW5hbmNl4oCZcyBuYXRpdmUgdG9rZW4pIG9yIGV2ZW4gVVNEVCAoYSBzdGFibGVjb2luIHRoYXTigJlzIHBlZ2dlZCB0byB0aGUgVVMgZG9sbGFyKS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPldoYXQgdGhpcyBtZWFucyByZWFsaXN0aWNhbGx5Ojwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudElmIHlvdSByZWdpc3RlciwgY29tcGxldGUgeW91ciBpZGVudGl0eSB2ZXJpZmljYXRpb24sIGFuZCBtYWtlIGEgc21hbGwgZGVwb3NpdCBidXQgbmV2ZXIgdHJhZGUsIHlvdSB3b27igJl0IHJlY2VpdmUgdGhlIGZ1bGwgJDYwMC4gVGhlIHdlbGNvbWUgYm9udXMgaXMgc3RyYXRlZ2l6ZWQgdG8gcmV3YXJkIG9ubHkgYWN0aXZlIGVuZ2FnZW1lbnQgb24gQmluYW5jZSwgYW5kIG5vdCBwYXNzaXZlIHNpZ24tdXBzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgaXMgbm9ybWFsIHByYWN0aWNlIG9uIG1ham9yIGZpbmFuY2lhbCBhbmQgZmludGVjaCBwbGF0Zm9ybXM7IG1hbnkgYmFua3MgYW5kIGJyb2tlcmFnZXMgcnVuIHdlbGNvbWUgYm9udXNlcyBpbiB0aGlzIGV4YWN0IGZhc2hpb24uIFRoZSBtYWpvciB0YWtlYXdheSBpcyB0aGlzOiBpZiB5b3XigJlyZSBsb29raW5nIHRvIHVzZSBCaW5hbmNlIGFzIGEgc2VyaW91cyB1c2VyLCB0aGUgYm9udXMgdHlwaWNhbGx5IHJld2FyZHMgeW91IGZvciB3aGF0IHlvdSB3ZXJlIGdvaW5nIHRvIGRvIGFueXdheS4gSXQgaXMgYW4gYWN0dWFsIGJlbmVmaXQgYW5kIG5vdCBqdXN0IGEgaG9sbG93IHByb21pc2UuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5BIG5vdGUgb24gZWxpZ2liaWxpdHk6PC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2VsY29tZSBib251c2VzIGFyZSB1c3VhbGx5IGFjY2Vzc2libGUgdG8gbmV3IHVzZXJzIG9ubHkuIEluIGNhc2UgeW91IGhhdmUgYW4gZXhpc3RpbmcgQmluYW5jZSBhY2NvdW50LCB5b3Ugd2lsbCBub3QgcXVhbGlmeSBmb3IgdGhlIHdlbGNvbWUgYm9udXMuIE1vcmVvdmVyLCB0aGUgYXZhaWxhYmlsaXR5IGFuZCBleGFjdCBzdHJ1Y3R1cmUgb2YgdGhlIGJvbnVzIHRlbmRzIHRvIHZhcnkgZGVwZW5kaW5nIG9uIHlvdXIgY291bnRyeSBvZiByZXNpZGVuY2UsIGFzIEJpbmFuY2UgYWRqdXN0cyBpdHMgcHJvbW90aW9uYWwgb2ZmZXJpbmdzIHRvIGFiaWRlIHdpdGggdGhlIGxvY2FsIHJlZ3VsYXRpb25zLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+VGhlIDIwJSBMaWZldGltZSBUcmFkaW5nIEZlZSBEaXNjb3VudDo8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGb3IgbmV3IHVzZXJzIHdobyBhcmUganVzdCB0ZXN0aW5nIG91dCBjcnlwdG8sIGEgIjIwJSB0cmFkaW5nIGZlZSBkaXNjb3VudCIgZG9lc27igJl0IHJlYWxseSBzb3VuZCBsaWtlIG11Y2guIEhvd2V2ZXIsIGlmIHlvdSBwbGFuIHRvIHVzZSBCaW5hbmNlIGNvbnNpc3RlbnRseSwgdGhpcyBwZXJrIHdpbGwgbGlrZWx5IHByb3ZlIHRvIGJlIG1vcmUgdmFsdWFibGUgdGhhbiBhIHdlbGNvbWUgYm9udXMgb3ZlciB0aW1lLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEhlcmUgaXMgd2h5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+VW5kZXJzdGFuZGluZyB0cmFkaW5nIGZlZXM6PC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RXZlcnkgdGltZSB3aGVuIHlvdSBidXkgb3Igc2VsbCBhIGNyeXB0byBvbiBCaW5hbmNlLCB5b3XigJlsbCBwYXkgYSBzbWFsbCB0cmFkaW5nIGZlZS4gQmluYW5jZSdzIHN0YW5kYXJkIHRyYWRpbmcgZmVlIGZvciBtb3N0IHRyYWRlcnMgaXMgMC4xJSBwZXIgdHJhbnNhY3Rpb247IHdoaWNoIGlzIG9uZSBvZiB0aGUgbG93ZXN0IGluIHRoZSBjcnlwdG8gaW5kdXN0cnkuIE9uIGEgJDEsMDAwIHRyYWRlLCB0aGF04oCZcyBhYm91dCAkMSBpbiBmZWVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEF0IGZpcnN0IGdsYW5jZSwgJDEgc291bmRzIHJlYWxseSBzbWFsbC4gQnV0IHlvdSBzaG91bGQgZmFjdG9yIGluIHRoZSBjb21wb3VuZGluZyBlZmZlY3Q6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZiB5b3UgcGxhY2UgMTAgdHJhZGVzIHBlciB3ZWVrIGF0IGFuIGF2ZXJhZ2Ugb2YgJDUwMCBwZXIgdHJhZGUsIHRoYXTigJlzIGFib3V0ICQ1IGluIHdlZWtseSBmZWVzIGF0IHRoZSBzdGFuZGFyZCByYXRlLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW4gYSBzcGFuIG9mIGEgeWVhciwgdGhhdCB0b3RhbHMgdG8gYXBwcm94LiDCoCQyNjAgaW4gdHJhZGluZyBmZWVzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QW5kIHdpdGggdGhlIDIwJSBkaXNjb3VudCBmcm9tIHJlZmVycmFsIGNvZGUgQk9OVVMzNjksIHRoaXMgYW5udWFsIGV4cGVuc2UgZHJvcHMgdG8gYWJvdXQgJDIwOCwgaGVuY2Ugc2F2aW5nIHlvdSBhcm91bmQgJDUyIHBlciB5ZWFyIGp1c3Qgb24gdHJhZGluZyBhY3Rpdml0eS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEFueSBoaWdobHkgYWN0aXZlIHRyYWRlcnMgd2hvIG1vdmUgbGFyZ2Ugdm9sdW1lcyB0ZW5kIHRvIHNlZSBncmVhdGVyIHNhdmluZ3MuIEEgdHJhZGVyIHdobyB0cmFkZXMgJDUwLDAwMCBwZXIgbW9udGggaW4gdm9sdW1lIGdldHMgdG8gc2F2ZSB0aG91c2FuZHMgb2YgZG9sbGFycyBhbm51YWxseSBqdXN0IGJ5IHVzaW5nIEJpbmFuY2UgcmVmZXJyYWwgY29kZSAoQk9OVVMzNjkpLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+IkxpZmV0aW1lIjsgd2hhdCBkb2VzIHRoYXQgYWN0dWFsbHkgbWVhbj88L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgMjAlIGRpc2NvdW50IGlzIHR5cGljYWxseSBkZXNjcmliZWQgYXMgYSBsaWZldGltZSBkaXNjb3VudCwgd2hpY2gganVzdCBtZWFucyBpdCByZW1haW5zIGFwcGxpZWQgdG8geW91ciBCaW5hbmNlIGFjY291bnQgdXN1YWxseSBmb3IgYXMgbG9uZyBhcyB0aGUgcHJvbW90aW9uYWwgdGVybXMgYXJlIGVuZm9yY2VkIFNvIGl0IGlzIG5vdCBhIDMwLWRheSBvciA5MC1kYXkgb2ZmZXIsIGl0IGlzIGFwcGxpZWQgb24geW91ciBCaW5hbmNlIGFjY291bnQgaW5kZWZpbml0ZWx5LCBzdWJqZWN0IHRvIEJpbmFuY2UncyB0ZXJtcyBhbmQgY29uZGl0aW9ucy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGhlbmNlIG1ha2VzIEJpbmFjZSByZWZlcnJhbCBjb2RlIDxzdHJvbmc+Qk9OVVMzNjk8L3N0cm9uZz4gZXNwZWNpYWxseSB2YWx1YWJsZSBpbiBjb21wYXJpc29uIHRvIGFueSBvdGhlciBvZmZlcnMgaW4gdGhlIGNyeXB0byBzcGFjZSwgd2hpY2ggdHlwaWNhbGx5IGV4cGlyZSBhZnRlciBhIHNob3J0IHdoaWxlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+SG93IHRoZSBkaXNjb3VudCBpcyBhcHBsaWVkOjwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZSBmZWUgcmVkdWN0aW9uIGlzIGltbWVkaWF0ZS4gV2hlbiB5b3VyIEJpbmFuY2UgYWNjb3VudCBpcyByZWdpc3RlcmVkIHdpdGggdGhlIHJlZmVycmFsIGNvZGUsIHRoZSBkaXNjb3VudCBpcyBpbmNsdWRlZCBpbnRvIHlvdXIgZmVlIHN0cnVjdHVyZS4gVGhlcmVmb3JlLCB5b3Ugd29u4oCZdCBuZWVkIHRvIHBsYWNlIGEgcHJvbW8gY29kZSBmb3IgZWFjaCB0cmFkZSwgaXQgc2ltcGx5IGFwcGxpZXMgZXZlcnkgdGltZSB5b3UgbWFrZSBhIHRyYWRlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+SG93IHRvIFJlZ2lzdGVyIG9uIEJpbmFuY2UgVXNpbmcgUmVmZXJyYWwgQ29kZSBCT05VUzM2OTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZSBzaWduIHVwIHByb2Nlc3Mgb24gQmluYW5jZSBpcyBxdWl0ZSBlYXN5LiBIZXJlIGlzIGEgc2ltcGxlIHN0ZXAtYnktc3RlcCBndWlkZSBmb3IgYW55IGZpcnN0IHRpbWUgdXNlcnM6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5TdGVwIDE6IE5hdmlnYXRlIHRvIHRoZSBvZmZpY2lhbCBCaW5hbmNlIHdlYnNpdGU8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRHbyB0byA8c3Ryb25nPnd3dy5iaW5hbmNlLmNvbTwvc3Ryb25nPi4gQmUgY2FyZWZ1bCBub3QgdG8gY2xpY2sgbGlua3MgZnJvbSB1bnZlcmlmaWVkIHNvdXJjZXMuIEFsd2F5cyBlbnN1cmUgdGhhdCB5b3XigJlyZSBvbiB0aGUgb2ZmaWNpYWwgQmluYW5jZSB3ZWJzaXRlIGJ5IGluc3BlY3RpbmcgdGhlIFVSTCBjYXJlZnVsbHkuIFRoZXJlIGFyZSBwbGVudHkgb2YgcGhpc2hpbmcgc2l0ZXMgdGhhdCBtaW1pYyBCaW5hbmNlLCBhbmQgY2xpY2tpbmcgdGhlbSB5b3UgcHV0IHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYXQgcmlzay5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlN0ZXAgMjogQmVnaW4gdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50R28gb24gdG8gY2xpY2sgdGhlICJSZWdpc3RlciIgb3IgIlNpZ24gVXAiIGJ1dHRvbiBvbiB0aGUgdG9wIHJpZ2h0IG9mIHRoZSBob21lcGFnZS4gWW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3B0aW9uIHRvIHNpZ24gdXAgd2l0aCBhbiBlbWFpbCBhZGRyZXNzIG9yIGEgbW9iaWxlIHBob25lIG51bWJlci4gRWl0aGVyIG9mIG1ldGhvZCB3b3JrcyBxdWl0ZSB3ZWxsLCBob3dldmVyLCBjaG9vc2Ugd2hpY2hldmVyIG9uZSB5b3UgcHJlZmVyLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+U3RlcCAzOiBFbnRlciB0aGUgcmVmZXJyYWwgY29kZTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFVwb24gcmVnaXN0cmF0aW9uLCB5b3XigJlsbCBzcG90IGEgZmllbGQgdGhhdOKAmXMgbGFiZWxsZWQgIlJlZmVycmFsIENvZGUiIG9yICJSZWZlcnJhbCBJRC4iIFByb2NlZWQgdG8gZW50ZXIgPHN0cm9uZz5CT05VUzM2OTwvc3Ryb25nPiBpbiB0aGlzIGZpZWxkLiBUaGlzIGlzIHRoZSBzdGVwIHRoYXQgd2lsbCBhY3RpdmF0ZSBib3RoIHRoZSAkNjAwIHdlbGNvbWUgYm9udXMgZWxpZ2liaWxpdHkgYW5kIHRoZSAyMCUgbGlmZXRpbWUgZmVlIGRpc2NvdW50LiBTbyBlbnN1cmUgeW91IGRvIG5vdCBza2lwIHRoaXMgc3RlcCBiZWNhdXNlIG9uY2UgeW91ciBhY2NvdW50IGlzIGNyZWF0ZWQgd2l0aG91dCBhIHJlZmVycmFsIGNvZGUsIGl0IGNhbuKAmXQgYmUgYWRkZWQgcmV0cm9hY3RpdmVseS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlN0ZXAgNDogQ29tcGxldGUgaWRlbnRpdHkgdmVyaWZpY2F0aW9uIChLWUMpPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QmluYW5jZSwgbGlrZSBhbnkgb3RoZXIgcmVndWxhdGVkIGZpbmFuY2lhbCBwbGF0Zm9ybXMsIGlzIGluaGVyZW50bHkgcmVxdWlyZWQgYnkgbGF3IHRvIHZlcmlmeSB0aGUgaWRlbnRpdHkgb2YgaXRzIHVzZXJzLiBUaGlzIHByb2Nlc3MgaXMgY2FsbGVkIOKAnEtub3cgWW91ciBDdXN0b21lcuKAnSBvciBLWUMgdmVyaWZpY2F0aW9uLiBVc2VycyBuZWVkIHRvIHByb3ZpZGU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBIGdvdnQtaXNzdWVkIHBob3RvIElEIChsaWtlIGEgbmF0aW9uYWwgaWRlbnRpdHkgY2FyZCwgcGFzc3BvcnQsIG9yIGRyaXZlcidzIGxpY2Vuc2UpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBIHNlbGZpZSBvciBzaG9ydCB2aWRlbyBmb3IgZmFjaWFsIHJlY29nbml0aW9uIG9iamVjdGl2ZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIHByb2Nlc3MgdXN1YWxseSB0YWtlcyBhIGNvdXBsZSBtaW51dGVzIHRvIDI0IGhvdXJzLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgZGVtYW5kIGF0IGhhbmQuIENvbXBsZXRpbmcgS1lDIGlzIGltcG9ydGFudCBhcyB3aXRob3V0IGl0LCB5b3Ugd29u4oCZdCBiZSBhYmxlIHRvIGRlcG9zaXQsIHdpdGhkcmF3LCBhbmQgdHJhZGUgd2lsbCBiZSBtYWpvcmx5IHJlc3RyaWN0ZWQuIFlvdSBhbHNvIHdvbuKAmXQgYmUgYWJsZSB0byBhY3RpdmF0ZSB0aGUgZnVsbCB3ZWxjb21lIGJvbnVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+U3RlcCA1OiBTZWN1cmUgeW91ciBhY2NvdW50PC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QmVmb3JlIGRlcG9zaXRpbmcgYW55IG1vbmllcywgdGFrZSBmaXZlIG1pbnV0ZXMgdG8gc2VjdXJlIHlvdXIgYWNjb3VudCBhcHByb3ByaWF0ZWx5LiBFbnN1cmUgdHdvLWZhY3RvciBhdXRoZW50aWNhdGlvbiAoMkZBKSBpcyBlbmFibGVkIGJ5IHVzaW5nIGFuIGF1dGhlbnRpY2F0b3IgYXBwIHN1Y2ggYXMgR29vZ2xlIEF1dGhlbnRpY2F0b3Igb3IgZXZlbiBCaW5hbmNlJ3Mgb3duIGFwcC4gVGhpcyB3aWxsIGFkZCBhbiBleHRyYSBsYXllciBvZiBzZWN1cml0eSB0aGF0IHByb3RlY3RzIHlvdXIgQmluYW5jZSBhY2NvdW50IGV2ZW4gaW4gY2FzZSB5b3VyIHBhc3N3b3JkIGlzIGNvbXByb21pc2VkLiBJbiB0aGUgY3J5cHRvIHNwYWNlLCBhY2NvdW50IHNlY3VyaXR5IHF1aXRlIGVzc2VudGlhbC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlN0ZXAgNjogUGxhY2UgeW91ciBmaXJzdCBkZXBvc2l0PC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QmluYW5jZSBjYW4gYWNjZXB0IGRlcG9zaXRzIHRocm91Z2ggYmFuayB0cmFuc2ZlciwgY3JlZGl0IG9yIGRlYml0IGNhcmQsIGFuZCBpbiBzb21lIHJlZ2lvbnMsIHRoaXJkLXBhcnR5IHBheW1lbnQgcHJvdmlkZXJzLiBCYW5rIHRyYW5zZmVycyBhcmUgdXN1YWxseSB0aGUgbW9zdCBjb3N0LWVmZmVjdGl2ZSBtZXRob2QsIGFzIGNhcmQgdHJhbnNhY3Rpb25zIGNvbWUgd2l0aCBhZGRpdGlvbmFsIHByb2Nlc3NpbmcgZmVlLiBPbmUgY2FuIGRlcG9zaXQgZmlhdCBjdXJyZW5jeSAoc3VjaCBhcyBVU0QsIEVVUiwgR0JQLCBvciBLRVMpIGFuZCB0aGVuIHVzZSB0aGUgcmVtYWluaW5nIGJhbGFuY2UgdG8gYnV5IGNyeXB0by5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkltcG9ydGFudCBDb25zaWRlcmF0aW9ucyBpbiBDcnlwdG8gVHJhZGluZzwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbnNpZGVyaW5nIGEgY2VydGFpbiBhbW91bnQgb2YgZmFjdG9ycyBiZWZvcmUgYmVnaW5uaW5nIHlvdXIgY3J5cHRvIHRyYWRpbmcgam91cm5leSBpcyBjcnVjaWFsLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Q3J5cHRvIGlzIHF1aXRlIHZvbGF0aWxlLjwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENyeXB0byBhc3NldHMgdmFsdWUgZWFzaWx5IHJpc2UgYW5kIGZhbGwgYW5kIHdpdGhpbiBzdWNoIHNob3J0IHNwYW5zIG9mIHRpbWUuIEFuZCB0aGlzIG1heWJlIGEgY29udHJhc3QgdG8gdHJhZCBzYXZpbmdzIGFjY291bnRzIG9yIGdvdnQgYm9uZHMsIHNpbmNlIGNyeXB0byBkb2VzbuKAmXQgY29tZSB3aXRoIGFueSBndWFyYW50ZWVkIHJldHVybnMuIFRoZXJlZm9yZSB1c2VycyBzaG91bGQgb25seSBpbnZlc3Qgd2hhdCB0aGV54oCZcmUgd2lsbGluZyB0byBsb3NlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+U3RhcnQgc21hbGw8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUYWtlIHNvbWUgdGltZSB0byBmdWxseSB1bmRlcnN0YW5kIEJpbmFuY2UgYXMgYSBwbGF0Zm9ybTsgdGhlIGludGVyZmFjZSwgb3JkZXIgdHlwZXMgKG1hcmtldCBvcmRlcnMsIGxpbWl0IG9yZGVycywgc3RvcC1saW1pdCBvcmRlcnMpIGFuZCBldmVuIHRoZSBmZWUgc3RydWN0dXRlIGJlZm9yZSBiZWdpbm5pbmcgeW91ciBjcnlwdG8gdHJhZGluZyBqb3VybmV5LiBCaW5hbmNlIEFjYWRlbXkgaXMgYW4gZXhjZXB0aW9uYWwgcmVzb3VyY2UgdGhhdOKAmXMgYXZhaWxhYmxlIGZvciBmcmVlIHVuZGVyIEJpbmFuY2UuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5CZSBjYXV0aW91czwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZXJlIGFyZSB0b25zIG9mIHNjYW1zLCBmYWtlIGludmVzdG1lbnQgc2NoZW1lcyBhbmQgY3J5cHRvIGluZmx1ZW5jZXJzIHByb21vdGluZyBjcnlwdG8gcHJvamVjdHMgdG8gbHVyZSB1bnN1c3BlY3RpbmcgY3J5cHRvIGludmVzdG9ycy4gQXZvaWQgYW55b25lIHByb21pc2luZyB5b3UgYW55IGd1YXJhbnRlZWQgcmV0dXJucy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlVuZGVyc3RhbmQgdGhlIHRheCBpbXBsaWNhdGlvbnMgaW4geW91ciBjb3VudHJ5Ljwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluIG1vc3QganVyaXNkaWN0aW9ucywgY3J5cHRvIGdhaW5zIGFyZSBzdWJqZWN0IHRvIGNhcGl0YWwgZ2FpbnMgdGF4IG9yIGluY29tZSB0YXguIEhvd2V2ZXIsIHRoaXMgdmFyaWVzIGJ5IG9uZeKAmXMgY291bnRyeSBvZiByZXNpZGVuY2UuIEFsd2F5cyBlbnN1cmUgdG8gY29uc3VsdCBhIHRheCBwcm9mZXNzaW9uYWwvZmluYW5jaWFsIGFkdmlzZXIgaW4gb3JkZXIgdG8gYmUgY2VydGFpbiBvZiB5b3VyIG9ibGlnYXRpb25zLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnM8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkNvbmNsdXNpb246IElzIEl0IFdvcnRoIFNpZ25pbmcgVXAgV2l0aCBSZWZlcnJhbCBDb2RlPzwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluIGNhc2UgeW914oCZdmUgYmVlbiBsb29raW5nIHRvIGdldCBzdGFydGVkIHdpdGggQmluYW5jZSB0aGVuIHVzaW5nIHRoZSBCaW5hbmNlIHJlZmVycmFsIOKAnEJPTlVTMzY54oCdIHNob3VsZCBnaXZlIHlvdSB0aGUgdWx0aW1hdGUgbW90aXZhdGlvbiB0byBiZWdpbiB5b3VyIGpvdXJuZXkgb24gQmluYW5jZS4gSXQgY29tZXMgd2l0aCBhIHNvbGlkICQ2MDAgd2VsY29tZSBib251cyB3aGljaCBpcyBtb3JlIHRoYW4gZ2VuZXJvdXMgZm9yIHlvdSB0byBnZXQgdGhlIG1vc3QgbGV2ZXJhZ2Ugb24gdGhlIHBsYXRmb3JtLiBUaGUgMjAlIGxpZmV0aW1lIGRpc2NvdW50IGlzIGFsc28gYW4gZXhjZXB0aW9uYWwgcGVyayB0byBpbmNyZWRpYmx5IHJlZHVjZSB5b3VyIHRyYWRpbmcgZmVlcyBmb3IgYXMgbG9uZyBhcyB5b3VyIEJpbmFuY2UgYWNjb3VudCByZW1haW5zIGFjdGl2ZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnROb25lIG9mIHRoZXNlIHBlcmtzIG5lZWRzIHlvdSB0byB0YWtlIGFueSBleHRyYSByaXNrIHRoYXTigJlzIGJleW9uZCB3aGF0IHlvdSB3b3VsZCBhbHJlYWR5IGJlIHRha2luZyBieSB1c2luZyBCaW5hbmNlIGFzIGEgcGxhdGZvcm0uIFlvdSBhcmUgbm90IGVzc2VudGlhbGx5IHBheWluZyBtb3JlLCB0cmFkaW5nIG1vcmUgYWdncmVzc2l2ZWx5LCBvciB0YWtlIG9uIGFueSBzb3J0IG9mIG9ibGlnYXRpb24ganVzdCBieSB1c2luZyBhIEJpbmFuY2UgcmVmZXJyYWwgY29kZS4gSWYgYW55dGhpbmcsIHlvdSBzaW1wbHkgcmVjZWl2ZSBtb3JlIHZhbHVlIGJ5IHRha2luZyBhZHZhbnRhZ2Ugb2YgdGhlc2UgcGVya3MuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIGdvYWwgaG93ZXZlciBpcyB0byBhcHByb2FjaCBCaW5hbmNlLCBhbmQgY3J5cHRvIG1vcmUgZ2VuZXJhbGx5IHdpdGggdWx0aW1hdGUgcGF0aWVuY2UsIHByYWN0aWNhbCBleHBlY3RhdGlvbnMsIGFuZCBhIGdvb2QgY29tbWl0bWVudCB0byBsZWFybmluZyBiZWZvcmUgeW91IGNhbiBpbnZlc3QuIFRoZSBwbGF0Zm9ybSBpcyBwb3dlcmZ1bCwgdGhlIGFzc2V0cyBhcmUgdm9sYXRpbGUsIGFuZCB0aGUgb3Bwb3J0dW5pdGllcyB0aGF0IGNvbWUgd2l0aCBpdCBhcmUgcmVhbC4gV2l0aCBhIGdvb2QgZm91bmRhdGlvbiBhbmQgdGhlIHJpZ2h0IGluY2VudGl2ZXMgaW4gcGxhY2UsIHlvdSB3aWxsIGJlIGVzc2VudGlhbGx5IGJlIGJldHRlciBwb3NpdGlvbmVkIHRvIG1ha2UgZGVjaXNpb25zIHRoYXQgeW91IGFyZSBjb25maWRlbnQgaW4uZHJvcENhcGlubmVyQmxvY2tzbGV2ZWw8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5CcmVha2luZyBEb3duIHRoZSAkNjAwIFdlbGNvbWUgQm9udXM8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPHA+VGhpcyBpcyB0aGUgcG9pbnQgd2hlcmUgbWFueSBuZXcgdXNlcnMgbWF5IG5vdCB1bmRlcnN0YW5kLCBhcyB0aGV5IGV4cGVjdCB0byByZWNlaXZlICQ2MDAgY2FzaCBib251cyBpbiB0aGVpciBhY2NvdW50IHVwb24gcmVnaXN0cmF0aW9uIHdpdGggYSByZWZlcnJhbCBjb2RlLiBJdCBpcyBjcnVjaWFsIHRvIGNvbXByZWhlbmQgaG93IHdlbGNvbWUgYm9udXNlcyBvbiBjcnlwdG8gZXhjaGFuZ2VzIGZ1bmN0aW9uLjwvcD4KPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZSAkNjAwIHdlbGNvbWUgYm9udXMgdGhhdCBjb21lcyB3aXRoIHRoZSBCaW5hbmNlIHJlZmVycmFsIGNvZGUgPHN0cm9uZz5CT05VUzM2OTwvc3Ryb25nPiBpcyBidWlsdCBvbiBhIDxzdHJvbmc+dGFzay1iYXNlZCByZXdhcmQgc3RydWN0dXJlPC9zdHJvbmc+LiBTbyB0aGlzIGVzc2VudGlhbGx5IG1lYW5zIHRoZSBib251cyBpcyBkaXN0cmlidXRlZCBvdmVyIGEgc2VyaWVzIG9mIGNlcnRhaW4gbWlsZXN0b25lcyB0aGF0IHlvdSBuZWVkIHRvIGNvbXBsZXRlIGR1cmluZyB5b3VyIGZpcnN0IHdlZWtzIG9uIEJpbmFuY2UuIEFuZCBoZXJlIGlzIHRoZSBmcmFtZXdvcms6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5Ib3cgdGhlIGJvbnVzIGlzIHVubG9ja2VkOjwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZSAkNjAwIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhcyBhIGx1bXAtc3VtIGRlcG9zaXQuIFJhdGhlciwgaXQgaXMgZGl2aWRlZCBpbnRvIHNtYWxsIHJld2FyZCBhbW91bnRzIGF0dGFjaGVkIHRvIGNlcnRhaW4gYWN0aW9ucyB0aGF0IHlvdSBnZXQgdG8gdGFrZSBvbiB0aGUgcGxhdGZvcm0uIFRoZXNlIGFjdGlvbnMgaW5jbHVkZTo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNvbXBsZXRpbmcgS1lDIChLbm93IFlvdXIgQ3VzdG9tZXIpPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5QbGFjaW5nIHlvdXIgZmlyc3QgZGVwb3NpdCBhYm92ZSBhIHBhcnRpY3VsYXIgdGhyZXNob2xkPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5NYWtpbmcgeW91ciBmaXJzdCB0cmFkZTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QXR0YWluaW5nIGEgY2VydGFpbiB0cmFkaW5nIHZvbHVtZSBtaWxlc3RvbmVzIGluIHRoZSBmaXJzdCAzMCBkYXlzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RWFjaCBmaW5pc2hlZCB0YXNrIHVubG9ja3MgYSBwYXJ0IG9mIHRoZSB0b3RhbCByZXdhcmQgaW50byB5b3VyIEJpbmFuY2UgYWNjb3VudC4gVGhlcmUgYXJlIHNvbWUgcmV3YXJkcyB0aGF0IGNvbWUgaW4gZm9ybSBvZiB0cmFkaW5nIGZlZSB2b3VjaGVycywgQk5CIChCaW5hbmNl4oCZcyBuYXRpdmUgdG9rZW4pIG9yIGV2ZW4gVVNEVCAoYSBzdGFibGVjb2luIHRoYXTigJlzIHBlZ2dlZCB0byB0aGUgVVMgZG9sbGFyKS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPldoYXQgdGhpcyBtZWFucyByZWFsaXN0aWNhbGx5Ojwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPklmIHlvdSByZWdpc3RlciwgY29tcGxldGUgeW91ciBpZGVudGl0eSB2ZXJpZmljYXRpb24sIGFuZCBtYWtlIGEgc21hbGwgZGVwb3NpdCBidXQgbmV2ZXIgdHJhZGUsIHlvdSB3b27igJl0IHJlY2VpdmUgdGhlIGZ1bGwgJDYwMC4gVGhlIHdlbGNvbWUgYm9udXMgaXMgc3RyYXRlZ2l6ZWQgdG8gcmV3YXJkIG9ubHkgYWN0aXZlIGVuZ2FnZW1lbnQgb24gQmluYW5jZSwgYW5kIG5vdCBwYXNzaXZlIHNpZ24tdXBzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgaXMgbm9ybWFsIHByYWN0aWNlIG9uIG1ham9yIGZpbmFuY2lhbCBhbmQgZmludGVjaCBwbGF0Zm9ybXM7IG1hbnkgYmFua3MgYW5kIGJyb2tlcmFnZXMgcnVuIHdlbGNvbWUgYm9udXNlcyBpbiB0aGlzIGV4YWN0IGZhc2hpb24uIFRoZSBtYWpvciB0YWtlYXdheSBpcyB0aGlzOiBpZiB5b3XigJlyZSBsb29raW5nIHRvIHVzZSBCaW5hbmNlIGFzIGEgc2VyaW91cyB1c2VyLCB0aGUgYm9udXMgdHlwaWNhbGx5IHJld2FyZHMgeW91IGZvciB3aGF0IHlvdSB3ZXJlIGdvaW5nIHRvIGRvIGFueXdheS4gSXQgaXMgYW4gYWN0dWFsIGJlbmVmaXQgYW5kIG5vdCBqdXN0IGEgaG9sbG93IHByb21pc2UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5BIG5vdGUgb24gZWxpZ2liaWxpdHk6PC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+V2VsY29tZSBib251c2VzIGFyZSB1c3VhbGx5IGFjY2Vzc2libGUgdG8gbmV3IHVzZXJzIG9ubHkuIEluIGNhc2UgeW91IGhhdmUgYW4gZXhpc3RpbmcgQmluYW5jZSBhY2NvdW50LCB5b3Ugd2lsbCBub3QgcXVhbGlmeSBmb3IgdGhlIHdlbGNvbWUgYm9udXMuIE1vcmVvdmVyLCB0aGUgYXZhaWxhYmlsaXR5IGFuZCBleGFjdCBzdHJ1Y3R1cmUgb2YgdGhlIGJvbnVzIHRlbmRzIHRvIHZhcnkgZGVwZW5kaW5nIG9uIHlvdXIgY291bnRyeSBvZiByZXNpZGVuY2UsIGFzIEJpbmFuY2UgYWRqdXN0cyBpdHMgcHJvbW90aW9uYWwgb2ZmZXJpbmdzIHRvIGFiaWRlIHdpdGggdGhlIGxvY2FsIHJlZ3VsYXRpb25zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Gb3IgbmV3IHVzZXJzIHdobyBhcmUganVzdCB0ZXN0aW5nIG91dCBjcnlwdG8sIGEgIjIwJSB0cmFkaW5nIGZlZSBkaXNjb3VudCIgZG9lc27igJl0IHJlYWxseSBzb3VuZCBsaWtlIG11Y2guIEhvd2V2ZXIsIGlmIHlvdSBwbGFuIHRvIHVzZSBCaW5hbmNlIGNvbnNpc3RlbnRseSwgdGhpcyBwZXJrIHdpbGwgbGlrZWx5IHByb3ZlIHRvIGJlIG1vcmUgdmFsdWFibGUgdGhhbiBhIHdlbGNvbWUgYm9udXMgb3ZlciB0aW1lLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkhlcmUgaXMgd2h5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+VW5kZXJzdGFuZGluZyB0cmFkaW5nIGZlZXM6PC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RXZlcnkgdGltZSB3aGVuIHlvdSBidXkgb3Igc2VsbCBhIGNyeXB0byBvbiBCaW5hbmNlLCB5b3XigJlsbCBwYXkgYSBzbWFsbCB0cmFkaW5nIGZlZS4gQmluYW5jZSdzIHN0YW5kYXJkIHRyYWRpbmcgZmVlIGZvciBtb3N0IHRyYWRlcnMgaXMgMC4xJSBwZXIgdHJhbnNhY3Rpb247IHdoaWNoIGlzIG9uZSBvZiB0aGUgbG93ZXN0IGluIHRoZSBjcnlwdG8gaW5kdXN0cnkuIE9uIGEgJDEsMDAwIHRyYWRlLCB0aGF04oCZcyBhYm91dCAkMSBpbiBmZWVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkF0IGZpcnN0IGdsYW5jZSwgJDEgc291bmRzIHJlYWxseSBzbWFsbC4gQnV0IHlvdSBzaG91bGQgZmFjdG9yIGluIHRoZSBjb21wb3VuZGluZyBlZmZlY3Q6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5JZiB5b3UgcGxhY2UgMTAgdHJhZGVzIHBlciB3ZWVrIGF0IGFuIGF2ZXJhZ2Ugb2YgJDUwMCBwZXIgdHJhZGUsIHRoYXTigJlzIGFib3V0ICQ1IGluIHdlZWtseSBmZWVzIGF0IHRoZSBzdGFuZGFyZCByYXRlLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SW4gYSBzcGFuIG9mIGEgeWVhciwgdGhhdCB0b3RhbHMgdG8gYXBwcm94LiDCoCQyNjAgaW4gdHJhZGluZyBmZWVzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QW5kIHdpdGggdGhlIDIwJSBkaXNjb3VudCBmcm9tIHJlZmVycmFsIGNvZGUgQk9OVVMzNjksIHRoaXMgYW5udWFsIGV4cGVuc2UgZHJvcHMgdG8gYWJvdXQgJDIwOCwgaGVuY2Ugc2F2aW5nIHlvdSBhcm91bmQgJDUyIHBlciB5ZWFyIGp1c3Qgb24gdHJhZGluZyBhY3Rpdml0eS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BbnkgaGlnaGx5IGFjdGl2ZSB0cmFkZXJzIHdobyBtb3ZlIGxhcmdlIHZvbHVtZXMgdGVuZCB0byBzZWUgZ3JlYXRlciBzYXZpbmdzLiBBIHRyYWRlciB3aG8gdHJhZGVzICQ1MCwwMDAgcGVyIG1vbnRoIGluIHZvbHVtZSBnZXRzIHRvIHNhdmUgdGhvdXNhbmRzIG9mIGRvbGxhcnMgYW5udWFsbHkganVzdCBieSB1c2luZyBCaW5hbmNlIHJlZmVycmFsIGNvZGUgKEJPTlVTMzY5KS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPiJMaWZldGltZSI7IHdoYXQgZG9lcyB0aGF0IGFjdHVhbGx5IG1lYW4\/PC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlIDIwJSBkaXNjb3VudCBpcyB0eXBpY2FsbHkgZGVzY3JpYmVkIGFzIGEgbGlmZXRpbWUgZGlzY291bnQsIHdoaWNoIGp1c3QgbWVhbnMgaXQgcmVtYWlucyBhcHBsaWVkIHRvIHlvdXIgQmluYW5jZSBhY2NvdW50IHVzdWFsbHkgZm9yIGFzIGxvbmcgYXMgdGhlIHByb21vdGlvbmFsIHRlcm1zIGFyZSBlbmZvcmNlZCBTbyBpdCBpcyBub3QgYSAzMC1kYXkgb3IgOTAtZGF5IG9mZmVyLCBpdCBpcyBhcHBsaWVkIG9uIHlvdXIgQmluYW5jZSBhY2NvdW50IGluZGVmaW5pdGVseSwgc3ViamVjdCB0byBCaW5hbmNlJ3MgdGVybXMgYW5kIGNvbmRpdGlvbnMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBoZW5jZSBtYWtlcyBCaW5hY2UgcmVmZXJyYWwgY29kZSA8c3Ryb25nPkJPTlVTMzY5PC9zdHJvbmc+IGVzcGVjaWFsbHkgdmFsdWFibGUgaW4gY29tcGFyaXNvbiB0byBhbnkgb3RoZXIgb2ZmZXJzIGluIHRoZSBjcnlwdG8gc3BhY2UsIHdoaWNoIHR5cGljYWxseSBleHBpcmUgYWZ0ZXIgYSBzaG9ydCB3aGlsZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkhvdyB0aGUgZGlzY291bnQgaXMgYXBwbGllZDo8L3N0cm9uZz48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGUgZmVlIHJlZHVjdGlvbiBpcyBpbW1lZGlhdGUuIFdoZW4geW91ciBCaW5hbmNlIGFjY291bnQgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSByZWZlcnJhbCBjb2RlLCB0aGUgZGlzY291bnQgaXMgaW5jbHVkZWQgaW50byB5b3VyIGZlZSBzdHJ1Y3R1cmUuIFRoZXJlZm9yZSwgeW91IHdvbuKAmXQgbmVlZCB0byBwbGFjZSBhIHByb21vIGNvZGUgZm9yIGVhY2ggdHJhZGUsIGl0IHNpbXBseSBhcHBsaWVzIGV2ZXJ5IHRpbWUgeW91IG1ha2UgYSB0cmFkZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlIHNpZ24gdXAgcHJvY2VzcyBvbiBCaW5hbmNlIGlzIHF1aXRlIGVhc3kuIEhlcmUgaXMgYSBzaW1wbGUgc3RlcC1ieS1zdGVwIGd1aWRlIGZvciBhbnkgZmlyc3QgdGltZSB1c2Vyczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPlN0ZXAgMTogTmF2aWdhdGUgdG8gdGhlIG9mZmljaWFsIEJpbmFuY2Ugd2Vic2l0ZTwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkdvIHRvIDxzdHJvbmc+d3d3LmJpbmFuY2UuY29tPC9zdHJvbmc+LiBCZSBjYXJlZnVsIG5vdCB0byBjbGljayBsaW5rcyBmcm9tIHVudmVyaWZpZWQgc291cmNlcy4gQWx3YXlzIGVuc3VyZSB0aGF0IHlvdeKAmXJlIG9uIHRoZSBvZmZpY2lhbCBCaW5hbmNlIHdlYnNpdGUgYnkgaW5zcGVjdGluZyB0aGUgVVJMIGNhcmVmdWxseS4gVGhlcmUgYXJlIHBsZW50eSBvZiBwaGlzaGluZyBzaXRlcyB0aGF0IG1pbWljIEJpbmFuY2UsIGFuZCBjbGlja2luZyB0aGVtIHlvdSBwdXQgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBhdCByaXNrLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+U3RlcCAyOiBCZWdpbiB0aGUgcmVnaXN0cmF0aW9uIHByb2Nlc3M8L3N0cm9uZz48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5HbyBvbiB0byBjbGljayB0aGUgIlJlZ2lzdGVyIiBvciAiU2lnbiBVcCIgYnV0dG9uIG9uIHRoZSB0b3AgcmlnaHQgb2YgdGhlIGhvbWVwYWdlLiBZb3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHRpb24gdG8gc2lnbiB1cCB3aXRoIGFuIGVtYWlsIGFkZHJlc3Mgb3IgYSBtb2JpbGUgcGhvbmUgbnVtYmVyLiBFaXRoZXIgb2YgbWV0aG9kIHdvcmtzIHF1aXRlIHdlbGwsIGhvd2V2ZXIsIGNob29zZSB3aGljaGV2ZXIgb25lIHlvdSBwcmVmZXIuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5TdGVwIDM6IEVudGVyIHRoZSByZWZlcnJhbCBjb2RlPC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VXBvbiByZWdpc3RyYXRpb24sIHlvdeKAmWxsIHNwb3QgYSBmaWVsZCB0aGF04oCZcyBsYWJlbGxlZCAiUmVmZXJyYWwgQ29kZSIgb3IgIlJlZmVycmFsIElELiIgUHJvY2VlZCB0byBlbnRlciA8c3Ryb25nPkJPTlVTMzY5PC9zdHJvbmc+IGluIHRoaXMgZmllbGQuIFRoaXMgaXMgdGhlIHN0ZXAgdGhhdCB3aWxsIGFjdGl2YXRlIGJvdGggdGhlICQ2MDAgd2VsY29tZSBib251cyBlbGlnaWJpbGl0eSBhbmQgdGhlIDIwJSBsaWZldGltZSBmZWUgZGlzY291bnQuIFNvIGVuc3VyZSB5b3UgZG8gbm90IHNraXAgdGhpcyBzdGVwIGJlY2F1c2Ugb25jZSB5b3VyIGFjY291bnQgaXMgY3JlYXRlZCB3aXRob3V0IGEgcmVmZXJyYWwgY29kZSwgaXQgY2Fu4oCZdCBiZSBhZGRlZCByZXRyb2FjdGl2ZWx5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+U3RlcCA0OiBDb21wbGV0ZSBpZGVudGl0eSB2ZXJpZmljYXRpb24gKEtZQyk8L3N0cm9uZz48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5CaW5hbmNlLCBsaWtlIGFueSBvdGhlciByZWd1bGF0ZWQgZmluYW5jaWFsIHBsYXRmb3JtcywgaXMgaW5oZXJlbnRseSByZXF1aXJlZCBieSBsYXcgdG8gdmVyaWZ5IHRoZSBpZGVudGl0eSBvZiBpdHMgdXNlcnMuIFRoaXMgcHJvY2VzcyBpcyBjYWxsZWQg4oCcS25vdyBZb3VyIEN1c3RvbWVy4oCdIG9yIEtZQyB2ZXJpZmljYXRpb24uIFVzZXJzIG5lZWQgdG8gcHJvdmlkZTo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkEgZ292dC1pc3N1ZWQgcGhvdG8gSUQgKGxpa2UgYSBuYXRpb25hbCBpZGVudGl0eSBjYXJkLCBwYXNzcG9ydCwgb3IgZHJpdmVyJ3MgbGljZW5zZSk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkEgc2VsZmllIG9yIHNob3J0IHZpZGVvIGZvciBmYWNpYWwgcmVjb2duaXRpb24gb2JqZWN0aXZlcy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIHByb2Nlc3MgdXN1YWxseSB0YWtlcyBhIGNvdXBsZSBtaW51dGVzIHRvIDI0IGhvdXJzLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgZGVtYW5kIGF0IGhhbmQuIENvbXBsZXRpbmcgS1lDIGlzIGltcG9ydGFudCBhcyB3aXRob3V0IGl0LCB5b3Ugd29u4oCZdCBiZSBhYmxlIHRvIGRlcG9zaXQsIHdpdGhkcmF3LCBhbmQgdHJhZGUgd2lsbCBiZSBtYWpvcmx5IHJlc3RyaWN0ZWQuIFlvdSBhbHNvIHdvbuKAmXQgYmUgYWJsZSB0byBhY3RpdmF0ZSB0aGUgZnVsbCB3ZWxjb21lIGJvbnVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+U3RlcCA1OiBTZWN1cmUgeW91ciBhY2NvdW50PC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QmVmb3JlIGRlcG9zaXRpbmcgYW55IG1vbmllcywgdGFrZSBmaXZlIG1pbnV0ZXMgdG8gc2VjdXJlIHlvdXIgYWNjb3VudCBhcHByb3ByaWF0ZWx5LiBFbnN1cmUgdHdvLWZhY3RvciBhdXRoZW50aWNhdGlvbiAoMkZBKSBpcyBlbmFibGVkIGJ5IHVzaW5nIGFuIGF1dGhlbnRpY2F0b3IgYXBwIHN1Y2ggYXMgR29vZ2xlIEF1dGhlbnRpY2F0b3Igb3IgZXZlbiBCaW5hbmNlJ3Mgb3duIGFwcC4gVGhpcyB3aWxsIGFkZCBhbiBleHRyYSBsYXllciBvZiBzZWN1cml0eSB0aGF0IHByb3RlY3RzIHlvdXIgQmluYW5jZSBhY2NvdW50IGV2ZW4gaW4gY2FzZSB5b3VyIHBhc3N3b3JkIGlzIGNvbXByb21pc2VkLiBJbiB0aGUgY3J5cHRvIHNwYWNlLCBhY2NvdW50IHNlY3VyaXR5IHF1aXRlIGVzc2VudGlhbC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPlN0ZXAgNjogUGxhY2UgeW91ciBmaXJzdCBkZXBvc2l0PC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QmluYW5jZSBjYW4gYWNjZXB0IGRlcG9zaXRzIHRocm91Z2ggYmFuayB0cmFuc2ZlciwgY3JlZGl0IG9yIGRlYml0IGNhcmQsIGFuZCBpbiBzb21lIHJlZ2lvbnMsIHRoaXJkLXBhcnR5IHBheW1lbnQgcHJvdmlkZXJzLiBCYW5rIHRyYW5zZmVycyBhcmUgdXN1YWxseSB0aGUgbW9zdCBjb3N0LWVmZmVjdGl2ZSBtZXRob2QsIGFzIGNhcmQgdHJhbnNhY3Rpb25zIGNvbWUgd2l0aCBhZGRpdGlvbmFsIHByb2Nlc3NpbmcgZmVlLiBPbmUgY2FuIGRlcG9zaXQgZmlhdCBjdXJyZW5jeSAoc3VjaCBhcyBVU0QsIEVVUiwgR0JQLCBvciBLRVMpIGFuZCB0aGVuIHVzZSB0aGUgcmVtYWluaW5nIGJhbGFuY2UgdG8gYnV5IGNyeXB0by48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q29uc2lkZXJpbmcgYSBjZXJ0YWluIGFtb3VudCBvZiBmYWN0b3JzIGJlZm9yZSBiZWdpbm5pbmcgeW91ciBjcnlwdG8gdHJhZGluZyBqb3VybmV5IGlzIGNydWNpYWwuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5DcnlwdG8gaXMgcXVpdGUgdm9sYXRpbGUuPC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q3J5cHRvIGFzc2V0cyB2YWx1ZSBlYXNpbHkgcmlzZSBhbmQgZmFsbCBhbmQgd2l0aGluIHN1Y2ggc2hvcnQgc3BhbnMgb2YgdGltZS4gQW5kIHRoaXMgbWF5YmUgYSBjb250cmFzdCB0byB0cmFkIHNhdmluZ3MgYWNjb3VudHMgb3IgZ292dCBib25kcywgc2luY2UgY3J5cHRvIGRvZXNu4oCZdCBjb21lIHdpdGggYW55IGd1YXJhbnRlZWQgcmV0dXJucy4gVGhlcmVmb3JlIHVzZXJzIHNob3VsZCBvbmx5IGludmVzdCB3aGF0IHRoZXnigJlyZSB3aWxsaW5nIHRvIGxvc2UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5TdGFydCBzbWFsbDwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRha2Ugc29tZSB0aW1lIHRvIGZ1bGx5IHVuZGVyc3RhbmQgQmluYW5jZSBhcyBhIHBsYXRmb3JtOyB0aGUgaW50ZXJmYWNlLCBvcmRlciB0eXBlcyAobWFya2V0IG9yZGVycywgbGltaXQgb3JkZXJzLCBzdG9wLWxpbWl0IG9yZGVycykgYW5kIGV2ZW4gdGhlIGZlZSBzdHJ1Y3R1dGUgYmVmb3JlIGJlZ2lubmluZyB5b3VyIGNyeXB0byB0cmFkaW5nIGpvdXJuZXkuIEJpbmFuY2UgQWNhZGVteSBpcyBhbiBleGNlcHRpb25hbCByZXNvdXJjZSB0aGF04oCZcyBhdmFpbGFibGUgZm9yIGZyZWUgdW5kZXIgQmluYW5jZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkJlIGNhdXRpb3VzPC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlcmUgYXJlIHRvbnMgb2Ygc2NhbXMsIGZha2UgaW52ZXN0bWVudCBzY2hlbWVzIGFuZCBjcnlwdG8gaW5mbHVlbmNlcnMgcHJvbW90aW5nIGNyeXB0byBwcm9qZWN0cyB0byBsdXJlIHVuc3VzcGVjdGluZyBjcnlwdG8gaW52ZXN0b3JzLiBBdm9pZCBhbnlvbmUgcHJvbWlzaW5nIHlvdSBhbnkgZ3VhcmFudGVlZCByZXR1cm5zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+VW5kZXJzdGFuZCB0aGUgdGF4IGltcGxpY2F0aW9ucyBpbiB5b3VyIGNvdW50cnkuPC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gbW9zdCBqdXJpc2RpY3Rpb25zLCBjcnlwdG8gZ2FpbnMgYXJlIHN1YmplY3QgdG8gY2FwaXRhbCBnYWlucyB0YXggb3IgaW5jb21lIHRheC4gSG93ZXZlciwgdGhpcyB2YXJpZXMgYnkgb25l4oCZcyBjb3VudHJ5IG9mIHJlc2lkZW5jZS4gQWx3YXlzIGVuc3VyZSB0byBjb25zdWx0IGEgdGF4IHByb2Zlc3Npb25hbC9maW5hbmNpYWwgYWR2aXNlciBpbiBvcmRlciB0byBiZSBjZXJ0YWluIG9mIHlvdXIgb2JsaWdhdGlvbnMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKCgoKCgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Ob25lIG9mIHRoZXNlIHBlcmtzIG5lZWRzIHlvdSB0byB0YWtlIGFueSBleHRyYSByaXNrIHRoYXTigJlzIGJleW9uZCB3aGF0IHlvdSB3b3VsZCBhbHJlYWR5IGJlIHRha2luZyBieSB1c2luZyBCaW5hbmNlIGFzIGEgcGxhdGZvcm0uIFlvdSBhcmUgbm90IGVzc2VudGlhbGx5IHBheWluZyBtb3JlLCB0cmFkaW5nIG1vcmUgYWdncmVzc2l2ZWx5LCBvciB0YWtlIG9uIGFueSBzb3J0IG9mIG9ibGlnYXRpb24ganVzdCBieSB1c2luZyBhIEJpbmFuY2UgcmVmZXJyYWwgY29kZS4gSWYgYW55dGhpbmcsIHlvdSBzaW1wbHkgcmVjZWl2ZSBtb3JlIHZhbHVlIGJ5IHRha2luZyBhZHZhbnRhZ2Ugb2YgdGhlc2UgcGVya3MuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlIGdvYWwgaG93ZXZlciBpcyB0byBhcHByb2FjaCBCaW5hbmNlLCBhbmQgY3J5cHRvIG1vcmUgZ2VuZXJhbGx5IHdpdGggdWx0aW1hdGUgcGF0aWVuY2UsIHByYWN0aWNhbCBleHBlY3RhdGlvbnMsIGFuZCBhIGdvb2QgY29tbWl0bWVudCB0byBsZWFybmluZyBiZWZvcmUgeW91IGNhbiBpbnZlc3QuIFRoZSBwbGF0Zm9ybSBpcyBwb3dlcmZ1bCwgdGhlIGFzc2V0cyBhcmUgdm9sYXRpbGUsIGFuZCB0aGUgb3Bwb3J0dW5pdGllcyB0aGF0IGNvbWUgd2l0aCBpdCBhcmUgcmVhbC4gV2l0aCBhIGdvb2QgZm91bmRhdGlvbiBhbmQgdGhlIHJpZ2h0IGluY2VudGl2ZXMgaW4gcGxhY2UsIHlvdSB3aWxsIGJlIGVzc2VudGlhbGx5IGJlIGJldHRlciBwb3NpdGlvbmVkIHRvIG1ha2UgZGVjaXNpb25zIHRoYXQgeW91IGFyZSBjb25maWRlbnQgaW4uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgpsZXZlbGxldmVsbGV2ZWw8IS0tIHdwOnNwYWNlciB7ImhlaWdodCI6IjMxcHgifSAtLT4KPGRpdiBzdHlsZT0iaGVpZ2h0OjMxcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+VGhlIDIwJSBMaWZldGltZSBUcmFkaW5nIEZlZSBEaXNjb3VudDo8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5Ib3cgdG8gUmVnaXN0ZXIgb24gQmluYW5jZSBVc2luZyBSZWZlcnJhbCBDb2RlIEJPTlVTMzY5PC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+SW1wb3J0YW50IENvbnNpZGVyYXRpb25zIGluIENyeXB0byBUcmFkaW5nPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KbGV2ZWw8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5GcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9uczwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6cGFyYWdyYXBoIHsiZm9udFNpemUiOiJzbWFsbCJ9IC0tPgpsZXZlbG9yZGVyZWR2YWx1ZXNjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkNhbiBJIHVzZSByZWZlcnJhbCBjb2RlIEJPTlVTMzY5IGlmIEkgYWxyZWFkeSBoYXZlIGEgQmluYW5jZSBhY2NvdW50Pzwvc3Ryb25nPmlubmVyQmxvY2tzTm8sIGl0IGlzIGVudGlyZWx5IGltcG9zc2libGUuIFJlZmVycmFsIGNvZGVzIGFuZCB3ZWxjb21lIGJvbnVzZXMgYXJlIHBhcnRpY3VsYXJseSBhdmFpbGFibGUgdG8gbmV3IHVzZXJzIG9uIEJpbmFuY2UuIElmIHlvdSBhbHJlYWR5IGhhdmUgYW4gZXhpc3RpbmcgYWNjb3VudCwgeW91IGNhbm5vdCBhcHBseSBhIHJlZmVycmFsIGNvZGUgdG8geW91ciBhY2NvdW50IHJldHJvYWN0aXZlbHkuIDwhLS0gd3A6bGlzdCB7Im9yZGVyZWQiOnRydWV9IC0tPgo8b2wgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5DYW4gSSB1c2UgcmVmZXJyYWwgY29kZSBCT05VUzM2OSBpZiBJIGFscmVhZHkgaGF2ZSBhIEJpbmFuY2UgYWNjb3VudD88L3N0cm9uZz4gTm8sIGl0IGlzIGVudGlyZWx5IGltcG9zc2libGUuIFJlZmVycmFsIGNvZGVzIGFuZCB3ZWxjb21lIGJvbnVzZXMgYXJlIHBhcnRpY3VsYXJseSBhdmFpbGFibGUgdG8gbmV3IHVzZXJzIG9uIEJpbmFuY2UuIElmIHlvdSBhbHJlYWR5IGhhdmUgYW4gZXhpc3RpbmcgYWNjb3VudCwgeW91IGNhbm5vdCBhcHBseSBhIHJlZmVycmFsIGNvZGUgdG8geW91ciBhY2NvdW50IHJldHJvYWN0aXZlbHkuPC9saT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+Q29uY2x1c2lvbjogSXMgSXQgV29ydGggU2lnbmluZyBVcCBXaXRoIFJlZmVycmFsIENvZGU\/PC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpzcGFjZXIgeyJoZWlnaHQiOiI0MHB4In0gLS0+CjxkaXYgc3R5bGU9ImhlaWdodDo0MHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+CmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+SXMgdGhlICQ2MDAgYm9udXMgcmVhbCBtb25leSBJIGNhbiB3aXRoZHJhdz88L3N0cm9uZz4gVGhlcmUgYXJlIGNlcnRhaW4gcG9ydGlvbnMgb2YgdGhlIGJvbnVzIHRoYXQgbWF5IGJlIHdpdGhkcmF3YWJsZSB1cG9uIGZ1bGZpbGxpbmcgdGhlIGNvbmRpdGlvbnMgc2V0LCB3aGlsZSBvdGhlcnM7IHN1Y2ggYXMgZmVlIHZvdWNoZXJzLCBjYW4gb25seSBiZSB1c2VkIHdpdGhpbiB0aGUgcGxhdGZvcm0uIEdvIG9uIHRvIHJldmlldyB0aGUgc3BlY2lmaWVkIHRlcm1zIG9mIGVhY2ggdGFzayByZXdhcmQgd2hlbiBjbGFpbWluZyBpdCwgYXMgdGhlIGNvbmRpdGlvbnMgdGVuZCB0byB2YXJ5LmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5XaGF0IGhhcHBlbnMgdG8gbXkgMjAlIGRpc2NvdW50IGlmIHRoZSBmZWUgc3RydWN0dXJlIGNoYW5nZXM\/PC9zdHJvbmc+aW5uZXJCbG9ja3NCaW5hbmNlIHRlbmRzIHRvIHVwZGF0ZSBpdHMgZmVlIHN0cnVjdHVyZXMgb2NjYXNpb25hbGx5LiBUaGUgZGlzY291bnQgaXMgYXBwbGllZCBhcyBhIHBlcmNlbnRhZ2UgcmVkdWN0aW9uIG9uIHdoYXRldmVyIGZlZXMgYXJlIGVuZm9yY2VkIHdoZW4geW914oCZcmUgcGxhY2luZyB0cmFkZXMuIFRoZSBjb3JyZXNwb25kaW5nIGJlbmVmaXQgKDIwJSBvZmYpIGhvd2V2ZXIsIHJlbWFpbnMgY29uc2lzdGVudCBldmVuIGlmIHRoZSBiYXNlIGZlZSByYXRlcyBhcmUgYWx0ZXJlZC4gY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5JcyBCaW5hbmNlIGF2YWlsYWJsZSBpbiBteWlubmVyQmxvY2tzQmluYW5jZSBvcGVyYXRlcyBpbiBtYW55IGNvdW50cmllcywgYnV0IGR1ZSB0byByZWd1bGF0b3J5IHJlcXVpcmVtZW50cywgaXQgY2Fu4oCZdCBiZSBhY2Nlc3NlZCBmcm9tIGV2ZXJ5IGp1cmlzZGljdGlvbi4gRW5zdXJlIHRvIGNoZWNrIHRoZSBCaW5hbmNlIHdlYnNpdGUgZm9yIHRoZSB1cC10by1kYXRlIGluZm8gb24gc3VwcG9ydGVkIGNvdW50cmllcyBhbmQgYW55IHJlc3RyaWN0aW9ucyB0aGF0IGFwcGx5IGNvdW50cnk8L3N0cm9uZz4gY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5XaGF0IGlzIHRoZSBtaW5pbXVtIGRlcG9zaXQgb24gQmluYW5jZT88L3N0cm9uZz5pbm5lckJsb2Nrc1RoaXMgd2lsbCBkZXBlbmQgb24geW91ciBjdXJyZW5jeSBhbmQgbWV0aG9kIG9mIGRlcG9zaXQuIEZvciA8IS0tIC93cDpsaXN0LWl0ZW0gLS0+CjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5JcyB0aGUgJDYwMCBib251cyByZWFsIG1vbmV5IEkgY2FuIHdpdGhkcmF3Pzwvc3Ryb25nPiBUaGVyZSBhcmUgY2VydGFpbiBwb3J0aW9ucyBvZiB0aGUgYm9udXMgdGhhdCBtYXkgYmUgd2l0aGRyYXdhYmxlIHVwb24gZnVsZmlsbGluZyB0aGUgY29uZGl0aW9ucyBzZXQsIHdoaWxlIG90aGVyczsgc3VjaCBhcyBmZWUgdm91Y2hlcnMsIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIHRoZSBwbGF0Zm9ybS4gR28gb24gdG8gcmV2aWV3IHRoZSBzcGVjaWZpZWQgdGVybXMgb2YgZWFjaCB0YXNrIHJld2FyZCB3aGVuIGNsYWltaW5nIGl0LCBhcyB0aGUgY29uZGl0aW9ucyB0ZW5kIHRvIHZhcnkuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+V2hhdCBoYXBwZW5zIHRvIG15IDIwJSBkaXNjb3VudCBpZiB0aGUgZmVlIHN0cnVjdHVyZSBjaGFuZ2VzPzwvc3Ryb25nPiBCaW5hbmNlIHRlbmRzIHRvIHVwZGF0ZSBpdHMgZmVlIHN0cnVjdHVyZXMgb2NjYXNpb25hbGx5LiBUaGUgZGlzY291bnQgaXMgYXBwbGllZCBhcyBhIHBlcmNlbnRhZ2UgcmVkdWN0aW9uIG9uIHdoYXRldmVyIGZlZXMgYXJlIGVuZm9yY2VkIHdoZW4geW914oCZcmUgcGxhY2luZyB0cmFkZXMuIFRoZSBjb3JyZXNwb25kaW5nIGJlbmVmaXQgKDIwJSBvZmYpIGhvd2V2ZXIsIHJlbWFpbnMgY29uc2lzdGVudCBldmVuIGlmIHRoZSBiYXNlIGZlZSByYXRlcyBhcmUgYWx0ZXJlZC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+CjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5JcyBCaW5hbmNlIGF2YWlsYWJsZSBpbiBteSBjb3VudHJ5PC9zdHJvbmc+IEJpbmFuY2Ugb3BlcmF0ZXMgaW4gbWFueSBjb3VudHJpZXMsIGJ1dCBkdWUgdG8gcmVndWxhdG9yeSByZXF1aXJlbWVudHMsIGl0IGNhbuKAmXQgYmUgYWNjZXNzZWQgZnJvbSBldmVyeSBqdXJpc2RpY3Rpb24uIEVuc3VyZSB0byBjaGVjayB0aGUgQmluYW5jZSB3ZWJzaXRlIGZvciB0aGUgdXAtdG8tZGF0ZSBpbmZvIG9uIHN1cHBvcnRlZCBjb3VudHJpZXMgYW5kIGFueSByZXN0cmljdGlvbnMgdGhhdCBhcHBseTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L29sPgo8IS0tIC93cDpsaXN0IC0tPgouVGhpcyB2YXJpZXMgYnkgeW91ciBpZGVhbCBkZXBvc2l0IG1ldGhvZCAmYW1wOyBjdXJyZW5jeS4gRm9yIG1hbnkgZmlhdCBjdXJyZW5jeSBkZXBvc2l0cywgdGhlcmUgaXMgYSBtaW5pbXVtIG9mIGFyb3VuZCAkMTAgdG8gJDE1LiBDaGVjayB0aGUgZGVwb3NpdCBwYWdlIG9uIEJpbmFuY2UgZm9yIHRoZSBjdXJyZW50IG1pbmltdW1zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8geW91ciBjdXJyZW5jeSBhbmQgaWRlYWwgcGF5bWVudCBtZXRob2QgZmlhdCBjdXJyZW5jaWVzLiAxNmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2FsdGNhcHRpb248IS0tIC93cDppbWFnZSAtLT4KCjxsaT48c3Ryb25nPldoYXQgaXMgdGhlIG1pbmltdW0gZGVwb3NpdCBvbiBCaW5hbmNlPzwvc3Ryb25nPiBUaGlzIHdpbGwgZGVwZW5kIG9uIHlvdXIgY3VycmVuY3kgYW5kIG1ldGhvZCBvZiBkZXBvc2l0LiBGb3IgZmlhdCBjdXJyZW5jaWVzLiBUaGlzIHZhcmllcyBieSB5b3VyIGlkZWFsIGRlcG9zaXQgbWV0aG9kICZhbXA7IGN1cnJlbmN5LiBGb3IgbWFueSBmaWF0IGN1cnJlbmN5IGRlcG9zaXRzLCB0aGVyZSBpcyBhIG1pbmltdW0gb2YgYXJvdW5kICQxMCB0byAkMTUuIENoZWNrIHRoZSBkZXBvc2l0IHBhZ2Ugb24gQmluYW5jZSBmb3IgdGhlIGN1cnJlbnQgbWluaW11bXMgdGhhdCBhcmUgYXBwbGljYWJsZSB0byB5b3VyIGN1cnJlbmN5IGFuZCBpZGVhbCBwYXltZW50IG1ldGhvZC48L2xpPgppZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbjwhLS0gd3A6aW1hZ2UgeyJpZCI6NTE1LCJzaXplU2x1ZyI6ImxhcmdlIiwibGlua0Rlc3RpbmF0aW9uIjoibm9uZSJ9IC0tPgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIj48aW1nIHNyYz0iaHR0cHM6Ly9iaXpzbWFydC5jby5rZS9jcnlwdG9yZXZvbHV0aW9uL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAxL2JpbmFuY2UtcmVmZXJyYWwtY29kZS13aXRoLXVwLXRvLTYwMC1jcnlwdG9yZXYtMTAyNHg1MzMucG5nIiBhbHQ9IkJPTlVTMzY5IGJpbmFuY2UgcmVmZXJyYWwgaWQgd2l0aCAkNjAwIGJvbnVzIiBjbGFzcz0id3AtaW1hZ2UtNTE1Ii8+PC9maWd1cmU+Cmxpbms8IS0tIHdwOmltYWdlIHsiaWQiOjc0Niwic2l6ZVNsdWciOiJsYXJnZSIsImxpbmtEZXN0aW5hdGlvbiI6Im5vbmUifSAtLT4KPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZSI+PGltZyBzcmM9Imh0dHBzOi8vYml6c21hcnQuY28ua2UvY3J5cHRvcmV2b2x1dGlvbi93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC90aGUtQmluYW5jZS1yZWZlcnJhbC1jb2RlLWluLTIwMjYtMS0xMDI0eDUxNS5wbmciIGFsdD0iVGhlIEJpbmFuY2UgcmVmZXJyYWwgY29kZSBpbiAyMDI2IiBjbGFzcz0id3AtaW1hZ2UtNzQ2Ii8+PC9maWd1cmU+CnTCoDxhIGhyZWY9Imh0dHBzOi8vYml6c21hcnQuby5rZS9jcmV2b2x1dGlvbi8iPmNyeXB0bzwvYT5JRCA8cD5CaW5hbmNlIGlzIGEgPGEgaHJlZj0iaHR0cHM6Ly9iaXpzbWFydC5jby5rZS9jcnlwdG9yZXZvbHV0aW9uLyI+Y3J5cHRvPC9hPiBleGNoYW5nZSBwbGF0Zm9ybS7CoCBUaGlzIGVzc2VudGlhbGx5IG1lYW5zIGl04oCZcyBhIHBsYXRmb3JtIHdoZXJlIHVzZXJzIG9yIHRyYWRlcnMgY2FuIGJ1eSwgc2VsbCwgYW5kIHRyYWRlIGRpZ2l0YWwgY3VycmVuY2llcyBsaWtlIEJpdGNvaW4sIEV0aGVyZXVtLCBhbmQgaHVuZHJlZHMgb2Ygb3RoZXIgZGlnaXRhbCBhc3NldHMuIEl0IHdhcyBsYXVuY2hlZCBpbiAyMDE3IGJ5IENoYW5ncGVuZyBaaGFvIChjb21tb25seSBrbm93biBhcyAiQ1oiKSwgYW5kIGl0IGdyZXcgcXVpdGUgZmFzdCB0byBiZWNvbWUgb25lIG9mIHRoZSBsYXJnZXN0IGNyeXB0byBleGNoYW5nZXMgaW4gdGhlIHdvcmxkIGJ5IHRyYWRpbmcgdm9sdW1lLjwvcD4KPGEgaHJlZj0iaHR0cHM6Ly9iaXpzbWFydC5jby5rZS9jcnlwdG9yZXZvbHV0aW9uL2JpbmFuY2UtcmVmZXJyYWwtY29kZS8iPjwvYT48cD5JbiBjYXNlIHlvdeKAmXZlIGJlZW4gbG9va2luZyB0byBnZXQgc3RhcnRlZCB3aXRoIEJpbmFuY2UgdGhlbiB1c2luZyB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9iaXpzbWFydC5jby5rZS9jcnlwdG9yZXZvbHV0aW9uL2JpbmFuY2UtcmVmZXJyYWwtY29kZS8iPkJpbmFuY2UgcmVmZXJyYWwgSUQ8L2E+IOKAnEJPTlVTMzY54oCdIHNob3VsZCBnaXZlIHlvdSB0aGUgdWx0aW1hdGUgbW90aXZhdGlvbiB0byBiZWdpbiB5b3VyIGpvdXJuZXkgb24gQmluYW5jZS4gSXQgY29tZXMgd2l0aCBhIHNvbGlkICQ2MDAgd2VsY29tZSBib251cyB3aGljaCBpcyBtb3JlIHRoYW4gZ2VuZXJvdXMgZm9yIHlvdSB0byBnZXQgdGhlIG1vc3QgbGV2ZXJhZ2Ugb24gdGhlIHBsYXRmb3JtLiBUaGUgMjAlIGxpZmV0aW1lIGRpc2NvdW50IGlzIGFsc28gYW4gZXhjZXB0aW9uYWwgcGVyayB0byBpbmNyZWRpYmx5IHJlZHVjZSB5b3VyIHRyYWRpbmcgZmVlcyBmb3IgYXMgbG9uZyBhcyB5b3VyIEJpbmFuY2UgYWNjb3VudCByZW1haW5zIGFjdGl2ZS48L3A+CnN0YXRlc2F2ZWRBdHN0YXRlc2F2ZWRCeWNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc0JpbmFuY2UgZnV0dXJlczxhIGhyZWY9Imh0dHBzOi8vYml6c21hcnQuY28ua2UvY3J5cHRvcmV2b2x1dGlvbi9iaW5hbmNlLWZ1dHVyZXMtcmVmZXJyYWwtY29kZS8iPjwvYT4+PjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48YSBocmVmPSJodHRwczovL2JpenNtYXJ0LmNvLmtlL2NyeXB0b3Jldm9sdXRpb24vYmluYW5jZS1mdXR1cmVzLXJlZmVycmFsLWNvZGUvIj5CaW5hbmNlIGZ1dHVyZXM8L2E+Pj48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCnN0YXRldmVyc2lvbjxwPjxzdHJvbmc+VGhlIG1vc3QgbHVjcmF0aXZlIEJpbmFuY2UgcmVmZXJyYWwgY29kZSBpbiAyMDI2IGlzOiBCT05VUzM2OSB3aXRoICQ2MDAgd2VsY29tZSBib251cyBhbmQgYSAyMCUgbGlmZXRpbWUgZGlzY291bnQgb24gYWxsIHRyYWRpbmcgZmVlcy4gPC9zdHJvbmc+PC9wPgpjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3NUaGUgZ29hbCBob3dldmVyIGlzIHRvIGFwcHJvYWNoIEJpbmFuY2UsIGFuZCBjcnlwdG8gbW9yZSBnZW5lcmFsbHkgd2l0aCB1bHRpbWF0ZSBwYXRpZW5jZSwgcHJhY3RpY2FsIGV4cGVjdGF0aW9ucywgYW5kIGEgZ29vZCBjb21taXRtZW50IHRvIGxlYXJuaW5nIGJlZm9yZSB5b3UgY2FuIGludmVzdC4gVGhlIHBsYXRmb3JtIGlzIHBvd2VyZnVsLCB0aGUgYXNzZXRzIGFyZSB2b2xhdGlsZSwgYW5kIHRoZSBvcHBvcnR1bml0aWVzIHRoYXQgY29tZSB3aXRoIGl0IGFyZSByZWFsLiBUaGluayBvZiB0aGUgcmVmZXJyYWwgYm9udXMgYW5kIGZlZSBkaXNjb3VudCBub3QgYXMgYSBzaG9ydGN1dCB0byBwcm9maXRzLCBidXQgYXMgYSBzbWFydGVyIHN0YXJ0aW5nIHBvaW50IOKAlCBvbmUgdGhhdCByZWR1Y2VzIHlvdXIgY29zdHMgZnJvbSBkYXkgb25lIGFuZCBnaXZlcyB5b3UgYSBsaXR0bGUgZXh0cmEgYnJlYXRoaW5nIHJvb20gd2hpbGUgeW91IGZpbmQgeW91ciBmb290aW5nLiBFdmVyeSBkb2xsYXIgc2F2ZWQgb24gZmVlcyBpcyBhIGRvbGxhciB0aGF0IHN0YXlzIGluIHlvdXIgcG9ydGZvbGlvIGFuZCB3b3JrcyBmb3IgeW91IG92ZXIgdGltZS4gV2l0aCBhIGdvb2QgZm91bmRhdGlvbiBhbmQgdGhlIHJpZ2h0IGluY2VudGl2ZXMgaW4gcGxhY2UsIHlvdSB3aWxsIGVzc2VudGlhbGx5IGJlIGJldHRlciBwb3NpdGlvbmVkIHRvIG1ha2UgZGVjaXNpb25zIHRoYXQgeW91IGFyZSBjb25maWRlbnQgaW4uOyBvPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KClRoaW5rIG9mIHRoZSByZWZlcnJhbCBib251cyBhbmQgbGlmZXRpbWUgZmVlIGRpc2NvdW50IG5vdCBhcyBhIGdldC1yaWNoLXF1aWNrIHRyaWNrLCBidXQgYXMgYSBzbWFydGVyLCBsb3dlci1jb3N0IGVudHJ5IHBvaW50IGludG8gY3J5cHRvIOKAlCBvbmUgdGhhdCBrZWVwcyBtb3JlIG1vbmV5IGluIHlvdXIgcG9ja2V0IGZyb20gdGhlIHZlcnkgZmlyc3QgdHJhZGUgeW91IG1ha2UuOyAwO29jbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3NMYXN0IGVkaXRlc2Q6IDQvMjYvMjAyNzY8cD5UaGluayBvZiB0aGUgcmVmZXJyYWwgYm9udXMgYW5kIGxpZmV0aW1lIGZlZSBkaXNjb3VudCBub3QgYXMgYSBnZXQtcmljaC1xdWljayB0cmljaywgYnV0IGFzIGEgc21hcnRlciwgbG93ZXItY29zdCBlbnRyeSBwb2ludCBpbnRvIGNyeXB0byBvbmUgdGhhdCBrZWVwcyBtb3JlIG1vbmV5IGluIHlvdXIgcG9ja2V0IGZyb20gdGhlIHZlcnkgZmlyc3QgdHJhZGUgeW91IG1ha2UuPC9wPgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKMjY8cD48L3A+CjxwPkxhc3QgZWRpdGVkOiA0LzI2LzIwMjY8L3A+CnN0YXRldmVyc2lvbmRvY3VtZW50ZGF0ZWRvY3VtZW50c2x1Z2RvY3VtZW50c3RhdHVzZG9jdW1lbnR0aXRsZUJpbmFuY2UgUmVmZXJyYWwgQ29kZSA6IChCT05VUzM2OSlkb2N1bWVudGNvbnRlbnQ8IS0tIC93cDppbWFnZSAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmh0bWwgLS0+CjxkaXYgY2xhc3M9ImJpbmFuY2UtcmVmZXJyYWwtYm94Ij4KICA8ZGl2IGNsYXNzPSJiaW5hbmNlLWxhYmVsIj5CaW5hbmNlIFJlZmVycmFsIENvZGU8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iYmluYW5jZS1jb2RlLXdyYXAiPgogICAgPHNwYW4gaWQ9ImJpbmFuY2VDb2RlIj5CT05VUzM2OTwvc3Bhbj4KICAgIDxidXR0b24gb25jbGljaz0iY29weUJpbmFuY2VDb2RlKCkiPkNvcHk8L2J1dHRvbj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iYmluYW5jZS1ub3RlIj4KICAgIEVudGVyIHRoaXMgY29kZSBkdXJpbmcgc2lnbi11cCB0byBhY3RpdmF0ZSBCaW5hbmNlIHJlZmVycmFsIHJld2FyZHMuCiAgPC9kaXY+CjwvZGl2PgoKPHNjcmlwdD4KZnVuY3Rpb24gY29weUJpbmFuY2VDb2RlKCkgewogIGNvbnN0IGNvZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmluYW5jZUNvZGUiKS5pbm5lclRleHQ7CiAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY29kZSk7CiAgYWxlcnQoIlJlZmVycmFsIGNvZGUgY29waWVkOiAiICsgY29kZSk7Cn0KPC9zY3JpcHQ+CjwhLS0gL3dwOmh0bWwgLS0+Cgo8IS0tIHdwOnNwYWNlciB7ImhlaWdodCI6IjMzcHgifSAtLT4KPGRpdiBzdHlsZT0iaGVpZ2h0OjMzcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj4KPCEtLSAvd3A6c3BhY2VyIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6c2hvcnRjb2RlIC0tPgpbZXotdG9jXQo8IS0tIC93cDpzaG9ydGNvZGUgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjwhLS0gd3A6YnV0dG9ucyAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stYnV0dG9ucyI+PCEtLSB3cDpidXR0b24geyJjbGFzc05hbWUiOiJpcy1zdHlsZS1maWxsIn0gLS0+CjwhLS0gL3dwOmJ1dHRvbiAtLT48L2Rpdj4KPCEtLSAvd3A6YnV0dG9ucyAtLT4KCjwhLS0gL3dwOnNwYWNlciAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8cCBjbGFzcz0iaGFzLXNtYWxsLWZvbnQtc2l6ZSI+PGVtPlNvdXJjZTogaHR0cHM6Ly93d3cuYmluYW5jZS5jb20vZW4vc3F1YXJlL3Bvc3QvMzUzMzI1MDIxOTAxMzc8L2VtPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpidXR0b25zIC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1idXR0b25zIj48IS0tIHdwOmJ1dHRvbiAtLT4KPCEtLSAvd3A6YnV0dG9uIC0tPjwvZGl2Pgo8IS0tIC93cDpidXR0b25zIC0tPgoKPCEtLSB3cDpzcGFjZXIgeyJoZWlnaHQiOiIzMHB4In0gLS0+CjxkaXYgc3R5bGU9ImhlaWdodDozMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+CjwhLS0gL3dwOnNwYWNlciAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIC93cDpzcGFjZXIgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5EaXNjbGFpbWVyOjwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IHsib3JkZXJlZCI6dHJ1ZX0gLS0+CjxvbCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c21hbGw+PGVtPlRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBpbiB0aGlzIHBvc3QgaXMgZm9yIGluZm9ybWF0aW9uYWwgYW5kIGVkdWNhdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kIHNob3VsZCBub3QgYmUgY29uc3RydWVkIGFzIHByb2Zlc3Npb25hbCBmaW5hbmNpYWwgYWR2aWNlLiBBbHdheXMgZG8geW91ciBvd24gcmVzZWFyY2ggb3IgY29uc3VsdCB3aXRoIGEgbGljZW5zZWQgZmluYW5jaWFsIGFkdmlzb3IgYmVmb3JlIG1ha2luZyBhbnkgaW52ZXN0bWVudCBkZWNpc2lvbnMuPC9lbT48L3NtYWxsPjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHNtYWxsPjxlbT5DcnlwdG9jdXJyZW5jeSBpbnZlc3RtZW50cyBhcmUgaGlnaGx5IHZvbGF0aWxlIGFuZCBpbnZvbHZlIHNpZ25pZmljYW50IHJpc2ssIGluY2x1ZGluZyB0aGUgcG90ZW50aWFsIGxvc3Mgb2YgYWxsIGludmVzdGVkIGNhcGl0YWwuIFBhc3QgcGVyZm9ybWFuY2UgaXMgbm90IGluZGljYXRpdmUgb2YgZnV0dXJlIHJlc3VsdHMuIFRoaXMgcG9zdCBkb2VzIG5vdCBlbmRvcnNlIG9yIHByb21vdGUgYW55IHNwZWNpZmljIGNyeXB0b2N1cnJlbmN5LCB0b2tlbiwgb3IgaW52ZXN0bWVudCBzdHJhdGVneS48L2VtPjwvc21hbGw+PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c21hbGw+PGVtPlRoaXMgcG9zdCBtYXkgY29udGFpbiBhZmZpbGlhdGUgbGlua3MsIG1lYW5pbmcgd2UgbWF5IGVhcm4gYSBjb21taXNzaW9uIGF0IG5vIGFkZGl0aW9uYWwgY29zdCB0byB5b3UgaWYgeW91IG1ha2UgYSBwdXJjaGFzZSBvciBzaWduIHVwIHRocm91Z2ggb25lIG9mIHRoZXNlIGxpbmtzLiBXZSBvbmx5IHJlY29tbWVuZCBwcm9kdWN0cyBvciBzZXJ2aWNlcyB3ZSB0cnVzdCBhbmQgYmVsaWV2ZSBpbi48L2VtPjwvc21hbGw+PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvb2w+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+ZG9jdW1lbnRleGNlcnB0ZG9jdW1lbnRhdXRob3Jkb2N1bWVudGZlYXR1cmVkX21lZGlhZG9jdW1lbnRjb21tZW50X3N0YXR1c2RvY3VtZW50cGluZ19zdGF0dXNkb2N1bWVudHRlbXBsYXRlZG9jdW1lbnRtZXRhb2NlYW5fcG9zdF9sYXlvdXRvY2Vhbl9ib3RoX3NpZGViYXJzX3N0eWxlb2NlYW5fYm90aF9zaWRlYmFyc19jb250ZW50X3dpZHRob2NlYW5fYm90aF9zaWRlYmFyc19zaWRlYmFyc193aWR0aG9jZWFuX3NpZGViYXJvY2Vhbl9zZWNvbmRfc2lkZWJhcm9jZWFuX2Rpc2FibGVfbWFyZ2luc29jZWFuX2FkZF9ib2R5X2NsYXNzb2NlYW5fc2hvcnRjb2RlX2JlZm9yZV90b3BfYmFyb2NlYW5fc2hvcnRjb2RlX2FmdGVyX3RvcF9iYXJvY2Vhbl9zaG9ydGNvZGVfYmVmb3JlX2hlYWRlcm9jZWFuX3Nob3J0Y29kZV9hZnRlcl9oZWFkZXJvY2Vhbl9oYXNfc2hvcnRjb2Rlb2NlYW5fc2hvcnRjb2RlX2FmdGVyX3RpdGxlb2NlYW5fc2hvcnRjb2RlX2JlZm9yZV9mb290ZXJfd2lkZ2V0c29jZWFuX3Nob3J0Y29kZV9hZnRlcl9mb290ZXJfd2lkZ2V0c29jZWFuX3Nob3J0Y29kZV9iZWZvcmVfZm9vdGVyX2JvdHRvbW9jZWFuX3Nob3J0Y29kZV9hZnRlcl9mb290ZXJfYm90dG9tb2NlYW5fZGlzcGxheV90b3BfYmFyb2NlYW5fZGlzcGxheV9oZWFkZXJvY2Vhbl9oZWFkZXJfc3R5bGVvY2Vhbl9jZW50ZXJfaGVhZGVyX2xlZnRfbWVudW9jZWFuX2N1c3RvbV9oZWFkZXJfdGVtcGxhdGVvY2Vhbl9jdXN0b21fbG9nb29jZWFuX2N1c3RvbV9yZXRpbmFfbG9nb29jZWFuX2N1c3RvbV9sb2dvX21heF93aWR0aG9jZWFuX2N1c3RvbV9sb2dvX3RhYmxldF9tYXhfd2lkdGhvY2Vhbl9jdXN0b21fbG9nb19tb2JpbGVfbWF4X3dpZHRob2NlYW5fY3VzdG9tX2xvZ29fbWF4X2hlaWdodG9jZWFuX2N1c3RvbV9sb2dvX3RhYmxldF9tYXhfaGVpZ2h0b2NlYW5fY3VzdG9tX2xvZ29fbW9iaWxlX21heF9oZWlnaHRvY2Vhbl9oZWFkZXJfY3VzdG9tX21lbnVvY2Vhbl9tZW51X3R5cG9fZm9udF9mYW1pbHlvY2Vhbl9tZW51X3R5cG9fZm9udF9zdWJzZXRvY2Vhbl9tZW51X3R5cG9fZm9udF9zaXplb2NlYW5fbWVudV90eXBvX2ZvbnRfc2l6ZV90YWJsZXRvY2Vhbl9tZW51X3R5cG9fZm9udF9zaXplX21vYmlsZW9jZWFuX21lbnVfdHlwb19mb250X3NpemVfdW5pdG9jZWFuX21lbnVfdHlwb19mb250X3dlaWdodG9jZWFuX21lbnVfdHlwb19mb250X3dlaWdodF90YWJsZXRvY2Vhbl9tZW51X3R5cG9fZm9udF93ZWlnaHRfbW9iaWxlb2NlYW5fbWVudV90eXBvX3RyYW5zZm9ybW9jZWFuX21lbnVfdHlwb190cmFuc2Zvcm1fdGFibGV0b2NlYW5fbWVudV90eXBvX3RyYW5zZm9ybV9tb2JpbGVvY2Vhbl9tZW51X3R5cG9fbGluZV9oZWlnaHRvY2Vhbl9tZW51X3R5cG9fbGluZV9oZWlnaHRfdGFibGV0b2NlYW5fbWVudV90eXBvX2xpbmVfaGVpZ2h0X21vYmlsZW9jZWFuX21lbnVfdHlwb19saW5lX2hlaWdodF91bml0b2NlYW5fbWVudV90eXBvX3NwYWNpbmdvY2Vhbl9tZW51X3R5cG9fc3BhY2luZ190YWJsZXRvY2Vhbl9tZW51X3R5cG9fc3BhY2luZ19tb2JpbGVvY2Vhbl9tZW51X3R5cG9fc3BhY2luZ191bml0b2NlYW5fbWVudV9saW5rX2NvbG9yb2NlYW5fbWVudV9saW5rX2NvbG9yX2hvdmVyb2NlYW5fbWVudV9saW5rX2NvbG9yX2FjdGl2ZW9jZWFuX21lbnVfbGlua19iYWNrZ3JvdW5kb2NlYW5fbWVudV9saW5rX2hvdmVyX2JhY2tncm91bmRvY2Vhbl9tZW51X2xpbmtfYWN0aXZlX2JhY2tncm91bmRvY2Vhbl9tZW51X3NvY2lhbF9saW5rc19iZ29jZWFuX21lbnVfc29jaWFsX2hvdmVyX2xpbmtzX2Jnb2NlYW5fbWVudV9zb2NpYWxfbGlua3NfY29sb3JvY2Vhbl9tZW51X3NvY2lhbF9ob3Zlcl9saW5rc19jb2xvcm9jZWFuX2Rpc2FibGVfdGl0bGVvY2Vhbl9kaXNhYmxlX2hlYWRpbmdvY2Vhbl9wb3N0X3RpdGxlb2NlYW5fcG9zdF9zdWJoZWFkaW5nb2NlYW5fcG9zdF90aXRsZV9zdHlsZW9jZWFuX3Bvc3RfdGl0bGVfYmFja2dyb3VuZF9jb2xvcm9jZWFuX3Bvc3RfdGl0bGVfYmFja2dyb3VuZG9jZWFuX3Bvc3RfdGl0bGVfYmdfaW1hZ2VfcG9zaXRpb25vY2Vhbl9wb3N0X3RpdGxlX2JnX2ltYWdlX2F0dGFjaG1lbnRvY2Vhbl9wb3N0X3RpdGxlX2JnX2ltYWdlX3JlcGVhdG9jZWFuX3Bvc3RfdGl0bGVfYmdfaW1hZ2Vfc2l6ZW9jZWFuX3Bvc3RfdGl0bGVfaGVpZ2h0b2NlYW5fcG9zdF90aXRsZV9iZ19vdmVybGF5b2NlYW5fcG9zdF90aXRsZV9iZ19vdmVybGF5X2NvbG9yb2NlYW5fZGlzYWJsZV9icmVhZGNydW1ic29jZWFuX2JyZWFkY3J1bWJzX2NvbG9yb2NlYW5fYnJlYWRjcnVtYnNfc2VwYXJhdG9yX2NvbG9yb2NlYW5fYnJlYWRjcnVtYnNfbGlua3NfY29sb3JvY2Vhbl9icmVhZGNydW1ic19saW5rc19ob3Zlcl9jb2xvcm9jZWFuX2Rpc3BsYXlfZm9vdGVyX3dpZGdldHNvY2Vhbl9kaXNwbGF5X2Zvb3Rlcl9ib3R0b21vY2Vhbl9jdXN0b21fZm9vdGVyX3RlbXBsYXRlZm9vdG5vdGVzX2VsZW1lbnRvcl9lZGl0X21vZGVfZWxlbWVudG9yX3RlbXBsYXRlX3R5cGVfZWxlbWVudG9yX2RhdGFfZWxlbWVudG9yX3BhZ2Vfc2V0dGluZ3Nkb2N1bWVudGJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzdXJsYWx0Y2FwdGlvbmlkc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNoZWlnaHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzdGV4dGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzdGFnTmFtZXR5cGV1cmx0ZXh0R28gdG8gQmluYW5jZWxpbmtUYXJnZXRyZWxjbGFzc05hbWVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8ZW0+U291cmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9lbi9zcXVhcmUvcG9zdC8zNTMzMjUwMjE5MDEzNzwvZW0+ZHJvcENhcGZvbnRTaXplaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXN0YWdOYW1ldHlwZXVybHRleHRHbyB0byBCaW5hbmNlbGlua1RhcmdldHJlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNoZWlnaHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudExhc3QgZWRpdGVkOiA0Ly8yMDI2ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNoZWlnaHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RGlzY2xhaW1lcjo8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudDxzbWFsbD48ZW0+VGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGluIHRoaXMgcG9zdCBpcyBmb3IgaW5mb3JtYXRpb25hbCBhbmQgZWR1Y2F0aW9uYWwgcHVycG9zZXMgb25seSBhbmQgc2hvdWxkIG5vdCBiZSBjb25zdHJ1ZWQgYXMgcHJvZmVzc2lvbmFsIGZpbmFuY2lhbCBhZHZpY2UuIEFsd2F5cyBkbyB5b3VyIG93biByZXNlYXJjaCBvciBjb25zdWx0IHdpdGggYSBsaWNlbnNlZCBmaW5hbmNpYWwgYWR2aXNvciBiZWZvcmUgbWFraW5nIGFueSBpbnZlc3RtZW50IGRlY2lzaW9ucy48L2VtPjwvc21hbGw+aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c21hbGw+PGVtPkNyeXB0b2N1cnJlbmN5IGludmVzdG1lbnRzIGFyZSBoaWdobHkgdm9sYXRpbGUgYW5kIGludm9sdmUgc2lnbmlmaWNhbnQgcmlzaywgaW5jbHVkaW5nIHRoZSBwb3RlbnRpYWwgbG9zcyBvZiBhbGwgaW52ZXN0ZWQgY2FwaXRhbC4gUGFzdCBwZXJmb3JtYW5jZSBpcyBub3QgaW5kaWNhdGl2ZSBvZiBmdXR1cmUgcmVzdWx0cy4gVGhpcyBwb3N0IGRvZXMgbm90IGVuZG9yc2Ugb3IgcHJvbW90ZSBhbnkgc3BlY2lmaWMgY3J5cHRvY3VycmVuY3ksIHRva2VuLCBvciBpbnZlc3RtZW50IHN0cmF0ZWd5LjwvZW0+PC9zbWFsbD5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudDxzbWFsbD48ZW0+VGhpcyBwb3N0IG1heSBjb250YWluIGFmZmlsaWF0ZSBsaW5rcywgbWVhbmluZyB3ZSBtYXkgZWFybiBhIGNvbW1pc3Npb24gYXQgbm8gYWRkaXRpb25hbCBjb3N0IHRvIHlvdSBpZiB5b3UgbWFrZSBhIHB1cmNoYXNlIG9yIHNpZ24gdXAgdGhyb3VnaCBvbmUgb2YgdGhlc2UgbGlua3MuIFdlIG9ubHkgcmVjb21tZW5kIHByb2R1Y3RzIG9yIHNlcnZpY2VzIHdlIHRydXN0IGFuZCBiZWxpZXZlIGluLjwvZW0+PC9zbWFsbD5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2NrcwUHnAOOA0IArQUIBwQKB4gBBwsIBwQKBz4HCwgHBAoHJAcLCAcECge7AQcLCAcECgemAQcLCAcECgeQAgcLCAcECgeAAgcLCAcECgerBgcLtQW2F0gABwQKRwALDyERCAcPBAoHDQEDARORBQcLCAcPBAoHgwMBAgQgBwsIBw8ECgeWBwcLCAcPBAoHqQIHCwUsLoMMKhYPLa4FCAcECkcACzEIBwQKB7gEBwsIBwQKB5gCEQcLCAcECgeaBAcLCAcECgelAgcLhQYYqwgFCAcECkcACw+9AZwJlQE1CAcECgerAwcLCAcECgeGBQcLCAcECgcrBwsIBwQKB4EDBwsIBwQKBwYLCAcECgcjCwgHBAoHNwsIBwQKBxcLCAcECgeCAQsIBwQKB6sDBwsIBwQKBy8HCwgHBAoHqAMHCwgHBAoHkwUHCwgHBAoHJwcLCAcECgeXBQcLCAcECgc3BwsIBwQKB60DBwsIBwQKBwwHCwgHBAoHLAcLCAcECge8AwcLCAcECgeZAQcLCAcECgcGCwgHBAoHtQELCAcECgeCAQsIBwQKB54CCwgHBAoHmAMHCwgHBAoHOgcLCAcECge7BAcLCAcECge2AgcLCAcECgctBwsIBwQKB4AEBwsIBwQKB4gBBwsIBwQKB6sBBwsIBwQKB4EBBwsIBwQKB60EBwsIBwQKBzcHCwgHBAoHtwMHCwgHBAoHMAcLCAcECgeEBgcLCAcECgc9BwsIBwQKB5EDBwsIBwQKBwYLCAcECgeVAQsIBwQKBzoLCAcECgeVBAcLCAcECgcsBwsIBwQKB4sGBwsIBwQKBzEHCwgHBAoHoQUHCwgHBAoHOwcLCAcECgegAQcLCAcECgcqBwsIBwQKB4cEBwsIBwQKBxwHCwgHBAoHogQHCwgHBAoHHAcLCAcECge7AgcLCAcECgeBAQcLCAcECgexAwcLCAcECgcrBwsIBwQKRwALCAcECgeHAQcLCAcECgeHARGcBQcLCAcECgebBQcLCAcECgekBgcLBYICswOKF7YTvCydOb8aQQQXgw5FAbABgwKUAocCBbcBKwUHBggHBAoHlgELngMBkQaTArABCAcECgeWBQsIBwQKB44BC4wEAQgHBAoHIguoAxIIBwQKBzgLPAEXjQaSBpMFFi4BuwMSAggHBApHAAsDBxSNBgIEAwgPkAUEugRBABoGFwIBtwaJAQSMCAUHBQcIBwQKRwALD5EBBpwCBQegAggHBApHAAu\/BaIFAxYYiAIDjQEEAQgHBApHAAsYngMWGAIIHgUHCAQIBAgGCAUiCAcqGKQLGIsBowEwFRYYggKFAYsDGKETCAcIBggOCA4IC0gBBBEZISINFBUUHl0AHBMbJWQAIxUUEh0cERgbYgAcYwAYWwAZYAAeG2IAGWAAG2IAIBdeABwVGxwaICEaIB0jExUQFRYhGyIkIB4XGyEZFyEdIxwbHAkUGA8YCAYIBw8ECkMABwIIDwsIBw8ECkcACwgHDwQKBwsIBw8ECgYLCAcPBApHAAsIBw8ECgQLCAcPBAoLCAcPBAoHBAMEDQoDCQsIBw8ECgYLCAcPBApHAAsIBw8ECgeGAQcICwgHDwQKCwgHDwQKBwQDBA0KAwsIBw8ECgYLCAcPBAoHDwUHCwgHDwQKBgsIBw8ECgccBwsIBw8ECgcGCwgHDwQKB58ECwgHDwQKB7IECwgHDwQKB7oDCwgHDwQKRwALHAEAANcFAQEABwEAAA8BBAAAAQAAAAEGAFgBAADCA0EAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAAJBAAIAQQACAEEAAgBCAQEAQQACAEEAAgBBAABBAABBAAIAQQAAQQAAQQACAEEAAEEAAgBBAAIAQQAAQQACAEEAAEEAAgBBAABBAAIAQQAAQQACAEEAAgBBAAIAQQACAMoGAbwCtwGxAawCqgKTAqQCqAKcAqcCAhAIQSA9AYMGAbEDAZ0HAbACQQQLQQIGQRGgAYQGsgMUQROmAbECQQqiAiMIIwglOQQKBEHtAZYBQQClAwGEAQGfBAGVAQGTBAE7Aa8DAT8BlAEBgwRBBQVBCAcBjQVBAawBvQGwAaABiwIWvQOECYEFqQGBDbwBgQepAbwFQQwMhgKqBUECA0EGqAOZBC6iBUEFkgRBARIBrgNBApMBEZACAYIEuwMSEUEHiAEeQQi\/BkEMqAtBAh5BApMEJL0IswSZGIodrymiA7ABnQKGDJkCkwK\/CLIKuBeTIJs8kTWeLJU7pk+3ULmeAZ8yhQKUAx6wAUFpHEEAkgZBDKsEQQCGBAGTAgGOCAGnAwGlAkEEOwGsBAGoAwGiAQG+AgGJAwGkAgGvAgEIAYIDAQcBjwEBlgEBBwGcAQGnBAGiBgEMQQkIQQqVAkEAvAMBhwMBuQIBBwGMAQGlAgGDAQGqAgG9AQEhAT4BtAIBgAEBugIBMwG8AwE4AbgEAbcBASIBOAG\/AQE2AYoCAYUBAZ4EAYoDAbICAQcBOQGmAgGEAQGyBAGiAwGeBAGmAwGLAwEHATgBsgMBuAMBlgUBrQMBCAGHAwG3BAEPAa0CAZwBAQcBigEBmQIBiQQBiQQBkgQBqAMBgwQBsAIBBwGKAQGtAwEMAbIEAaoDAZsDAb4DAbMDAQcBgwEBpAIBPwGfBQGEAQGvBQE7AZ8GAYoBAbUGAYEBAaMEAbsEAaoCAQcBoQEBnAEBDwEsAb8DAYgEAasBASsBmAEBhgQBMAE8AbkEASgBggQBKAGRBAEHAT8BtQIBqwMBrgIBpgIBKQGaAgGVBQGZBAG\/AwEHAT8BsgEBgwEBnAQBOwGgBQEtAbgDATQBtwIBNQGgAwGwBAGcAgGiAgGHAQGOBQE5AaoJATQBiwgBPwGKCAGAAQGPBwGQAQGoBAGLAQGQBwE1AZkGATwBtwUBOQGnBQG8AwEHATIBmgEBrAUBOgGuBAGSAQGlAgGXAQG0AwE+AaoDAZQBAaYDAYgBAZQBAYABAZQDAa0CAQcBIwGqBAEQAYADAbQCAaAFAYQDAYEFAYYEQQUHQQkIQQkCQSADrAgAfQF3JDlmOTNmNjU4LWM5YjYtNDQ0Mi1hYjY1LTM5NDY3Y2JiMTQxNnckYjcyZmM0NGYtYTEyMy00NWNjLThlMzEtYzNmZGNjOTU1OTBmeHcOY29yZS9wYXJhZ3JhcGh5dyQ1NjU0OGU3Zi05ZjQyLTQwNDAtOGYwNS00Njg5NjMxZmFiMDh4dw5jb3JlL3BhcmFncmFwaHl3JGRiOTAxOTY3LWNmZDMtNDFmZS1hOTg4LTRlNTdjZDI2NjBmYnh3DmNvcmUvcGFyYWdyYXBoeXckN2U5NmQ0MDUtNzU2NC00MDdhLWE3NzYtMjg4NDdjMzE1ODQ2eHcOY29yZS9wYXJhZ3JhcGh5dyQ2ZTNhYTYyMi1mNzY2LTQyNzItYTczYy0wMjRjNmQxZDk1YmF4dw5jb3JlL3BhcmFncmFwaHl3JDJlMTg5OTAwLTM0YWEtNGZjMS05MGQ5LWVlN2NhM2Y2YTkzY3h3DmNvcmUvcGFyYWdyYXBoeXckNWE3ZjNlNWQtYmRmYi00NTYxLTljOTQtNzVmMzU0OWQ0ZGMzeHcOY29yZS9wYXJhZ3JhcGh5dyRkZjk1NzQ3OS1jMDdmLTRhYzctODY2Ni03YjUxOTZmNzJlNjN4dw5jb3JlL3BhcmFncmFwaHl3JGU1Yjg0YTI0LTg4OWUtNGM4ZC04OTQ3LTgwNTc1NDIzYmI4N3h3JGRmZDQ2NzdhLTJlNzctNGVmMy04NDc1LTI3Yjk5ZDgzOGQxYnh3hQM8cD5CaW5hbmNlIGlzIGEgY3J5cG8gZXhjaGFuZ2UgcGxhdGZvcm0uJm5ic3A7IFRoaXMgZXNzZW50aWFsbHkgbWVhbnMgaXTigJlzIGEgcGxhdGZvcm0gd2hlcmUgdXNlcnMgb3IgdHJhZGVycyBjYW4gYnV5LCBzZWxsLCBhbmQgdHJhZGUgZGlnaXRhbCBjdXJyZW5jaWVzIGxpa2UgQml0Y29pbiwgRXRoZXJldW0sIGFuZCBodW5kcmVkcyBvZiBvdGhlciBkaWdpdGFsIGFzc2V0cy4gSXQgd2FzIGxhdW5jaGVkIGluIDIwMTcgYnkgQ2hhbmdwZW5nIFpoYW8gKGNvbW1vbmx5IGtub3duIGFzICJDWiIpLCBhbmQgaXQgZ3JldyBxdWl0ZSBmYXN0IHRvIGJlY29tZSBvbmUgb2YgdGhlIGxhcmdlc3QgY3J5cHRvIGV4Y2hhbmdlcyBpbiB0aGUgd29ybGQgYnkgdHJhZGluZyB2b2x1bWUuPC9wPncOY29yZS9wYXJhZ3JhcGh5dyQyOWExNjM0NC03ZWVmLTQ1NGMtODRhZC1hN2NkNTlmMzA5NDR4d\/MBPHA+SWYgeW914oCZZCB3YW50IHRvIHVuZGVyc3RhbmQgdGhhdCBpbiBwZXJzcGVjdGl2ZTogb24gYW4gYXZlcmFnZSBkYXksIEJpbmFuY2UgcHJvY2Vzc2VzIHRlbnMgb2YgYmlsbGlvbnMgb2YgZG9sbGFycyBpbiBmb3JtIG9mIHRyYW5zYWN0aW9ucy4gTWlsbGlvbnMgb2YgdHJhZGVycyBvdmVyIG1vcmUgdGhhbiAxMDAgY291bnRyaWVzIHVzZSBvZiBCaW5hbmNlIHRvIG1hbmFnZSB0aGVpciBkaWdpdGFsIGFzc2V0cy48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDhiYjk2NmQ3LWVjM2YtNDBhMy05YWNkLWEzNTIxNDFlZDk2NXh34QM8cD5Ib3dldmVyLCB0aGlzIGRvZXNu4oCZdCBtZWFuIEJpbmFuY2UgaXMgd2l0aG91dCBpdHMgY29tcGxleGl0aWVzOyBubyBmaW5hbmNpYWwgcGxhdGZvcm0gb2Ygc3VjaCBzY2FsZSBpcy4gSnVzdCBsaWtlIGFueSBiaWcgZmluYW5jaWFsIGluc3RpdHV0aW9uLCBCaW5hbmNlIGlzIHN1YmplY3QgdG8gcmVndWxhdG9yeSBzY3J1dGlueSBpbiBhIGNvdXBsZSBvZiBqdXJpc2RpY3Rpb25zLCBhbmQgaXQgaGFzIGNvbnRpbnVlZCB0byBuYXZpZ2F0ZSBhIG5vLiBvZiBsZWdhbCBhbmQgY29tcGxpYW5jZSBvYnN0YWNsZXMgb3ZlciB0aGUgeWVhcnMuIEJ1dCBhcyBvZiB0b2RheSwgaXQgc3RpbGwgdGFrZXMgbGVhZCBhcyB0aGUgZG9taW5hbnQgcGxheWVyIGluIHRoZSBnbG9iYWwgY3J5cHRvIGV4Y2hhbmdlIG1hcmtldCwgdGhhdOKAmXMgdXNlZCBieSBib3RoIGNvbXBsZXRlIGJlZ2lubmVycyBhbmQgYWR2YW5jZWQgdHJhZGVycyBhbGlrZS48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDFmMWYwOTE4LWFlYTItNDU1Yi04MmFmLTg1Mjg0Nzc0ZGJhOHh3sAE8cD5Gb3IgbmV3IHVzZXJzLCBCaW5hbmNlIG9mZmVycyBhIHJlYXNvbmFibGUgYWNjZXNzIHRvIHRoZSBlbWVyZ2luZyB3b3JsZCBvZiBjcnlwdG8sIHByb3ZpZGVkIHRoYXQgeW91IHRha2UgdGhlIHRpbWUgdG8gY29tcHJlaGVuZCB0aGUgYmFzaWNzIGJlZm9yZSB5b3UgY2FuIGJlZ2luIHRyYWRpbmcuPC9wPncOY29yZS9wYXJhZ3JhcGh5dyQ2NzdlYjQ4OC00MGU2LTQ2YmUtOTUwZS0yNGUyM2VmZmNlMWJ3DGNvcmUvaGVhZGluZ30CeHckMzUzNzQ4OWEtOTJiOC00YTE5LTgxYzAtM2JiMTRmOTRhNTIweHcOY29yZS9wYXJhZ3JhcGh5dyRkOGU5MjdmMC0xMDcwLTQzOGItYTVlOS1iYTNmMmEwY2ZkNWV4dw5jb3JlL3BhcmFncmFwaHl3JGVlYzQ1ZjFhLWNhM2EtNDY5MC04NTU2LTU4NTM4MzMxNGIwNHh3DmNvcmUvcGFyYWdyYXBoeXckNDVkZjdiOWQtNGVhNy00YjRiLTliNTAtZjkyZDMwMzYxZGI0eHcOY29yZS9wYXJhZ3JhcGh5dyRjNzQ2YzE2ZC0xOGM3LTQ5YjAtYTY1Mi1hMGUyZjc0YWIyYzd3DGNvcmUvaGVhZGluZ30CeHckNTg3ZTVmZmYtZTNjYS00MTZiLTgxMjItOWVkYzA5ZWJjOTJhd7cEPGRpdiBjbGFzcz0iYmluYW5jZS1yZWZlcnJhbC1ib3giPg0KICA8ZGl2IGNsYXNzPSJiaW5hbmNlLWxhYmVsIj5CaW5hbmNlIFJlZmVycmFsIENvZGU8L2Rpdj4NCg0KICA8ZGl2IGNsYXNzPSJiaW5hbmNlLWNvZGUtd3JhcCI+DQogICAgPHNwYW4gaWQ9ImJpbmFuY2VDb2RlIj5CT05VUzM2OTwvc3Bhbj4NCiAgICA8YnV0dG9uIG9uY2xpY2s9ImNvcHlCaW5hbmNlQ29kZSgpIj5Db3B5PC9idXR0b24+DQogIDwvZGl2Pg0KDQogIDxkaXYgY2xhc3M9ImJpbmFuY2Utbm90ZSI+DQogICAgRW50ZXIgdGhpcyBjb2RlIGR1cmluZyBzaWduLXVwIHRvIGFjdGl2YXRlIEJpbmFuY2UgcmVmZXJyYWwgcmV3YXJkcy4NCiAgPC9kaXY+DQo8L2Rpdj4NCg0KPHNjcmlwdD4NCmZ1bmN0aW9uIGNvcHlCaW5hbmNlQ29kZSgpIHsNCiAgY29uc3QgY29kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiaW5hbmNlQ29kZSIpLmlubmVyVGV4dDsNCiAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY29kZSk7DQogIGFsZXJ0KCJSZWZlcnJhbCBjb2RlIGNvcGllZDogIiArIGNvZGUpOw0KfQ0KPC9zY3JpcHQ+dwljb3JlL2h0bWx3twQ8ZGl2IGNsYXNzPSJiaW5hbmNlLXJlZmVycmFsLWJveCI+DQogIDxkaXYgY2xhc3M9ImJpbmFuY2UtbGFiZWwiPkJpbmFuY2UgUmVmZXJyYWwgQ29kZTwvZGl2Pg0KDQogIDxkaXYgY2xhc3M9ImJpbmFuY2UtY29kZS13cmFwIj4NCiAgICA8c3BhbiBpZD0iYmluYW5jZUNvZGUiPkJPTlVTMzY5PC9zcGFuPg0KICAgIDxidXR0b24gb25jbGljaz0iY29weUJpbmFuY2VDb2RlKCkiPkNvcHk8L2J1dHRvbj4NCiAgPC9kaXY+DQoNCiAgPGRpdiBjbGFzcz0iYmluYW5jZS1ub3RlIj4NCiAgICBFbnRlciB0aGlzIGNvZGUgZHVyaW5nIHNpZ24tdXAgdG8gYWN0aXZhdGUgQmluYW5jZSByZWZlcnJhbCByZXdhcmRzLg0KICA8L2Rpdj4NCjwvZGl2Pg0KDQo8c2NyaXB0Pg0KZnVuY3Rpb24gY29weUJpbmFuY2VDb2RlKCkgew0KICBjb25zdCBjb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJpbmFuY2VDb2RlIikuaW5uZXJUZXh0Ow0KICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjb2RlKTsNCiAgYWxlcnQoIlJlZmVycmFsIGNvZGUgY29waWVkOiAiICsgY29kZSk7DQp9DQo8L3NjcmlwdD53JDRlZjdkMjQ1LTVkMzItNDU1Yi1iNmUxLWJlNzNlNWRlMTE5ZXh3DmNvcmUvcGFyYWdyYXBoeXckMWMxOGFmMzktOTdlOS00MDFkLTg0MjYtYTRhOWY4YzYwOWE1eHcOY29yZS9wYXJhZ3JhcGh5dyQ3NDljMmU2Ni0yZTllLTQ1ZDQtYWIyNi1hYzBlMWZjYWIxMjJ4dw5jb3JlL3BhcmFncmFwaHl3JDhiZDU3ZjczLWUxZDUtNGYwOC1iMmNiLTA2YjQ2YWJkYjI1MXh3DmNvcmUvcGFyYWdyYXBoeXckZjQ3NzdjMzctODBhZC00Y2FjLTkxZjgtODA0M2QwNzlkZTU2eHcJY29yZS9saXN0eXcAdyQzNDVjZjRhZi1lMWI0LTRhMWItOTA1OC05NmQ3ZjZlYjhhZTh4dw5jb3JlL2xpc3QtaXRlbXckMjdhOGJhMzEtOTcwYy00YTE4LTkwZjctNjdhYmNkNDM0NjlheHcOY29yZS9saXN0LWl0ZW13JDI0ZTgxNDk0LTk5ZGUtNGRiNi04Y2U5LWM2YzlmNGNhMDUxYXh3DmNvcmUvbGlzdC1pdGVtdyRkYmUzOWJlYy1jODI4LTRlOGEtODllNC01NTNjN2M4NGM2ZjJ4dw5jb3JlL2xpc3QtaXRlbXckYmYyOTZlZmQtOTc1Ny00Y2FkLTk4ZWItMGJjMDEzZjUyZWYweHcOY29yZS9wYXJhZ3JhcGh5dyQ3YzBlZTFmMi04NDdkLTQzZjAtOTkyOS05ZWFhZTNkZWJkM2F4dw5jb3JlL3BhcmFncmFwaHl3JDk4OGNhMmQwLTQwNDktNDAzOS04NTgwLTJmNWFiMzA3Y2VmNXh3DmNvcmUvcGFyYWdyYXBoeXckOGRlNDE5M2MtNGVhOS00MmY3LWE4MDQtZDk0NTI4MTlmZGNleHcOY29yZS9wYXJhZ3JhcGh5dyRlN2I3NzQ3MC0yYjg0LTRhN2QtYjc3Yi1hYWQ5NDNmZjI1NDB4dw5jb3JlL3BhcmFncmFwaHl3JGQzNTU1Njg4LTU0N2YtNGEyMS05MGYzLTgwYTIyYWM5M2UwMHh3DmNvcmUvcGFyYWdyYXBoeXh3JGE4ZDBmNTc3LWI0NmYtNDczMS1hM2VkLTQxN2U2NDFiZjBjMnh3DmNvcmUvcGFyYWdyYXBoeXckNjYyMjUxOWEtMzJjNC00ZTVkLTgyYjUtZWFiZmVkMTZkN2VieHcOY29yZS9wYXJhZ3JhcGh5dyQ4NmNkYmRiMi1lOTYyLTQ1YWMtOWUzMC1hZjY5ODRkMDk3YWV4dw5jb3JlL3BhcmFncmFwaHl3JGVkMjY5ZDJlLTU5MWQtNGQ1Mi05ZDk4LTRlZDBmNzIyYTg1Y3h3DmNvcmUvcGFyYWdyYXBoeXckNWNkMTk5MzctZTc3My00Mjk1LWE3ZmUtNTVkOTQyMGE5ZDVjeHcOY29yZS9wYXJhZ3JhcGh5dyQxOGYzYTIzMC0zOTM1LTRhN2YtODQ0ZC1lMjZhNDAxYzc3NTh4dwljb3JlL2xpc3R5dwB3JDU3ODRlYWMzLTQ3MzMtNGMyNC1hNDZiLWE2NTU5Y2RmNTdiNHh3DmNvcmUvbGlzdC1pdGVtdyRjMTA1YTM0YS0xMTc1LTRiZTktYmVmMy1jMTA5ODgxNjgzZDR4dw5jb3JlL2xpc3QtaXRlbXckYTQ5MDI4MjUtN2NhYi00NTUyLWE4YjQtZjIwNTM3MTVlOGVkeHcOY29yZS9saXN0LWl0ZW13JGQ4YWNiMGI2LWE0OTYtNGIyNC04MTk1LWI3ZmEyYTBlYTJkNXh3DmNvcmUvcGFyYWdyYXBoeXckMTRkZmMxZWYtYTI5Zi00OWQ1LThmZTAtN2ZmOThhZDljOWU4eHcOY29yZS9wYXJhZ3JhcGh5dyQxN2ZmYTUwOC1jMzBiLTQwMmUtYjkxMC00MTI0N2QxYTRiYWV4dw5jb3JlL3BhcmFncmFwaHl3JDBjMjlhZDllLTk0NDktNDJmOC1iZjhiLTM5MTEyZjFlMTA4N3h3DmNvcmUvcGFyYWdyYXBoeXckZGZhYzU5M2MtN2Q1Mi00MjgyLWJjMDktZmEzNDY5NzFlODM2eHcOY29yZS9wYXJhZ3JhcGh5dyQ4YzlhYjUyNC0wY2VjLTRlNjctYjU2OC0xZWZhOTU2MmM3OGJ4dw5jb3JlL3BhcmFncmFwaHl4dyQ5NmFjOTY1Ni0zMDgxLTQ5ZjYtYjBiNy0xMzZiNDM3ZTdkODN4dw5jb3JlL3BhcmFncmFwaHl3JDBlZGVmMWFjLWY2ZTItNDZjYS1hYzMzLTFlNzIyOTM1NmEyZXh3DmNvcmUvcGFyYWdyYXBoeXckYjk5ZTI5YmQtNzlmNC00NTM0LTgyZWQtZDIzOWIxOWViZTAxeHcOY29yZS9wYXJhZ3JhcGh5dyQxZmVlZWI1Yy0yNjIzLTRkZGUtYmFmNS0wYTgzZDY3MTNlOTB4dw5jb3JlL3BhcmFncmFwaHl3JGQyYmQzYzI1LWFiZDQtNDRlMy1hMDc1LTY5NjNlZDNmYTMyZnh3DmNvcmUvcGFyYWdyYXBoeXckMWRjYjE1NWUtZTBjZi00ZTI3LWEwZmEtNjAzOTUxMDIyZGU0eHcOY29yZS9wYXJhZ3JhcGh5dyQwYjNjMDM4Yi1lOTg3LTRhNWMtYTRjYi0zNTcwZjUwY2VjNWF4dw5jb3JlL3BhcmFncmFwaHl3JGMyOTUyNmY0LWUwMDUtNDExNi1iMmMxLWI0MTBkMjQwNTE4MHh3DmNvcmUvcGFyYWdyYXBoeXckOGM0YjQ0YjItMTQ0Yy00YjkzLWIwYzMtMGZjZjVlYzAxMmIxeHcOY29yZS9wYXJhZ3JhcGh5dyQ0Y2ZkMTk3OS1lNTQxLTRlYzAtYmE3NC1iMDRkNDM4MDRkMTh4dwljb3JlL2xpc3R5dwB3JDQ3MTRiMDAzLWQ5M2MtNDRlMC1iNjY4LTAyZmIzMWNmNTZhMnh3DmNvcmUvbGlzdC1pdGVtdyRlMDA2MjhhZC01YzdhLTQzYzMtYTRkZi03ZDE5ZTExNDUyYzl4dw5jb3JlL2xpc3QtaXRlbXckMDQ3MDNlZTYtNjlhYy00ZjNjLWEyZWMtMzI2ZTNkZTUxYmVkeHcOY29yZS9wYXJhZ3JhcGh5dyQ5NDZiNjNkOS0wNmYxLTQyMWUtOTM3Mi0wYzM2OGE1Mjk3YmF4dw5jb3JlL3BhcmFncmFwaHl3JDg0NDJjYjYzLWRiOGEtNGZhOC05MmQ0LTczZDgyZGJkYTQwMnh3DmNvcmUvcGFyYWdyYXBoeXckZTUwZGUyODMtYjMzYi00ZTljLTg2ZDAtNmFiZjZlOTY4NTIyeHcOY29yZS9wYXJhZ3JhcGh5dyQ0OTA2MDg5ZC0xZmEwLTQ0NDEtYThjOS1hYmIwZWVjNDRkZjR4dw5jb3JlL3BhcmFncmFwaHl4dyRiNDZhZmVmOS0zZDk5LTQxMjktYTA4Yi1kNjc4ODcxZWExMWF4dw5jb3JlL3BhcmFncmFwaHl3JDMzMTJiZDc2LTFiMTItNGVkZS1iNzZlLTY4YTRlZTgzN2I4Mnh3DmNvcmUvcGFyYWdyYXBoeXckOGVlNDJlNGYtZjU5OC00YWJmLTkwNzItZWFhOGUwZWNlMmFjeHcOY29yZS9wYXJhZ3JhcGh5dyRmY2NlYTE3OS1iMzkzLTQ5ZDItYTQ2MC0zZjc5OWEwODQ2ZjJ4dw5jb3JlL3BhcmFncmFwaHl3JGE2YmRmMzBkLTMxOTktNDE2Mi04MTJmLThjN2Q5N2NlM2ZhMHh3DmNvcmUvcGFyYWdyYXBoeXckMDg2NDk5MWYtOTQ3ZS00ODM1LWE0ZDUtYmM5N2NmMWE0NjExeHcOY29yZS9wYXJhZ3JhcGh5dyQwNWU5MmQ2NC0yMTIxLTQ0YjAtYTg5OS1jNGU3YjM2MmNkNjR4dw5jb3JlL3BhcmFncmFwaHl3JGMyYzhlNGU1LTI3MTgtNDgyZS1iN2I2LWEzZGI5NmQyZTBiMHh3DmNvcmUvcGFyYWdyYXBoeXckZTgwOTgyNzAtYTIxYi00ZmEyLTk4YTgtOTRlYWE2MzVlYTJkeHcOY29yZS9wYXJhZ3JhcGh5eHh4dyQwZDUwYjkwYi0wYzkwLTQzZGMtYmNlOC00Njg5MzY3MTIyNWJ4dw5jb3JlL3BhcmFncmFwaHl3JDU5M2I5ZjFlLThjMzUtNGEyOS1iZGMyLThiY2ZjZDM4YWZkYnh3DmNvcmUvcGFyYWdyYXBoeXckYjc5YjRiNGQtZGZkOC00ODkwLTg5ZjgtMzBlYWQxOWI1YmI4eHcOY29yZS9wYXJhZ3JhcGh5dyRiYzkwN2Y2Ni04MTc0LTQ2ZGYtOTg4OC0yYjQxNzZkNGIzY2Z3DGNvcmUvaGVhZGluZ30CdwQzMXB4dyRmMGFmZTMxNC1jZGViLTQxNDAtYjk1Ni03MTcwN2ZmYjNmODZ3DGNvcmUvaGVhZGluZ30CdyRjNmE5NWVmNC1jOTAwLTQyYzQtOTdhZS05Yzc1OThhODlhZjV3DGNvcmUvaGVhZGluZ30CdyRlNDQ5MDFlNy02NjM4LTRhZjYtYmRkNC1jOGI4ZDQxOGRkZjF3DGNvcmUvaGVhZGluZ30CdyQzMzc4ZmEzYS1mMDVjLTRhMTYtYjk3Zi01MzIxZjUzZjdiMWN3DGNvcmUvaGVhZGluZ30CdwQ0MHB4dyQwNzBkODhkNy05ODk5LTRkMGItYmEyNy00ZTkwNjMyYTFiYzR3DGNvcmUvaGVhZGluZ30CdyQ0YTQ3YzZkMC05ODEyLTRhODEtOWM3ZC02MzkyNTQ2ODI2NTl3CWNvcmUvbGlzdHh3AHckYWZjMjAwNzgtZDZjMS00YWIzLWIxYjQtYzgzNzEzYjE1ZDNleHcOY29yZS9saXN0LWl0ZW13JGFhMDUxYWQ3LTAwMmMtNDdiMi04ZjFmLWNiODdhNGI3Mzk3MHh3DmNvcmUvbGlzdC1pdGVtdyQwNjdjNjk4ZS1iN2M2LTRmY2EtYWNhOC0xNDFlYWQxMWIzYmV4dw5jb3JlL2xpc3QtaXRlbXckZDI4YjQwYjgtOTYxNS00ZGU0LTkzZTYtY2M5ODBhMDBiNWFleHcOY29yZS9saXN0LWl0ZW13JGRhYjU5MGE3LTNiMDItNGNkOS04YzhiLThhNDljOTY0YmNhZnh3DmNvcmUvbGlzdC1pdGVteHckYTRhMjFlYTUtNDYwMC00MDQyLTk3ZmMtMWQ1ZDM5YjE0MWM3dwpjb3JlL2ltYWdldyxCT05VUzM2OSBiaW5hbmNlIHJlZmVycmFsIGlkIHdpdGggJDYwMCBib251c32DCHdtaHR0cHM6Ly9iaXpzbWFydC5jby5rZS9jcnlwdG9yZXZvbHV0aW9uL2JpbmFuY2UtcmVmZXJyYWwtY29kZS9iaW5hbmNlLXJlZmVycmFsLWNvZGUtd2l0aC11cC10by02MDAtY3J5cHRvcmV2L3d+aHR0cHM6Ly9iaXpzbWFydC5jby5rZS9jcnlwdG9yZXZvbHV0aW9uL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAxL2JpbmFuY2UtcmVmZXJyYWwtY29kZS13aXRoLXVwLXRvLTYwMC1jcnlwdG9yZXYtMTAyNHg1MzMucG5ndwVsYXJnZXcEbm9uZXdzaHR0cHM6Ly9iaXpzbWFydC5jby5rZS9jcnlwdG9yZXZvbHV0aW9uL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA0L3RoZS1CaW5hbmNlLXJlZmVycmFsLWNvZGUtaW4tMjAyNi0xLTEwMjR4NTE1LnBuZ3chVGhlIEJpbmFuY2UgcmVmZXJyYWwgY29kZSBpbiAyMDI2faoLd2JodHRwczovL2JpenNtYXJ0LmNvLmtlL2NyeXB0b3Jldm9sdXRpb24vYmluYW5jZS1yZWZlcnJhbC1jb2RlL3RoZS1iaW5hbmNlLXJlZmVycmFsLWNvZGUtaW4tMjAyNi0xL3ckYTQ4OGFlY2MtNDNjMi00NTE1LThlZTItNzFmMDNmZWFkYTA2eHcOY29yZS9wYXJhZ3JhcGh5e0J52VoreWAAe0Ho3C4joAAAJQB3JDQ3NTkyYWU1LTVjY2EtNGRjOC04NDc1LWFiZTQxM2ZiMmNjNXh3DmNvcmUvcGFyYWdyYXBoeXckZTRiNzUwOWUtYzI4OS00NTUyLTgxZTEtYTYzNWM2NjgxNmFkeHcOY29yZS9wYXJhZ3JhcGh5\/gUAdxMyMDI2LTAxLTAzVDA1OjE3OjE3dxViaW5hbmNlLXJlZmVycmFsLWNvZGV3B3B1Ymxpc2h9AX27AncGY2xvc2VkdwZjbG9zZWR3AHcAdwB9AH0AdwB3AHcGZW5hYmxldwB3AHcAdwB3AHcAdwB3AHcAdwB3AHcHZGVmYXVsdHcHZGVmYXVsdHcAdwB3AH0AfQB9AH0AfQB9AH0AfQB3AHcAdwB9AH0AfQB3AnB4dwB3AHcAdwB3AHcAfQB9AH0AdwB9AH0AfQB3AHcAdwB3AHcAdwB3AHcAdwB3AHcAdwdkZWZhdWx0dwdkZWZhdWx0dwB3AHcAdwB9AHcAdwB3AHcAfQB8PwAAAHcAdwdkZWZhdWx0dwB3AHcAdwB3B2RlZmF1bHR3B2RlZmF1bHR3AHcAdwB3AHcAfnckNTQyMmY2MjktNDJlNC00ZjRkLTgwNzctZjk1ZGVmMGVmZDcxeHfJATxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2UiPjxpbWcgc3JjPSJodHRwczovL2JpenNtYXJ0LmNvLmtlL2NyeXB0b3Jldm9sdXRpb24vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDEvYmluYW5jZS1yZWZlcnJhbC1pZC1waWN0b3JpYWwtMTAyNHg1MDkucG5nIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTUzMyIvPjwvZmlndXJlPncKY29yZS9pbWFnZXcFbGFyZ2V3BG5vbmV4dw5jb3JlL3BhcmFncmFwaHl3JDliYjI0N2I4LTA2YzMtNGUwZC05Y2NjLTNkZjlkODZlYTY4YXh3pAQ8ZGl2IGNsYXNzPSJiaW5hbmNlLXJlZmVycmFsLWJveCI+CiAgPGRpdiBjbGFzcz0iYmluYW5jZS1sYWJlbCI+QmluYW5jZSBSZWZlcnJhbCBDb2RlPC9kaXY+CgogIDxkaXYgY2xhc3M9ImJpbmFuY2UtY29kZS13cmFwIj4KICAgIDxzcGFuIGlkPSJiaW5hbmNlQ29kZSI+Qk9OVVMzNjk8L3NwYW4+CiAgICA8YnV0dG9uIG9uY2xpY2s9ImNvcHlCaW5hbmNlQ29kZSgpIj5Db3B5PC9idXR0b24+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImJpbmFuY2Utbm90ZSI+CiAgICBFbnRlciB0aGlzIGNvZGUgZHVyaW5nIHNpZ24tdXAgdG8gYWN0aXZhdGUgQmluYW5jZSByZWZlcnJhbCByZXdhcmRzLgogIDwvZGl2Pgo8L2Rpdj4KCjxzY3JpcHQ+CmZ1bmN0aW9uIGNvcHlCaW5hbmNlQ29kZSgpIHsKICBjb25zdCBjb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJpbmFuY2VDb2RlIikuaW5uZXJUZXh0OwogIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNvZGUpOwogIGFsZXJ0KCJSZWZlcnJhbCBjb2RlIGNvcGllZDogIiArIGNvZGUpOwp9Cjwvc2NyaXB0PncJY29yZS9odG1sd6QEPGRpdiBjbGFzcz0iYmluYW5jZS1yZWZlcnJhbC1ib3giPgogIDxkaXYgY2xhc3M9ImJpbmFuY2UtbGFiZWwiPkJpbmFuY2UgUmVmZXJyYWwgQ29kZTwvZGl2PgoKICA8ZGl2IGNsYXNzPSJiaW5hbmNlLWNvZGUtd3JhcCI+CiAgICA8c3BhbiBpZD0iYmluYW5jZUNvZGUiPkJPTlVTMzY5PC9zcGFuPgogICAgPGJ1dHRvbiBvbmNsaWNrPSJjb3B5QmluYW5jZUNvZGUoKSI+Q29weTwvYnV0dG9uPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJiaW5hbmNlLW5vdGUiPgogICAgRW50ZXIgdGhpcyBjb2RlIGR1cmluZyBzaWduLXVwIHRvIGFjdGl2YXRlIEJpbmFuY2UgcmVmZXJyYWwgcmV3YXJkcy4KICA8L2Rpdj4KPC9kaXY+Cgo8c2NyaXB0PgpmdW5jdGlvbiBjb3B5QmluYW5jZUNvZGUoKSB7CiAgY29uc3QgY29kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiaW5hbmNlQ29kZSIpLmlubmVyVGV4dDsKICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjb2RlKTsKICBhbGVydCgiUmVmZXJyYWwgY29kZSBjb3BpZWQ6ICIgKyBjb2RlKTsKfQo8L3NjcmlwdD53JDNmZTM5MjI4LWU3MzItNDk1Yi1iNjNjLTI2NDI1YzJhNDc4MXh3SjxkaXYgc3R5bGU9ImhlaWdodDozM3B4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncEMzNweHh3DmNvcmUvcGFyYWdyYXBoeXckNWE5MGRkOTctM2MxMi00M2IyLWE1ZWEtOWU0MzRjMzI2ZWM2eHcIW2V6LXRvY113DmNvcmUvc2hvcnRjb2RldwhbZXotdG9jXXckZjM4MmUwMmYtN2IwZS00NzdkLWFjYjgtNjEwNWEzMTBkMGQ2eHckPGRpdiBjbGFzcz0id3AtYmxvY2stYnV0dG9ucyI+PC9kaXY+dwxjb3JlL2J1dHRvbnN3JDAyNjdmY2Y0LTcxMDMtNGRjNC05YjgyLTg5OTg4N2RiNGI5NHh34QE8ZGl2IGNsYXNzPSJ3cC1ibG9jay1idXR0b24gaXMtc3R5bGUtZmlsbCI+PGEgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbl9fbGluayB3cC1lbGVtZW50LWJ1dHRvbiIgaHJlZj0iaHR0cHM6Ly9iaW5hbmNlLmNvbS9yZWdpc3Rlcj9yZWY9Qk9OVVMzNjkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIgbm9mb2xsb3ciPkdvIHRvIEJpbmFuY2UmZ3Q7Jmd0OzwvYT48L2Rpdj53C2NvcmUvYnV0dG9udwFhdwZidXR0b253KWh0dHBzOi8vYmluYW5jZS5jb20vcmVnaXN0ZXI\/cmVmPUJPTlVTMzY5dwZfYmxhbmt3HG5vcmVmZXJyZXIgbm9vcGVuZXIgbm9mb2xsb3d3DWlzLXN0eWxlLWZpbGx3JGM3MTIzZDQ0LTdlYWItNDRlZi1hZTVhLWNkMzY4Y2FiZmZlNnh3SjxkaXYgc3R5bGU9ImhlaWdodDo1NHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcnh3JDFiYzhlOGY5LWUzNDgtNGIzYi1hOTQzLTcwZWUxMDgxMzg4Y3h3aTxwIGNsYXNzPSJoYXMtc21hbGwtZm9udC1zaXplIj48ZW0+U291cmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9lbi9zcXVhcmUvcG9zdC8zNTMzMjUwMjE5MDEzNzwvZW0+PC9wPncOY29yZS9wYXJhZ3JhcGh5dwVzbWFsbHckYzRkMDRkNDYtMmM0NS00N2Y0LTkxMjYtODdiMTliNjI1ZThjeHckPGRpdiBjbGFzcz0id3AtYmxvY2stYnV0dG9ucyI+PC9kaXY+dwxjb3JlL2J1dHRvbnN3JDY3ZDU3N2E3LTMwZWEtNDU1My1hZTdiLWViYzY1YWM5Zjc3ZXh30wE8ZGl2IGNsYXNzPSJ3cC1ibG9jay1idXR0b24iPjxhIGNsYXNzPSJ3cC1ibG9jay1idXR0b25fX2xpbmsgd3AtZWxlbWVudC1idXR0b24iIGhyZWY9Imh0dHBzOi8vYmluYW5jZS5jb20vcmVnaXN0ZXI\/cmVmPUJPTlVTMzY5IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIG5vZm9sbG93Ij5HbyB0byBCaW5hbmNlJmd0OyZndDs8L2E+PC9kaXY+dwtjb3JlL2J1dHRvbncBYXcGYnV0dG9udylodHRwczovL2JpbmFuY2UuY29tL3JlZ2lzdGVyP3JlZj1CT05VUzM2OXcGX2JsYW5rdxxub3JlZmVycmVyIG5vb3BlbmVyIG5vZm9sbG93dyRjMjg4Y2JhYy1kMDNkLTRjMTktOGRkYS05OWM2MGJmMTRlY2J4d0o8ZGl2IHN0eWxlPSJoZWlnaHQ6MzBweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2PncLY29yZS9zcGFjZXJ3BDMwcHh3JDEwMjQwOTAxLTYwYjktNDA1My1iMWZiLWZjNThiY2UxN2QyYnh3HTxwPkxhc3QgZWRpdGVkOiA0LzA0LzIwMjY8L3A+dw5jb3JlL3BhcmFncmFwaHl3JDM0NGNkMzcyLTc4Y2ItNGM2OS1iYWZkLTA4OGEyZTI4NjNjMXh3SjxkaXYgc3R5bGU9ImhlaWdodDo4MnB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcnckOGUyZGNmNGYtMGJlMC00OGUzLTkwNzUtMjA0MjhhZjNhODcxeHcjPHA+PHN0cm9uZz5EaXNjbGFpbWVyOjwvc3Ryb25nPjwvcD53DmNvcmUvcGFyYWdyYXBoeXckYjdiNWY5NTEtNzliOC00OThhLWFhOGYtM2M2NTZlMzczMWY2eHcjPG9sIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij4KCgoKPC9vbD53CWNvcmUvbGlzdHh3AHckNDEzNjIxN2MtOTFiYy00OWVlLTk0OGQtODZkMDMyZWUyMWZieHeoAjxsaT48c21hbGw+PGVtPlRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBpbiB0aGlzIHBvc3QgaXMgZm9yIGluZm9ybWF0aW9uYWwgYW5kIGVkdWNhdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kIHNob3VsZCBub3QgYmUgY29uc3RydWVkIGFzIHByb2Zlc3Npb25hbCBmaW5hbmNpYWwgYWR2aWNlLiBBbHdheXMgZG8geW91ciBvd24gcmVzZWFyY2ggb3IgY29uc3VsdCB3aXRoIGEgbGljZW5zZWQgZmluYW5jaWFsIGFkdmlzb3IgYmVmb3JlIG1ha2luZyBhbnkgaW52ZXN0bWVudCBkZWNpc2lvbnMuPC9lbT48L3NtYWxsPjwvbGk+dw5jb3JlL2xpc3QtaXRlbXckZDVkNjRmMDMtMTZiNC00MTRhLThmNTktNWE3NzljNzg1MjRjeHe7AjxsaT48c21hbGw+PGVtPkNyeXB0b2N1cnJlbmN5IGludmVzdG1lbnRzIGFyZSBoaWdobHkgdm9sYXRpbGUgYW5kIGludm9sdmUgc2lnbmlmaWNhbnQgcmlzaywgaW5jbHVkaW5nIHRoZSBwb3RlbnRpYWwgbG9zcyBvZiBhbGwgaW52ZXN0ZWQgY2FwaXRhbC4gUGFzdCBwZXJmb3JtYW5jZSBpcyBub3QgaW5kaWNhdGl2ZSBvZiBmdXR1cmUgcmVzdWx0cy4gVGhpcyBwb3N0IGRvZXMgbm90IGVuZG9yc2Ugb3IgcHJvbW90ZSBhbnkgc3BlY2lmaWMgY3J5cHRvY3VycmVuY3ksIHRva2VuLCBvciBpbnZlc3RtZW50IHN0cmF0ZWd5LjwvZW0+PC9zbWFsbD48L2xpPncOY29yZS9saXN0LWl0ZW13JDVkMzEzM2NlLTQzZDItNGE5YS04MzFkLTg2ODNmYjhjZWU4Nnh3gwI8bGk+PHNtYWxsPjxlbT5UaGlzIHBvc3QgbWF5IGNvbnRhaW4gYWZmaWxpYXRlIGxpbmtzLCBtZWFuaW5nIHdlIG1heSBlYXJuIGEgY29tbWlzc2lvbiBhdCBubyBhZGRpdGlvbmFsIGNvc3QgdG8geW91IGlmIHlvdSBtYWtlIGEgcHVyY2hhc2Ugb3Igc2lnbiB1cCB0aHJvdWdoIG9uZSBvZiB0aGVzZSBsaW5rcy4gV2Ugb25seSByZWNvbW1lbmQgcHJvZHVjdHMgb3Igc2VydmljZXMgd2UgdHJ1c3QgYW5kIGJlbGlldmUgaW4uPC9lbT48L3NtYWxsPjwvbGk+dw5jb3JlL2xpc3QtaXRlbXckYTcwNmQ3NWUtMTQ1Yi00ZjQ3LWJlNWQtM2Y0Y2E3ZmQ1MDJieHcHPHA+PC9wPncOY29yZS9wYXJhZ3JhcGh5A53ihbcMVwG7AdwB3wrOAQECDwIH6BrBCgEAAQACAAEBIQo9BdoJXyyDAy7xAYMGE+sDAAEAAgABAI8EENEDZYUDsAHHBAABAAEB3gXnAlUAzRIAAQA5APYQAAEASgC+FgABAD0AogoAAQAtAAIAAQABVwH5DAEAAQBJAF8E7QjVArgYa7wWfN0cb78NXwGKAQGSAgHDBAHAAgFoAbwHF8ADgwfkA5sEDHeFASvpAgQCYegB3wGYApEDjwO1BZICtQIRAe4BuQJTPBCgCY8BLv0DASL7AQASAQEAAQABAQMAAUehAx2HCb4D2QQBFwDav72\/BgcAAKgB4wUW5wWgAQJNAwkX9AEdlfPJiwQkAAAnkgIqIxi8BOQFsgIYmAxLuCNj4QEwbyucARiB1AKCAYQBRdMBywEdGG\/ICgEBAAQAAQADGwKSAxEAAQADqgICtwoIyhQeBwoAAgABAQKVAQHX6QFQBx4HIQENAA==\",\"updateId\":280804652}","ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","footnotes":""},"class_list":["post-182","page","type-page","status-publish","has-post-thumbnail","hentry","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Binance Referral Code : (BONUS369) - Crypto Revolution<\/title>\n<meta name=\"description\" content=\"The most generous Binance referral code in 2026 is: BONUS369 with a $600 welcome bonus and a 20% lifetime discount\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Binance Referral Code : (BONUS369) - Crypto Revolution\" \/>\n<meta property=\"og:description\" content=\"The most generous Binance referral code in 2026 is: BONUS369 with a $600 welcome bonus and a 20% lifetime discount\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/\" \/>\n<meta property=\"og:site_name\" content=\"Crypto Revolution\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-26T11:55:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/Binance-referral-code-4-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/binance-referral-code\\\/\",\"url\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/binance-referral-code\\\/\",\"name\":\"Binance Referral Code : (BONUS369) - Crypto Revolution\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/binance-referral-code\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/binance-referral-code\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/Binance-referral-code-4-scaled.png\",\"datePublished\":\"2026-01-03T05:17:17+00:00\",\"dateModified\":\"2026-04-26T11:55:56+00:00\",\"description\":\"The most generous Binance referral code in 2026 is: BONUS369 with a $600 welcome bonus and a 20% lifetime discount\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/binance-referral-code\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/binance-referral-code\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/binance-referral-code\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/Binance-referral-code-4-scaled.png\",\"contentUrl\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/Binance-referral-code-4-scaled.png\",\"width\":2560,\"height\":1280,\"caption\":\"binance referral code\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/binance-referral-code\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Binance Referral Code : (BONUS369)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/#website\",\"url\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/\",\"name\":\"Crypto Revolution\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/#organization\",\"name\":\"Crypto Revolution\",\"url\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-2vtLe5-LogoMakr.png\",\"contentUrl\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-2vtLe5-LogoMakr.png\",\"width\":250,\"height\":61,\"caption\":\"Crypto Revolution\"},\"image\":{\"@id\":\"https:\\\/\\\/bizsmart.co.ke\\\/cryptorevolution\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Binance Referral Code : (BONUS369) - Crypto Revolution","description":"The most generous Binance referral code in 2026 is: BONUS369 with a $600 welcome bonus and a 20% lifetime discount","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/","og_locale":"en_US","og_type":"article","og_title":"Binance Referral Code : (BONUS369) - Crypto Revolution","og_description":"The most generous Binance referral code in 2026 is: BONUS369 with a $600 welcome bonus and a 20% lifetime discount","og_url":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/","og_site_name":"Crypto Revolution","article_modified_time":"2026-04-26T11:55:56+00:00","og_image":[{"width":2560,"height":1280,"url":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/Binance-referral-code-4-scaled.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/","url":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/","name":"Binance Referral Code : (BONUS369) - Crypto Revolution","isPartOf":{"@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#primaryimage"},"image":{"@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#primaryimage"},"thumbnailUrl":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/Binance-referral-code-4-scaled.png","datePublished":"2026-01-03T05:17:17+00:00","dateModified":"2026-04-26T11:55:56+00:00","description":"The most generous Binance referral code in 2026 is: BONUS369 with a $600 welcome bonus and a 20% lifetime discount","breadcrumb":{"@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#primaryimage","url":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/Binance-referral-code-4-scaled.png","contentUrl":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2026\/01\/Binance-referral-code-4-scaled.png","width":2560,"height":1280,"caption":"binance referral code"},{"@type":"BreadcrumbList","@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/binance-referral-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bizsmart.co.ke\/cryptorevolution\/"},{"@type":"ListItem","position":2,"name":"Binance Referral Code : (BONUS369)"}]},{"@type":"WebSite","@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/#website","url":"https:\/\/bizsmart.co.ke\/cryptorevolution\/","name":"Crypto Revolution","description":"","publisher":{"@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bizsmart.co.ke\/cryptorevolution\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/#organization","name":"Crypto Revolution","url":"https:\/\/bizsmart.co.ke\/cryptorevolution\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/#\/schema\/logo\/image\/","url":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2024\/11\/cropped-2vtLe5-LogoMakr.png","contentUrl":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-content\/uploads\/2024\/11\/cropped-2vtLe5-LogoMakr.png","width":250,"height":61,"caption":"Crypto Revolution"},"image":{"@id":"https:\/\/bizsmart.co.ke\/cryptorevolution\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-json\/wp\/v2\/pages\/182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-json\/wp\/v2\/comments?post=182"}],"version-history":[{"count":66,"href":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-json\/wp\/v2\/pages\/182\/revisions"}],"predecessor-version":[{"id":753,"href":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-json\/wp\/v2\/pages\/182\/revisions\/753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-json\/wp\/v2\/media\/187"}],"wp:attachment":[{"href":"https:\/\/bizsmart.co.ke\/cryptorevolution\/wp-json\/wp\/v2\/media?parent=182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}