QI-Core Implementation Guide
6.0.0 - STU6 United States of America flag

QI-Core Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 6.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-qi-core/ and changes regularly. See the Directory of published versions

: QICore Model Definition - XML Representation

Active as of 2024-02-12

Raw xml | Download



<Library xmlns="http://hl7.org/fhir">
  <id value="QICore-ModelInfo"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
    <table class="grid dict">
        
        <tr>
            <th scope="row"><b>Id: </b></th>
            <td style="padding-left: 4px;">QICore-ModelInfo</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="Library-QICore-ModelInfo.html">QICore Model Definition</a></td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Version: </b></th>
            <td style="padding-left: 4px;">6.0.0</td>
        </tr>
        
        
        
        <tr>
            <th scope="row"><b>Name: </b></th>
            <td style="padding-left: 4px;">QICore</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Title: </b></th>
            <td style="padding-left: 4px;">QICore Model Definition</td>
        </tr>
        
        
        
        <tr>
            <th scope="row"><b>Status: </b></th>
            <td style="padding-left: 4px;">active</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Experimental: </b></th>
            <td style="padding-left: 4px;">false</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Type: </b></th>
            <td style="padding-left: 4px;">
                
                    
                        
                        <p style="margin-bottom: 5px;">
                            <b>system: </b> <span><a href="http://terminology.hl7.org/5.4.0/CodeSystem-library-type.html">LibraryType</a></span>
                        </p>
                        
                        
                        <p style="margin-bottom: 5px;">
                            <b>code: </b> <span>model-definition</span>
                        </p>
                        
                        
                    
                
                
            </td>
        </tr>
        
        
        
        <tr>
            <th scope="row"><b>Date: </b></th>
            <td style="padding-left: 4px;">2024-02-12</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Publisher: </b></th>
            <td style="padding-left: 4px;">HL7 International / Clinical Quality Information</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Description: </b></th>
            <td style="padding-left: 4px;">Model definition for the QI-Core IG Model</td>
        </tr>
        
        
        
        
        
        <tr>
            <th scope="row"><b>Jurisdiction: </b></th>
            <td style="padding-left: 4px;">US</td>
        </tr>
        
        
        
        
        
        <tr>
            <th scope="row"><b>Approval Date: </b></th>
            <td style="padding-left: 4px;">2024-02-12</td>
        </tr>
        
        
        <tr>
            <th scope="row"><b>Last Review Date: </b></th>
            <td style="padding-left: 4px;">2024-02-12</td>
        </tr>
        
        
        
        
        
        
        
        
        <tr>
          <td colspan="2">
            <table>
              <tr><th><b>Content: </b> application/xml</th></tr>
              <tr><td><pre><code>Encoded data (1823804 characters)</code></pre></td></tr>
            </table>
          </td>
        </tr>
        
        
    </table>
</div>
  </text>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="cqi"/>
  </extension>
  <url value="http://hl7.org/fhir/us/qicore/Library/QICore-ModelInfo"/>
  <version value="6.0.0"/>
  <name value="QICore"/>
  <title value="QICore Model Definition"/>
  <status value="active"/>
  <experimental value="false"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="model-definition"/>
    </coding>
  </type>
  <date value="2024-02-12"/>
  <publisher value="HL7 International / Clinical Quality Information"/>
  <contact>
    <name value="Clinical Quality Information WG"/>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/cqi"/>
    </telecom>
  </contact>
  <description value="Model definition for the QI-Core IG Model"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
    </coding>
  </jurisdiction>
  <approvalDate value="2024-02-12"/>
  <lastReviewDate value="2024-02-12"/>
  <topic>
    <text value="QICore"/>
  </topic>
  <topic>
    <text value="CQL Model Information"/>
  </topic>
  <content>
    <contentType value="application/xml"/>
    <data
          value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pgo8bW9kZWxJbmZvIG5hbWU9IlFJQ29yZSIgdmVyc2lvbj0iNi4wLjAiIHVybD0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUiIHRhcmdldFVybD0iaHR0cDovL2hsNy5vcmcvZmhpciIgdGFyZ2V0UXVhbGlmaWVyPSJxaWNvcmUiIHBhdGllbnRDbGFzc05hbWU9IlBhdGllbnQiIHBhdGllbnRCaXJ0aERhdGVQcm9wZXJ0eU5hbWU9ImJpcnRoRGF0ZSIgeG1sbnM9InVybjpobDctb3JnOmVsbS1tb2RlbGluZm86cjEiIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+CiAgICA8cmVxdWlyZWRNb2RlbEluZm8gbmFtZT0iU3lzdGVtIiB2ZXJzaW9uPSIxLjAuMCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQWRkcmVzcyIgbGFiZWw9IkFkZHJlc3MiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1c2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWRkcmVzc1VzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJob21lIHwgd29yayB8IHRlbXAgfCBvbGQgfCBiaWxsaW5nIC0gcHVycG9zZSBvZiB0aGlzIGFkZHJlc3MiIGRlZmluaXRpb249IlRoZSBwdXJwb3NlIG9mIHRoaXMgYWRkcmVzcy4iIGNvbW1lbnQ9IkFwcGxpY2F0aW9ucyBjYW4gYXNzdW1lIHRoYXQgYW4gYWRkcmVzcyBpcyBjdXJyZW50IHVubGVzcyBpdCBleHBsaWNpdGx5IHNheXMgdGhhdCBpdCBpcyB0ZW1wb3Jhcnkgb3Igb2xkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkZHJlc3NVc2UiIGRlc2NyaXB0aW9uPSJUaGUgdXNlIG9mIGFuIGFkZHJlc3MuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwb3N0YWwgfCBwaHlzaWNhbCB8IGJvdGgiIGRlZmluaXRpb249IkRpc3Rpbmd1aXNoZXMgYmV0d2VlbiBwaHlzaWNhbCBhZGRyZXNzZXMgKHRob3NlIHlvdSBjYW4gdmlzaXQpIGFuZCBtYWlsaW5nIGFkZHJlc3NlcyAoZS5nLiBQTyBCb3hlcyBhbmQgY2FyZS1vZiBhZGRyZXNzZXMpLiBNb3N0IGFkZHJlc3NlcyBhcmUgYm90aC4iIGNvbW1lbnQ9IlRoZSBkZWZpbml0aW9uIG9mIEFkZHJlc3Mgc3RhdGVzIHRoYXQgJnF1b3Q7YWRkcmVzcyBpcyBpbnRlbmRlZCB0byBkZXNjcmliZSBwb3N0YWwgYWRkcmVzc2VzLCBub3QgcGh5c2ljYWwgbG9jYXRpb25zJnF1b3Q7LiBIb3dldmVyLCBtYW55IGFwcGxpY2F0aW9ucyB0cmFjayB3aGV0aGVyIGFuIGFkZHJlc3MgaGFzIGEgZHVhbCBwdXJwb3NlIG9mIGJlaW5nIGEgbG9jYXRpb24gdGhhdCBjYW4gYmUgdmlzaXRlZCBhcyB3ZWxsIGFzIGJlaW5nIGEgdmFsaWQgZGVsaXZlcnkgZGVzdGluYXRpb24sIGFuZCBQb3N0YWwgYWRkcmVzc2VzIGFyZSBvZnRlbiB1c2VkIGFzIHByb3hpZXMgZm9yIHBoeXNpY2FsIGxvY2F0aW9ucyAoYWxzbyBzZWUgdGhlIFtMb2NhdGlvbl0obG9jYXRpb24uaHRtbCMpIHJlc291cmNlKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRyZXNzVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGFuIGFkZHJlc3MgKHBoeXNpY2FsIC8gcG9zdGFsKS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBhZGRyZXNzIiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGVudGlyZSBhZGRyZXNzIGFzIGl0IHNob3VsZCBiZSBkaXNwbGF5ZWQgZS5nLiBvbiBhIHBvc3RhbCBsYWJlbC4gVGhpcyBtYXkgYmUgcHJvdmlkZWQgaW5zdGVhZCBvZiBvciBhcyB3ZWxsIGFzIHRoZSBzcGVjaWZpYyBwYXJ0cy4iIGNvbW1lbnQ9IkNhbiBwcm92aWRlIGJvdGggYSB0ZXh0IHJlcHJlc2VudGF0aW9uIGFuZCBwYXJ0cy4gQXBwbGljYXRpb25zIHVwZGF0aW5nIGFuIGFkZHJlc3MgU0hBTEwgZW5zdXJlIHRoYXQgIHdoZW4gYm90aCB0ZXh0IGFuZCBwYXJ0cyBhcmUgcHJlc2VudCwgIG5vIGNvbnRlbnQgaXMgaW5jbHVkZWQgaW4gdGhlIHRleHQgdGhhdCBpc24ndCBmb3VuZCBpbiBhIHBhcnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibGluZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdHJlZXQgbmFtZSwgbnVtYmVyLCBkaXJlY3Rpb24gJmFtcDsgUC5PLiBCb3ggZXRjLiIgZGVmaW5pdGlvbj0iVGhpcyBjb21wb25lbnQgY29udGFpbnMgdGhlIGhvdXNlIG51bWJlciwgYXBhcnRtZW50IG51bWJlciwgc3RyZWV0IG5hbWUsIHN0cmVldCBkaXJlY3Rpb24sICBQLk8uIEJveCBudW1iZXIsIGRlbGl2ZXJ5IGhpbnRzLCBhbmQgc2ltaWxhciBhZGRyZXNzIGluZm9ybWF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgY2l0eSwgdG93biBldGMuIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgY2l0eSwgdG93biwgc3VidXJiLCB2aWxsYWdlIG9yIG90aGVyIGNvbW11bml0eSBvciBkZWxpdmVyeSBjZW50ZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzdHJpY3QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRpc3RyaWN0IG5hbWUgKGFrYSBjb3VudHkpIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgYWRtaW5pc3RyYXRpdmUgYXJlYSAoY291bnR5KS4iIGNvbW1lbnQ9IkRpc3RyaWN0IGlzIHNvbWV0aW1lcyBrbm93biBhcyBjb3VudHksIGJ1dCBpbiBzb21lIHJlZ2lvbnMgJ2NvdW50eScgaXMgdXNlZCBpbiBwbGFjZSBvZiBjaXR5IChtdW5pY2lwYWxpdHkpLCBzbyBjb3VudHkgbmFtZSBzaG91bGQgYmUgY29udmV5ZWQgaW4gY2l0eSBpbnN0ZWFkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdWItdW5pdCBvZiBjb3VudHJ5IChhYmJyZXZpYXRpb25zIG9rKSIgZGVmaW5pdGlvbj0iU3ViLXVuaXQgb2YgYSBjb3VudHJ5IHdpdGggbGltaXRlZCBzb3ZlcmVpZ250eSBpbiBhIGZlZGVyYWxseSBvcmdhbml6ZWQgY291bnRyeS4gQSBjb2RlIG1heSBiZSB1c2VkIGlmIGNvZGVzIGFyZSBpbiBjb21tb24gdXNlIChlLmcuIFVTIDIgbGV0dGVyIHN0YXRlIGNvZGVzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwb3N0YWxDb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQb3N0YWwgY29kZSBmb3IgYXJlYSIgZGVmaW5pdGlvbj0iQSBwb3N0YWwgY29kZSBkZXNpZ25hdGluZyBhIHJlZ2lvbiBkZWZpbmVkIGJ5IHRoZSBwb3N0YWwgc2VydmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3VudHJ5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb3VudHJ5IChlLmcuIGNhbiBiZSBJU08gMzE2NiAyIG9yIDMgbGV0dGVyIGNvZGUpIiBkZWZpbml0aW9uPSJDb3VudHJ5IC0gYSBuYXRpb24gYXMgY29tbW9ubHkgdW5kZXJzdG9vZCBvciBnZW5lcmFsbHkgYWNjZXB0ZWQuIiBjb21tZW50PSJJU08gMzE2NiAzIGxldHRlciBjb2RlcyBjYW4gYmUgdXNlZCBpbiBwbGFjZSBvZiBhIGh1bWFuIHJlYWRhYmxlIGNvdW50cnkgbmFtZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2Qgd2hlbiBhZGRyZXNzIHdhcy9pcyBpbiB1c2UiIGRlZmluaXRpb249IlRpbWUgcGVyaW9kIHdoZW4gYWRkcmVzcyB3YXMvaXMgaW4gdXNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzc1R5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzc1VzZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZG1pbmlzdHJhdGl2ZUdlbmRlciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZHZlcnNlRXZlbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWFkdmVyc2VldmVudCIgbGFiZWw9IlFJQ29yZSBBZHZlcnNlRXZlbnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImV2ZW50IiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciB0aGUgZXZlbnQiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgYWR2ZXJzZSBldmVudCBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3R1YWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBhY3R1YWwgfCBwb3RlbnRpYWwiIGRlZmluaXRpb249IldoZXRoZXIgdGhlIGV2ZW50IGFjdHVhbGx5IGhhcHBlbmVkLCBvciBqdXN0IGhhZCB0aGUgcG90ZW50aWFsIHRvLiBOb3RlIHRoYXQgdGhpcyBpcyBpbmRlcGVuZGVudCBvZiB3aGV0aGVyIGFueW9uZSB3YXMgYWZmZWN0ZWQgb3IgaGFybWVkIG9yIGhvdyBzZXZlcmVseS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBZHZlcnNlRXZlbnRBY3R1YWxpdHkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIG5hdHVyZSBvZiB0aGUgYWR2ZXJzZSBldmVudCwgZS5nLiByZWFsIG9yIHBvdGVudGlhbC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBwcm9kdWN0LXByb2JsZW0gfCBwcm9kdWN0LXF1YWxpdHkgfCBwcm9kdWN0LXVzZS1lcnJvciB8IHdyb25nLWRvc2UgfCBpbmNvcnJlY3QtcHJlc2NyaWJpbmctaW5mb3JtYXRpb24gfCB3cm9uZy10ZWNobmlxdWUgfCB3cm9uZy1yb3V0ZS1vZi1hZG1pbmlzdHJhdGlvbiB8IHdyb25nLXJhdGUgfCB3cm9uZy1kdXJhdGlvbiB8IHdyb25nLXRpbWUgfCBleHBpcmVkLWRydWcgfCBtZWRpY2FsLWRldmljZS11c2UtZXJyb3IgfCBwcm9ibGVtLWRpZmZlcmVudC1tYW51ZmFjdHVyZXIgfCB1bnNhZmUtcGh5c2ljYWwtZW52aXJvbm1lbnQiIGRlZmluaXRpb249IlRoZSBvdmVyYWxsIHR5cGUgb2YgZXZlbnQsIGludGVuZGVkIGZvciBzZWFyY2ggYW5kIGZpbHRlcmluZyBwdXJwb3Nlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIGNhdGVnb3JpemF0aW9uIG9mIHRoZSBldmVudCwgZS5nLiBwcm9kdWN0LXJlbGF0ZWQgb3Igc2l0dWF0aW9uYWwuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJldmVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFR5cGUgb2YgdGhlIGV2ZW50IGl0c2VsZiBpbiByZWxhdGlvbiB0byB0aGUgc3ViamVjdCIgZGVmaW5pdGlvbj0iVGhpcyBlbGVtZW50IGRlZmluZXMgdGhlIHNwZWNpZmljIHR5cGUgb2YgZXZlbnQgdGhhdCBvY2N1cnJlZCBvciB0aGF0IHdhcyBwcmV2ZW50ZWQgZnJvbSBvY2N1cnJpbmcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkRldGFpbGVkIHR5cGUgb2YgZXZlbnQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFN1YmplY3QgaW1wYWN0ZWQgYnkgZXZlbnQiIGRlZmluaXRpb249IlRoaXMgc3ViamVjdCBvciBncm91cCBpbXBhY3RlZCBieSB0aGUgZXZlbnQuIiBjb21tZW50PSJJZiBBZHZlcnNlRXZlbnQucmVzdWx0aW5nQ29uZGl0aW9uIGRpZmZlcnMgYW1vbmcgbWVtYmVycyBvZiB0aGUgZ3JvdXAsIHRoZW4gdXNlIFBhdGllbnQgYXMgdGhlIHN1YmplY3QuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgRW5jb3VudGVyIGR1cmluZyB3aGljaCBBZHZlcnNlRXZlbnQgd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuICBGb3IgZXhhbXBsZSwgaWYgYSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBjb25zaWRlcmVkIGFuIGFkdmVyc2UgZXZlbnQgYmVjYXVzZSBpdCByZXN1bHRlZCBpbiBhIHJhc2gsIHRoZW4gdGhlIGVuY291bnRlciB3aGVuIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBnaXZlbiBpcyB0aGUgY29udGV4dC4gIElmIHRoZSBwYXRpZW50IHJlcG9ydHMgdGhlIEFkdmVyc2VFdmVudCBkdXJpbmcgYSBzZWNvbmQgZW5jb3VudGVyLCB0aGF0IHNlY29uZCBlbmNvdW50ZXIgaXMgbm90IHRoZSBjb250ZXh0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgZXZlbnQgb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIChhbmQgcGVyaGFwcyB0aW1lKSB3aGVuIHRoZSBhZHZlcnNlIGV2ZW50IG9jY3VycmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0ZWN0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgZXZlbnQgd2FzIGRldGVjdGVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUgdGhlIEFkdmVyc2VFdmVudCBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIHJlcG9ydGVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVkRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBldmVudCB3YXMgcmVjb3JkZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSBleGlzdGVuY2Ugb2YgdGhlIEFkdmVyc2VFdmVudCB3YXMgZmlyc3QgcmVjb3JkZWQuIiBjb21tZW50PSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgdGhlIGRhdGUgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQWR2ZXJzZUV2ZW50IHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCBub3QgdGhlIGRhdGUgb2YgdGhlIG1vc3QgcmVjZW50IHVwZGF0ZS4gIFRoZSBkYXRlIG9mIHRoZSBsYXN0IHJlY29yZCBtb2RpZmljYXRpb24gY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSByZXNvdXJjZSBtZXRhZGF0YS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHRpbmdDb25kaXRpb24iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRWZmZWN0IG9uIHRoZSBzdWJqZWN0IGR1ZSB0byB0aGlzIGV2ZW50IiBkZWZpbml0aW9uPSJJbmNsdWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVhY3Rpb24gdGhhdCBvY2N1cnJlZCBhcyBhIHJlc3VsdCBvZiBleHBvc3VyZSB0byBhIHN1YnN0YW5jZSAoZm9yIGV4YW1wbGUsIGEgZHJ1ZyBvciBhIGNoZW1pY2FsKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbiB3aGVyZSBhZHZlcnNlIGV2ZW50IG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gYWJvdXQgd2hlcmUgdGhlIGFkdmVyc2UgZXZlbnQgb2NjdXJyZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpb3VzbmVzcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VyaW91c25lc3Mgb2YgdGhlIGV2ZW50IiBkZWZpbml0aW9uPSJBc3Nlc3NtZW50IHdoZXRoZXIgdGhpcyBldmVudCB3YXMgb2YgcmVhbCBpbXBvcnRhbmNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkdmVyc2VFdmVudFNlcmlvdXNuZXNzIiBkZXNjcmlwdGlvbj0iT3ZlcmFsbCBzZXJpb3VzbmVzcyBvZiB0aGlzIGV2ZW50IGZvciB0aGUgcGF0aWVudC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNldmVyaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJtaWxkIHwgbW9kZXJhdGUgfCBzZXZlcmUiIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgc2V2ZXJpdHkgb2YgdGhlIGFkdmVyc2UgZXZlbnQsIGluIHJlbGF0aW9uIHRvIHRoZSBzdWJqZWN0LiBDb250cmFzdCB0byBBZHZlcnNlRXZlbnQuc2VyaW91c25lc3MgLSBhIHNldmVyZSByYXNoIG1pZ2h0IG5vdCBiZSBzZXJpb3VzLCBidXQgYSBtaWxkIGhlYXJ0IHByb2JsZW0gaXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50U2V2ZXJpdHkiIGRlc2NyaXB0aW9uPSJUaGUgc2V2ZXJpdHkgb2YgdGhlIGFkdmVyc2UgZXZlbnQgaXRzZWxmLCBpbiBkaXJlY3QgcmVsYXRpb24gdG8gdGhlIHN1YmplY3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icmVzb2x2ZWQgfCByZWNvdmVyaW5nIHwgb25nb2luZyB8IHJlc29sdmVkV2l0aFNlcXVlbGFlIHwgZmF0YWwgfCB1bmtub3duIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHR5cGUgb2Ygb3V0Y29tZSBmcm9tIHRoZSBhZHZlcnNlIGV2ZW50LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkdmVyc2VFdmVudE91dGNvbWUiIGRlc2NyaXB0aW9uPSJUT0RPIChhbmQgc2hvdWxkIHRoaXMgYmUgcmVxdWlyZWQ/KS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjb3JkZWQgdGhlIGFkdmVyc2UgZXZlbnQiIGRlZmluaXRpb249IkluZm9ybWF0aW9uIG9uIHdobyByZWNvcmRlZCB0aGUgYWR2ZXJzZSBldmVudC4gIE1heSBiZSB0aGUgcGF0aWVudCBvciBhIHByYWN0aXRpb25lci4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dG9yIiBkZXNjcmlwdGlvbj0iV2hvICB3YXMgaW52b2x2ZWQgaW4gdGhlIGFkdmVyc2UgZXZlbnQgb3IgdGhlIHBvdGVudGlhbCBhZHZlcnNlIGV2ZW50IiBkZWZpbml0aW9uPSJQYXJ0aWVzIHRoYXQgbWF5IG9yIHNob3VsZCBjb250cmlidXRlIG9yIGhhdmUgY29udHJpYnV0ZWQgaW5mb3JtYXRpb24gdG8gdGhlIGFkdmVyc2UgZXZlbnQsIHdoaWNoIGNhbiBjb25zaXN0IG9mIG9uZSBvciBtb3JlIGFjdGl2aXRpZXMuICBTdWNoIGluZm9ybWF0aW9uIGluY2x1ZGVzIGluZm9ybWF0aW9uIGxlYWRpbmcgdG8gdGhlIGRlY2lzaW9uIHRvIHBlcmZvcm0gdGhlIGFjdGl2aXR5IGFuZCBob3cgdG8gcGVyZm9ybSB0aGUgYWN0aXZpdHkgKGUuZy4gY29uc3VsdGFudCksIGluZm9ybWF0aW9uIHRoYXQgdGhlIGFjdGl2aXR5IGl0c2VsZiBzZWVrcyB0byByZXZlYWwgKGUuZy4gaW5mb3JtYW50IG9mIGNsaW5pY2FsIGhpc3RvcnkpLCBvciBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGFjdGl2aXR5IHdhcyBwZXJmb3JtZWQgKGUuZy4gaW5mb3JtYW50IHdpdG5lc3MpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VzcGVjdEVudGl0eSIgZGVzY3JpcHRpb249IlRoZSBzdXNwZWN0ZWQgYWdlbnQgY2F1c2luZyB0aGUgYWR2ZXJzZSBldmVudCIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBlbnRpdHkgdGhhdCBpcyBzdXNwZWN0ZWQgdG8gaGF2ZSBjYXVzZWQgdGhlIGFkdmVyc2UgZXZlbnQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkdmVyc2VFdmVudC5TdXNwZWN0RW50aXR5Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3RNZWRpY2FsSGlzdG9yeSIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5zdWJqZWN0TWVkaWNhbEhpc3RvcnkiIGRlZmluaXRpb249IkFkdmVyc2VFdmVudC5zdWJqZWN0TWVkaWNhbEhpc3RvcnkuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VEb2N1bWVudCIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5yZWZlcmVuY2VEb2N1bWVudCIgZGVmaW5pdGlvbj0iQWR2ZXJzZUV2ZW50LnJlZmVyZW5jZURvY3VtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0dWR5IiBkZXNjcmlwdGlvbj0iQWR2ZXJzZUV2ZW50LnN0dWR5IiBkZWZpbml0aW9uPSJBZHZlcnNlRXZlbnQuc3R1ZHkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVjb3JkZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNvcmRlciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWR2ZXJzZUV2ZW50LlN1c3BlY3RFbnRpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZWZlcnMgdG8gdGhlIHNwZWNpZmljIGVudGl0eSB0aGF0IGNhdXNlZCB0aGUgYWR2ZXJzZSBldmVudCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgYWN0dWFsIGluc3RhbmNlIG9mIHdoYXQgY2F1c2VkIHRoZSBhZHZlcnNlIGV2ZW50LiAgTWF5IGJlIGEgc3Vic3RhbmNlLCBtZWRpY2F0aW9uLCBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uLCBtZWRpY2F0aW9uIHN0YXRlbWVudCBvciBhIGRldmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXVzYWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWR2ZXJzZUV2ZW50LlN1c3BlY3RFbnRpdHkuQ2F1c2FsaXR5IiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBldmVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWR2ZXJzZUV2ZW50LlN1c3BlY3RFbnRpdHkuQ2F1c2FsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc3Nlc3NtZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBc3Nlc3NtZW50IG9mIGlmIHRoZSBlbnRpdHkgY2F1c2VkIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iQXNzZXNzbWVudCBvZiBpZiB0aGUgZW50aXR5IGNhdXNlZCB0aGUgZXZlbnQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50Q2F1c2FsaXR5QXNzZXNzbWVudCIgZGVzY3JpcHRpb249IkNvZGVzIGZvciB0aGUgYXNzZXNzbWVudCBvZiB3aGV0aGVyIHRoZSBlbnRpdHkgY2F1c2VkIHRoZSBldmVudC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RSZWxhdGVkbmVzcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQWR2ZXJzZUV2ZW50LnN1c3BlY3RFbnRpdHkuY2F1c2FsaXR5UHJvZHVjdFJlbGF0ZWRuZXNzIiBkZWZpbml0aW9uPSJBZHZlcnNlRXZlbnQuc3VzcGVjdEVudGl0eS5jYXVzYWxpdHlQcm9kdWN0UmVsYXRlZG5lc3MuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5zdXNwZWN0RW50aXR5LmNhdXNhbGl0eUF1dGhvciIgZGVmaW5pdGlvbj0iQWR2ZXJzZUV2ZW50LnN1c3BlY3RFbnRpdHkuY2F1c2FsaXR5QXV0aG9yLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvYmFiaWxpdHlTY2FsZSB8IEJheWVzaWFuIHwgQ2hlY2tsaXN0IiBkZWZpbml0aW9uPSJQcm9iYWJpbGl0eVNjYWxlIHwgQmF5ZXNpYW4gfCBDaGVja2xpc3QuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50Q2F1c2FsaXR5TWV0aG9kIiBkZXNjcmlwdGlvbj0iVE9ETy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtYWxsZXJneWludG9sZXJhbmNlIiBsYWJlbD0iUUlDb3JlIEFsbGVyZ3lJbnRvbGVyYW5jZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVzb2x1dGlvbkFnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5yZXNvbHV0aW9uQWdlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vYWxsZXJneWludG9sZXJhbmNlLXJlc29sdXRpb25BZ2UnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJBZ2UgdGhhdCB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGVzdGltYXRlZCBwYXRpZW50IGFnZSBhdCB3aGljaCB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSByZXNvbHZlZC4gU2hvdWxkIGJlIHNwZWNpZmllZCBvbmx5IGlmIHRoZSBzdGF0dXMgaXMgcmVzb2x2ZWQuIiBjb21tZW50PSJSZW1vdmVkIERhdGUgc2luY2UgaXQgaXMgaGFyZCB0byBpbWFnaW5lIGtub3dpbmcgdGhlIGRhdGUgYW4gYWxsZXJneSBhYmF0ZWQuIFRoZSBhc3NlcnRpb24gZGF0ZSBpcyBhbHJlYWR5IGNhcHR1cmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkcyBmb3IgdGhpcyBpdGVtIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIEFsbGVyZ3lJbnRvbGVyYW5jZSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2xpbmljYWxTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgYWN0aXZlIHwgaW5hY3RpdmUgfCByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZS4iIGNvbW1lbnQ9IlJlZmVyIHRvIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2liaWxpdHkuaHRtbCNTcGVjaWFsLUNhc2UpIGlmIGNsaW5jYWxTdGF0dXMgaXMgbWlzc2luZyBkYXRhLiYjMTA7VGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSBjbGluaWNhbFN0YXR1cyBoYXMgc29tZSBjbGluaWNhbCBqdWRnbWVudCBpbnZvbHZlZCwgc3VjaCB0aGF0IHRoZXJlIG1pZ2h0IG5lZWQgdG8gYmUgbW9yZSBzcGVjaWZpY2l0eSB0aGFuIHRoZSByZXF1aXJlZCBGSElSIHZhbHVlIHNldCBhbGxvd3MuIEZvciBleGFtcGxlLCBhIFNOT01FRCBjb2RpbmcgbWlnaHQgYWxsb3cgZm9yIGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2ZXJpZmljYXRpb25TdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgdW5jb25maXJtZWQgfCBjb25maXJtZWQgfCByZWZ1dGVkIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iQXNzZXJ0aW9uIGFib3V0IGNlcnRhaW50eSBhc3NvY2lhdGVkIHdpdGggdGhlIHByb3BlbnNpdHksIG9yIHBvdGVudGlhbCByaXNrLCBvZiBhIHJlYWN0aW9uIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZSAoaW5jbHVkaW5nIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QpLiIgY29tbWVudD0iVGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSB2ZXJpZmljYXRpb25TdGF0dXMgaGFzIHNvbWUgY2xpbmljYWwganVkZ21lbnQgaW52b2x2ZWQsIHN1Y2ggdGhhdCB0aGVyZSBtaWdodCBuZWVkIHRvIGJlIG1vcmUgc3BlY2lmaWNpdHkgdGhhbiB0aGUgcmVxdWlyZWQgRkhJUiB2YWx1ZSBzZXQgYWxsb3dzLiBGb3IgZXhhbXBsZSwgYSBTTk9NRUQgY29kaW5nIG1pZ2h0IGFsbG93IGZvciBhZGRpdGlvbmFsIHNwZWNpZmljaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5BbGxlcmd5SW50b2xlcmFuY2VUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBhbGxlcmd5IHwgaW50b2xlcmFuY2UgLSBVbmRlcmx5aW5nIG1lY2hhbmlzbSAoaWYga25vd24pIiBkZWZpbml0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgdW5kZXJseWluZyBwaHlzaW9sb2dpY2FsIG1lY2hhbmlzbSBmb3IgdGhlIHJlYWN0aW9uIHJpc2suIiBjb21tZW50PSJBbGxlcmdpYyAodHlwaWNhbGx5IGltbXVuZS1tZWRpYXRlZCkgcmVhY3Rpb25zIGhhdmUgYmVlbiB0cmFkaXRpb25hbGx5IHJlZ2FyZGVkIGFzIGFuIGluZGljYXRvciBmb3IgcG90ZW50aWFsIGVzY2FsYXRpb24gdG8gc2lnbmlmaWNhbnQgZnV0dXJlIHJpc2suIENvbnRlbXBvcmFyeSBrbm93bGVkZ2Ugc3VnZ2VzdHMgdGhhdCBzb21lIHJlYWN0aW9ucyBwcmV2aW91c2x5IHRob3VnaHQgdG8gYmUgaW1tdW5lLW1lZGlhdGVkIGFyZSwgaW4gZmFjdCwgbm9uLWltbXVuZSwgYnV0IGluIHNvbWUgY2FzZXMgY2FuIHN0aWxsIHBvc2UgYSBsaWZlIHRocmVhdGVuaW5nIHJpc2suIEl0IGlzIGFja25vd2xlZGdlZCB0aGF0IG1hbnkgY2xpbmljaWFucyBtaWdodCBub3QgYmUgaW4gYSBwb3NpdGlvbiB0byBkaXN0aW5ndWlzaCB0aGUgbWVjaGFuaXNtIG9mIGEgcGFydGljdWxhciByZWFjdGlvbi4gT2Z0ZW4gdGhlIHRlcm0gJnF1b3Q7YWxsZXJneSZxdW90OyBpcyB1c2VkIHJhdGhlciBnZW5lcmljYWxseSBhbmQgbWF5IG92ZXJsYXAgd2l0aCB0aGUgdXNlIG9mICZxdW90O2ludG9sZXJhbmNlJnF1b3Q7IC0gaW4gcHJhY3RpY2UgdGhlIGJvdW5kYXJpZXMgYmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMgbWlnaHQgbm90IGJlIHdlbGwtZGVmaW5lZCBvciB1bmRlcnN0b29kLiBUaGlzIGRhdGEgZWxlbWVudCBpcyBpbmNsdWRlZCBuZXZlcnRoZWxlc3MsIGJlY2F1c2UgbWFueSBsZWdhY3kgc3lzdGVtcyBoYXZlIGNhcHR1cmVkIHRoaXMgYXR0cmlidXRlLiBJbW11bm9sb2dpYyB0ZXN0aW5nIG1heSBwcm92aWRlIHN1cHBvcnRpbmcgZXZpZGVuY2UgZm9yIHRoZSBiYXNpcyBvZiB0aGUgcmVhY3Rpb24gYW5kIHRoZSBjYXVzYXRpdmUgc3Vic3RhbmNlLCBidXQgbm8gdGVzdHMgYXJlIDEwMCUgc2Vuc2l0aXZlIG9yIHNwZWNpZmljIGZvciBzZW5zaXRpdml0eSB0byBhIHBhcnRpY3VsYXIgc3Vic3RhbmNlLiBJZiwgYXMgaXMgY29tbW9ubHkgdGhlIGNhc2UsIGl0IGlzIHVuY2xlYXIgd2hldGhlciB0aGUgcmVhY3Rpb24gaXMgZHVlIHRvIGFuIGFsbGVyZ3kgb3IgYW4gaW50b2xlcmFuY2UsIHRoZW4gdGhlIHR5cGUgZWxlbWVudCBzaG91bGQgYmUgb21pdHRlZCBmcm9tIHRoZSByZXNvdXJjZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VUeXBlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIHVuZGVybHlpbmcgcGh5c2lvbG9naWNhbCBtZWNoYW5pc20gZm9yIGEgUmVhY3Rpb24gUmlzay4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgZm9vZCB8IG1lZGljYXRpb24gfCBlbnZpcm9ubWVudCB8IGJpb2xvZ2ljIiBkZWZpbml0aW9uPSJDYXRlZ29yeSBvZiB0aGUgaWRlbnRpZmllZCBzdWJzdGFuY2UuIiBjb21tZW50PSJUaGlzIGRhdGEgZWxlbWVudCBoYXMgYmVlbiBpbmNsdWRlZCBiZWNhdXNlIGl0IGlzIGN1cnJlbnRseSBiZWluZyBjYXB0dXJlZCBpbiBzb21lIGNsaW5pY2FsIHN5c3RlbXMuIFRoaXMgZGF0YSBjYW4gYmUgZGVyaXZlZCBmcm9tIHRoZSBzdWJzdGFuY2Ugd2hlcmUgY29kaW5nIHN5c3RlbXMgYXJlIHVzZWQsIGFuZCBpcyBlZmZlY3RpdmVseSByZWR1bmRhbnQgaW4gdGhhdCBzaXR1YXRpb24uICBXaGVuIHNlYXJjaGluZyBvbiBjYXRlZ29yeSwgY29uc2lkZXIgdGhlIGltcGxpY2F0aW9ucyBvZiBBbGxlcmd5SW50b2xlcmFuY2UgcmVzb3VyY2VzIHdpdGhvdXQgYSBjYXRlZ29yeS4gIEZvciBleGFtcGxlLCB3aGVuIHNlYXJjaGluZyBvbiBjYXRlZ29yeSA9IG1lZGljYXRpb24sIG1lZGljYXRpb24gYWxsZXJnaWVzIHRoYXQgZG9uJ3QgaGF2ZSBhIGNhdGVnb3J5IHZhbHVlZCB3aWxsIG5vdCBiZSByZXR1cm5lZC4gIFJlZmVyIHRvIFtzZWFyY2hdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvc2VhcmNoLmh0bWwpIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0byBzZWFyY2ggY2F0ZWdvcnkgd2l0aCBhIDptaXNzaW5nIG1vZGlmaWVyIHRvIGdldCBhbGxlcmdpZXMgdGhhdCBkb24ndCBoYXZlIGEgY2F0ZWdvcnkuICBBZGRpdGlvbmFsbHksIGNhdGVnb3J5IHNob3VsZCBiZSB1c2VkIHdpdGggY2F1dGlvbiBiZWNhdXNlIGNhdGVnb3J5IGNhbiBiZSBzdWJqZWN0aXZlIGJhc2VkIG9uIHRoZSBzZW5kZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgZGVzY3JpcHRpb249IkNhdGVnb3J5IG9mIGFuIGlkZW50aWZpZWQgc3Vic3RhbmNlIGFzc29jaWF0ZWQgd2l0aCBhbGxlcmdpZXMgb3IgaW50b2xlcmFuY2VzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNyaXRpY2FsaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBsb3cgfCBoaWdoIHwgdW5hYmxlLXRvLWFzc2VzcyIgZGVmaW5pdGlvbj0iRXN0aW1hdGUgb2YgdGhlIHBvdGVudGlhbCBjbGluaWNhbCBoYXJtLCBvciBzZXJpb3VzbmVzcywgb2YgdGhlIHJlYWN0aW9uIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4iIGNvbW1lbnQ9IlRoZSBkZWZhdWx0IGNyaXRpY2FsaXR5IHZhbHVlIGZvciBhbnkgcHJvcGVuc2l0eSB0byBhbiBhZHZlcnNlIHJlYWN0aW9uIHNob3VsZCBiZSAnTG93IFJpc2snLCBpbmRpY2F0aW5nIGF0IHRoZSB2ZXJ5IGxlYXN0IGEgcmVsYXRpdmUgY29udHJhaW5kaWNhdGlvbiB0byBkZWxpYmVyYXRlIG9yIHZvbHVudGFyeSBleHBvc3VyZSB0byB0aGUgc3Vic3RhbmNlLiAnSGlnaCBSaXNrJyBpcyBmbGFnZ2VkIGlmIHRoZSBjbGluaWNpYW4gaGFzIGlkZW50aWZpZWQgYSBwcm9wZW5zaXR5IGZvciBhIG1vcmUgc2VyaW91cyBvciBwb3RlbnRpYWxseSBsaWZlLXRocmVhdGVuaW5nIHJlYWN0aW9uLCBzdWNoIGFzIGFuYXBoeWxheGlzLCBhbmQgaW1wbGllcyBhbiBhYnNvbHV0ZSBjb250cmFpbmRpY2F0aW9uIHRvIGRlbGliZXJhdGUgb3Igdm9sdW50YXJ5IGV4cG9zdXJlIHRvIHRoZSBzdWJzdGFuY2UuIElmIHRoaXMgZWxlbWVudCBpcyBtaXNzaW5nLCB0aGUgY3JpdGljYWxpdHkgaXMgdW5rbm93biAodGhvdWdoIGl0IG1heSBiZSBrbm93biBlbHNld2hlcmUpLiAgU3lzdGVtcyB0aGF0IGNhcHR1cmUgYSBzZXZlcml0eSBhdCB0aGUgY29uZGl0aW9uIGxldmVsIGFyZSBhY3R1YWxseSByZXByZXNlbnRpbmcgdGhlIGNvbmNlcHQgb2YgY3JpdGljYWxpdHkgd2hlcmVhcyB0aGUgc2V2ZXJpdHkgZG9jdW1lbnRlZCBhdCB0aGUgcmVhY3Rpb24gbGV2ZWwgaXMgcmVwcmVzZW50aW5nIHRoZSB0cnVlIHJlYWN0aW9uIHNldmVyaXR5LiAgRXhpc3Rpbmcgc3lzdGVtcyB0aGF0IGFyZSBjYXB0dXJpbmcgYm90aCBjb25kaXRpb24gY3JpdGljYWxpdHkgYW5kIHJlYWN0aW9uIHNldmVyaXR5IG1heSB1c2UgdGhlIHRlcm0gJnF1b3Q7c2V2ZXJpdHkmcXVvdDsgdG8gcmVwcmVzZW50IGJvdGguICBDcml0aWNhbGl0eSBpcyB0aGUgd29yc3QgaXQgY291bGQgYmUgaW4gdGhlIGZ1dHVyZSAoaS5lLiBzaXR1YXRpb24tYWdub3N0aWMpIHdoZXJlYXMgc2V2ZXJpdHkgaXMgc2l0dWF0aW9uLWRlcGVuZGVudC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSIgZGVzY3JpcHRpb249IkVzdGltYXRlIG9mIHRoZSBwb3RlbnRpYWwgY2xpbmljYWwgaGFybSwgb3Igc2VyaW91c25lc3MsIG9mIGEgcmVhY3Rpb24gdG8gYW4gaWRlbnRpZmllZCBzdWJzdGFuY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSIgZGVmaW5pdGlvbj0iQ29kZSBmb3IgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBzdGF0ZW1lbnQgKGVpdGhlciBhIHBvc2l0aXZlIG9yIGEgbmVnYXRlZC9leGNsdWRlZCBzdGF0ZW1lbnQpLiAgVGhpcyBtYXkgYmUgYSBjb2RlIGZvciBhIHN1YnN0YW5jZSBvciBwaGFybWFjZXV0aWNhbCBwcm9kdWN0IHRoYXQgaXMgY29uc2lkZXJlZCB0byBiZSByZXNwb25zaWJsZSBmb3IgdGhlIGFkdmVyc2UgcmVhY3Rpb24gcmlzayAoZS5nLiwgJnF1b3Q7TGF0ZXgmcXVvdDspLCBhbiBhbGxlcmd5IG9yIGludG9sZXJhbmNlIGNvbmRpdGlvbiAoZS5nLiwgJnF1b3Q7TGF0ZXggYWxsZXJneSZxdW90OyksIG9yIGEgbmVnYXRlZC9leGNsdWRlZCBjb2RlIGZvciBhIHNwZWNpZmljIHN1YnN0YW5jZSBvciBjbGFzcyAoZS5nLiwgJnF1b3Q7Tm8gbGF0ZXggYWxsZXJneSZxdW90Oykgb3IgYSBnZW5lcmFsIG9yIGNhdGVnb3JpY2FsIG5lZ2F0ZWQgc3RhdGVtZW50IChlLmcuLCAgJnF1b3Q7Tm8ga25vd24gYWxsZXJneSZxdW90OywgJnF1b3Q7Tm8ga25vd24gZHJ1ZyBhbGxlcmdpZXMmcXVvdDspLiAgTm90ZTogdGhlIHN1YnN0YW5jZSBmb3IgYSBzcGVjaWZpYyByZWFjdGlvbiBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHN1YnN0YW5jZSBpZGVudGlmaWVkIGFzIHRoZSBjYXVzZSBvZiB0aGUgcmlzaywgYnV0IGl0IG11c3QgYmUgY29uc2lzdGVudCB3aXRoIGl0LiBGb3IgaW5zdGFuY2UsIGl0IG1heSBiZSBhIG1vcmUgc3BlY2lmaWMgc3Vic3RhbmNlIChlLmcuIGEgYnJhbmQgbWVkaWNhdGlvbikgb3IgYSBjb21wb3NpdGUgcHJvZHVjdCB0aGF0IGluY2x1ZGVzIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4gSXQgbXVzdCBiZSBjbGluaWNhbGx5IHNhZmUgdG8gb25seSBwcm9jZXNzIHRoZSAnY29kZScgYW5kIGlnbm9yZSB0aGUgJ3JlYWN0aW9uLnN1YnN0YW5jZScuICBJZiBhIHJlY2VpdmluZyBzeXN0ZW0gaXMgdW5hYmxlIHRvIGNvbmZpcm0gdGhhdCBBbGxlcmd5SW50b2xlcmFuY2UucmVhY3Rpb24uc3Vic3RhbmNlIGZhbGxzIHdpdGhpbiB0aGUgc2VtYW50aWMgc2NvcGUgb2YgQWxsZXJneUludG9sZXJhbmNlLmNvZGUsIHRoZW4gdGhlIHJlY2VpdmluZyBzeXN0ZW0gc2hvdWxkIGlnbm9yZSBBbGxlcmd5SW50b2xlcmFuY2UucmVhY3Rpb24uc3Vic3RhbmNlLiIgY29tbWVudD0iSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdGhhdCB0aGlzIGVsZW1lbnQgYmUgcG9wdWxhdGVkIHVzaW5nIGEgdGVybWlub2xvZ3ksIHdoZXJlIHBvc3NpYmxlLiBGb3IgZXhhbXBsZSwgc29tZSB0ZXJtaW5vbG9naWVzIHVzZWQgaW5jbHVkZSBSeE5vcm0sIFNOT01FRCBDVCwgRE0rRCwgTkRGUlQsIElDRC05LCBJREMtMTAsIFVOSUksIGFuZCBBVEMuIFBsYWluIHRleHQgc2hvdWxkIG9ubHkgYmUgdXNlZCBpZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZSB0ZXJtaW5vbG9neSBhdmFpbGFibGUuIEFkZGl0aW9uYWwgZGV0YWlscyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSB0ZXh0LiYjMTM7JiMxMztXaGVuIGEgc3Vic3RhbmNlIG9yIHByb2R1Y3QgY29kZSBpcyBzcGVjaWZpZWQgZm9yIHRoZSAnY29kZScgZWxlbWVudCwgdGhlICZxdW90O2RlZmF1bHQmcXVvdDsgc2VtYW50aWMgY29udGV4dCBpcyB0aGF0IHRoaXMgaXMgYSBwb3NpdGl2ZSBzdGF0ZW1lbnQgb2YgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgJ3R5cGUnIGVsZW1lbnQsIGlmIHByZXNlbnQpIGNvbmRpdGlvbiB0byB0aGUgc3BlY2lmaWVkIHN1YnN0YW5jZS9wcm9kdWN0LiAgSW4gdGhlIGNvcnJlc3BvbmRpbmcgU05PTUVEIENUIGFsbGVyZ3kgbW9kZWwsIHRoZSBzcGVjaWZpZWQgc3Vic3RhbmNlL3Byb2R1Y3QgaXMgdGhlIHRhcmdldCAoZGVzdGluYXRpb24pIG9mIHRoZSAmcXVvdDtDYXVzYXRpdmUgYWdlbnQmcXVvdDsgcmVsYXRpb25zaGlwLiYjMTM7JiMxMztUaGUgJ3N1YnN0YW5jZUV4cG9zdXJlUmlzaycgZXh0ZW5zaW9uIGlzIGF2YWlsYWJsZSBhcyBhIHN0cnVjdHVyZWQgYW5kIG1vcmUgZmxleGlibGUgYWx0ZXJuYXRpdmUgdG8gdGhlICdjb2RlJyBlbGVtZW50IGZvciBtYWtpbmcgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSBzdGF0ZW1lbnRzLiAgVGhpcyBleHRlbnNpb24gcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSAmcXVvdDtubyBrbm93biBhbGxlcmd5JnF1b3Q7IChvciAmcXVvdDtubyByaXNrIG9mIGFkdmVyc2UgcmVhY3Rpb24mcXVvdDspIHN0YXRlbWVudHMgcmVnYXJkaW5nIGFueSBjb2RlZCBzdWJzdGFuY2UvcHJvZHVjdCAoaW5jbHVkaW5nIGNhc2VzIHdoZW4gYSBwcmUtY29vcmRpbmF0ZWQgJnF1b3Q7bm8gYWxsZXJneSB0byB4JnF1b3Q7IGNvbmNlcHQgZm9yIHRoYXQgc3Vic3RhbmNlL3Byb2R1Y3QgZG9lcyBub3QgZXhpc3QpLiAgSWYgdGhlICdzdWJzdGFuY2VFeHBvc3VyZVJpc2snIGV4dGVuc2lvbiBpcyBwcmVzZW50LCB0aGUgQWxsZXJneUludG9sZXJhbmNlLmNvZGUgZWxlbWVudCBTSEFMTCBiZSBvbWl0dGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIHRoZSBzZW5zaXRpdml0eSBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IHdobyBoYXMgdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgd2hlbiB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSB3YXMgYXNzZXJ0ZWQiIGRlZmluaXRpb249IlRoZSBlbmNvdW50ZXIgd2hlbiB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSB3YXMgYXNzZXJ0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib25zZXQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBhbGxlcmd5IG9yIGludG9sZXJhbmNlIHdhcyBpZGVudGlmaWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsICBkYXRlLXRpbWUsIG9yIGFnZSB3aGVuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2Ugd2FzIGlkZW50aWZpZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERhdGUgZmlyc3QgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2FzIHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQWxsZXJneUludG9sZXJhbmNlIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjb3JkZWQgdGhlIHNlbnNpdGl2aXR5IiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzZXJ0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU291cmNlIG9mIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYWxsZXJneSIgZGVmaW5pdGlvbj0iVGhlIHNvdXJjZSBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGFsbGVyZ3kgdGhhdCBpcyByZWNvcmRlZC4iIGNvbW1lbnQ9IlRoZSByZWNvcmRlciB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGNvbnRlbnQsIGJ1dCBjYW4gcmVmZXJlbmNlIHRoZSBzb3VyY2UgZnJvbSB3aGVyZSB0aGV5IGdvdCBpdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYXN0T2NjdXJyZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlKC90aW1lKSBvZiBsYXN0IGtub3duIG9jY3VycmVuY2Ugb2YgYSByZWFjdGlvbiIgZGVmaW5pdGlvbj0iUmVwcmVzZW50cyB0aGUgZGF0ZSBhbmQvb3IgdGltZSBvZiB0aGUgbGFzdCBrbm93biBvY2N1cnJlbmNlIG9mIGEgcmVhY3Rpb24gZXZlbnQuIiBjb21tZW50PSJUaGlzIGRhdGUgbWF5IGJlIHJlcGxpY2F0ZWQgYnkgb25lIG9mIHRoZSBPbnNldCBvZiBSZWFjdGlvbiBkYXRlcy4gV2hlcmUgYSB0ZXh0dWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRlIG9mIGxhc3Qgb2NjdXJyZW5jZSBpcyByZXF1aXJlZCBlLmcuICdJbiBDaGlsZGhvb2QsICcxMCB5ZWFycyBhZ28nIHRoZSBDb21tZW50IGVsZW1lbnQgc2hvdWxkIGJlIHVzZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgdGV4dCBub3QgY2FwdHVyZWQgaW4gb3RoZXIgZmllbGRzIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIG5hcnJhdGl2ZSBhYm91dCB0aGUgcHJvcGVuc2l0eSBmb3IgdGhlIEFkdmVyc2UgUmVhY3Rpb24sIG5vdCBjYXB0dXJlZCBpbiBvdGhlciBmaWVsZHMuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogaW5jbHVkaW5nIHJlYXNvbiBmb3IgZmxhZ2dpbmcgYSBzZXJpb3VzbmVzcyBvZiAnSGlnaCBSaXNrJzsgYW5kIGluc3RydWN0aW9ucyByZWxhdGVkIHRvIGZ1dHVyZSBleHBvc3VyZSBvciBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgc3Vic3RhbmNlLCBzdWNoIGFzIGFkbWluaXN0cmF0aW9uIHdpdGhpbiBhbiBJbnRlbnNpdmUgQ2FyZSBVbml0IG9yIHVuZGVyIGNvcnRpY29zdGVyb2lkIGNvdmVyLiBUaGUgbm90ZXMgc2hvdWxkIGJlIHJlbGF0ZWQgdG8gYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBhcyBhIGNvbmRpdGlvbiBpbiBnZW5lcmFsIGFuZCBub3QgcmVsYXRlZCB0byBhbnkgcGFydGljdWxhciBlcGlzb2RlIG9mIGl0LiBGb3IgZXBpc29kZSBub3RlcyBhbmQgZGVzY3JpcHRpb25zLCB1c2UgQWxsZXJneUludG9sZXJhbmNlLmV2ZW50LmRlc2NyaXB0aW9uIGFuZCAgQWxsZXJneUludG9sZXJhbmNlLmV2ZW50Lm5vdGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFjdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQWR2ZXJzZSBSZWFjdGlvbiBFdmVudHMgbGlua2VkIHRvIGV4cG9zdXJlIHRvIHN1YnN0YW5jZSIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCBlYWNoIGFkdmVyc2UgcmVhY3Rpb24gZXZlbnQgbGlua2VkIHRvIGV4cG9zdXJlIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5BbGxlcmd5SW50b2xlcmFuY2UuUmVhY3Rpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVjb3JkZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhc3NlcnRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY29yZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9ImFzc2VydGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9ImFzc2VydGVyIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2UuUmVhY3Rpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnN0YW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgc3Vic3RhbmNlIG9yIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QgY29uc2lkZXJlZCB0byBiZSByZXNwb25zaWJsZSBmb3IgZXZlbnQiIGRlZmluaXRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBzcGVjaWZpYyBzdWJzdGFuY2UgKG9yIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QpIGNvbnNpZGVyZWQgdG8gYmUgcmVzcG9uc2libGUgZm9yIHRoZSBBZHZlcnNlIFJlYWN0aW9uIGV2ZW50LiBOb3RlOiB0aGUgc3Vic3RhbmNlIGZvciBhIHNwZWNpZmljIHJlYWN0aW9uIG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgc3Vic3RhbmNlIGlkZW50aWZpZWQgYXMgdGhlIGNhdXNlIG9mIHRoZSByaXNrLCBidXQgaXQgbXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaXQuIEZvciBpbnN0YW5jZSwgaXQgbWF5IGJlIGEgbW9yZSBzcGVjaWZpYyBzdWJzdGFuY2UgKGUuZy4gYSBicmFuZCBtZWRpY2F0aW9uKSBvciBhIGNvbXBvc2l0ZSBwcm9kdWN0IHRoYXQgaW5jbHVkZXMgdGhlIGlkZW50aWZpZWQgc3Vic3RhbmNlLiBJdCBtdXN0IGJlIGNsaW5pY2FsbHkgc2FmZSB0byBvbmx5IHByb2Nlc3MgdGhlICdjb2RlJyBhbmQgaWdub3JlIHRoZSAncmVhY3Rpb24uc3Vic3RhbmNlJy4gIElmIGEgcmVjZWl2aW5nIHN5c3RlbSBpcyB1bmFibGUgdG8gY29uZmlybSB0aGF0IEFsbGVyZ3lJbnRvbGVyYW5jZS5yZWFjdGlvbi5zdWJzdGFuY2UgZmFsbHMgd2l0aGluIHRoZSBzZW1hbnRpYyBzY29wZSBvZiBBbGxlcmd5SW50b2xlcmFuY2UuY29kZSwgdGhlbiB0aGUgcmVjZWl2aW5nIHN5c3RlbSBzaG91bGQgaWdub3JlIEFsbGVyZ3lJbnRvbGVyYW5jZS5yZWFjdGlvbi5zdWJzdGFuY2UuIiBjb21tZW50PSJDb2Rpbmcgb2YgdGhlIHNwZWNpZmljIHN1YnN0YW5jZSAob3IgcGhhcm1hY2V1dGljYWwgcHJvZHVjdCkgd2l0aCBhIHRlcm1pbm9sb2d5IGNhcGFibGUgb2YgdHJpZ2dlcmluZyBkZWNpc2lvbiBzdXBwb3J0IHNob3VsZCBiZSB1c2VkIHdoZXJldmVyIHBvc3NpYmxlLiAgVGhlICdjb2RlJyBlbGVtZW50IGFsbG93cyBmb3IgdGhlIHVzZSBvZiBhIHNwZWNpZmljIHN1YnN0YW5jZSBvciBwaGFybWFjZXV0aWNhbCBwcm9kdWN0LCBvciBhIGdyb3VwIG9yIGNsYXNzIG9mIHN1YnN0YW5jZXMuIEluIHRoZSBjYXNlIG9mIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgdG8gYSBjbGFzcyBvZiBzdWJzdGFuY2VzLCAoZm9yIGV4YW1wbGUsICZxdW90O3BlbmljaWxsaW5zJnF1b3Q7KSwgdGhlICdyZWFjdGlvbi5zdWJzdGFuY2UnIGVsZW1lbnQgY291bGQgYmUgdXNlZCB0byBjb2RlIHRoZSBzcGVjaWZpYyBzdWJzdGFuY2UgdGhhdCB3YXMgaWRlbnRpZmllZCBhcyBoYXZpbmcgY2F1c2VkIHRoZSByZWFjdGlvbiAoZm9yIGV4YW1wbGUsICZxdW90O2Ftb3h5Y2lsbGluJnF1b3Q7KS4gRHVwbGljYXRpb24gb2YgdGhlIHZhbHVlIGluIHRoZSAnY29kZScgYW5kICdyZWFjdGlvbi5zdWJzdGFuY2UnIGVsZW1lbnRzIGlzIGFjY2VwdGFibGUgd2hlbiBhIHNwZWNpZmljIHN1YnN0YW5jZSBoYXMgYmVlbiByZWNvcmRlZCBpbiAnY29kZScuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3Vic3RhbmNlQ29kZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlZmluaW5nIHRoZSB0eXBlIG9mIHRoZSBzdWJzdGFuY2UgKGluY2x1ZGluZyBwaGFybWFjZXV0aWNhbCBwcm9kdWN0cykuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYW5pZmVzdGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGluaWNhbCBzeW1wdG9tcy9zaWducyBhc3NvY2lhdGVkIHdpdGggdGhlIEV2ZW50IiBkZWZpbml0aW9uPSJDbGluaWNhbCBzeW1wdG9tcyBhbmQvb3Igc2lnbnMgdGhhdCBhcmUgb2JzZXJ2ZWQgb3IgYXNzb2NpYXRlZCB3aXRoIHRoZSBhZHZlcnNlIHJlYWN0aW9uIGV2ZW50LiIgY29tbWVudD0iTWFuaWZlc3RhdGlvbiBjYW4gYmUgZXhwcmVzc2VkIGFzIGEgc2luZ2xlIHdvcmQsIHBocmFzZSBvciBicmllZiBkZXNjcmlwdGlvbi4gRm9yIGV4YW1wbGU6IG5hdXNlYSwgcmFzaCBvciBubyByZWFjdGlvbi4gSXQgaXMgcHJlZmVyYWJsZSB0aGF0IG1hbmlmZXN0YXRpb24gc2hvdWxkIGJlIGNvZGVkIHdpdGggYSB0ZXJtaW5vbG9neSwgd2hlcmUgcG9zc2libGUuIFRoZSB2YWx1ZXMgZW50ZXJlZCBoZXJlIG1heSBiZSB1c2VkIHRvIGRpc3BsYXkgb24gYW4gYXBwbGljYXRpb24gc2NyZWVuIGFzIHBhcnQgb2YgYSBsaXN0IG9mIGFkdmVyc2UgcmVhY3Rpb25zLCBhcyByZWNvbW1lbmRlZCBpbiB0aGUgVUsgTkhTIENVSSBndWlkZWxpbmVzLiAgVGVybWlub2xvZ2llcyBjb21tb25seSB1c2VkIGluY2x1ZGUsIGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8sIFNOT01FRCBDVCBvciBJQ0QxMC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXNjcmlwdGlvbiBvZiB0aGUgZXZlbnQgYXMgYSB3aG9sZSIgZGVmaW5pdGlvbj0iVGV4dCBkZXNjcmlwdGlvbiBhYm91dCB0aGUgcmVhY3Rpb24gYXMgYSB3aG9sZSwgaW5jbHVkaW5nIGRldGFpbHMgb2YgdGhlIG1hbmlmZXN0YXRpb24gaWYgcmVxdWlyZWQuIiBjb21tZW50PSJVc2UgdGhlIGRlc2NyaXB0aW9uIHRvIHByb3ZpZGUgYW55IGRldGFpbHMgb2YgYSBwYXJ0aWN1bGFyIGV2ZW50IG9mIHRoZSBvY2N1cnJlZCByZWFjdGlvbiBzdWNoIGFzIGNpcmN1bXN0YW5jZXMsIHJlYWN0aW9uIHNwZWNpZmljcywgd2hhdCBoYXBwZW5lZCBiZWZvcmUvYWZ0ZXIuIEluZm9ybWF0aW9uLCByZWxhdGVkIHRvIHRoZSBldmVudCwgYnV0IG5vdCBkZXNjcmliaW5nIGEgcGFydGljdWxhciBjYXJlIHNob3VsZCBiZSBjYXB0dXJlZCBpbiB0aGUgY29tbWVudCBmaWVsZC4gRm9yIGV4YW1wbGU6IGF0IHRoZSBhZ2Ugb2YgZm91ciwgdGhlIHBhdGllbnQgd2FzIGdpdmVuIHBlbmljaWxsaW4gZm9yIHN0cmVwIHRocm9hdCBhbmQgc3Vic2VxdWVudGx5IGRldmVsb3BlZCBzZXZlcmUgaGl2ZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib25zZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSgvdGltZSkgd2hlbiBtYW5pZmVzdGF0aW9ucyBzaG93ZWQiIGRlZmluaXRpb249IlJlY29yZCBvZiB0aGUgZGF0ZSBhbmQvb3IgdGltZSBvZiB0aGUgb25zZXQgb2YgdGhlIFJlYWN0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNldmVyaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZVNldmVyaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBtaWxkIHwgbW9kZXJhdGUgfCBzZXZlcmUgKG9mIGV2ZW50IGFzIGEgd2hvbGUpIiBkZWZpbml0aW9uPSJDbGluaWNhbCBhc3Nlc3NtZW50IG9mIHRoZSBzZXZlcml0eSBvZiB0aGUgcmVhY3Rpb24gZXZlbnQgYXMgYSB3aG9sZSwgcG90ZW50aWFsbHkgY29uc2lkZXJpbmcgbXVsdGlwbGUgZGlmZmVyZW50IG1hbmlmZXN0YXRpb25zLiIgY29tbWVudD0iSXQgaXMgYWNrbm93bGVkZ2VkIHRoYXQgdGhpcyBhc3Nlc3NtZW50IGlzIHZlcnkgc3ViamVjdGl2ZS4gVGhlcmUgbWF5IGJlIHNvbWUgc3BlY2lmaWMgcHJhY3RpY2UgZG9tYWlucyB3aGVyZSBvYmplY3RpdmUgc2NhbGVzIGhhdmUgYmVlbiBhcHBsaWVkLiBPYmplY3RpdmUgc2NhbGVzIGNhbiBiZSBpbmNsdWRlZCBpbiB0aGlzIG1vZGVsIGFzIGV4dGVuc2lvbnMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWxsZXJneUludG9sZXJhbmNlU2V2ZXJpdHkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBhc3Nlc3NtZW50IG9mIHRoZSBzZXZlcml0eSBvZiBhIHJlYWN0aW9uIGV2ZW50IGFzIGEgd2hvbGUsIHBvdGVudGlhbGx5IGNvbnNpZGVyaW5nIG11bHRpcGxlIGRpZmZlcmVudCBtYW5pZmVzdGF0aW9ucy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBvc3VyZVJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdGhlIHN1YmplY3Qgd2FzIGV4cG9zZWQgdG8gdGhlIHN1YnN0YW5jZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIHJvdXRlIGJ5IHdoaWNoIHRoZSBzdWJqZWN0IHdhcyBleHBvc2VkIHRvIHRoZSBzdWJzdGFuY2UuIiBjb21tZW50PSJDb2Rpbmcgb2YgdGhlIHJvdXRlIG9mIGV4cG9zdXJlIHdpdGggYSB0ZXJtaW5vbG9neSBzaG91bGQgYmUgdXNlZCB3aGVyZXZlciBwb3NzaWJsZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSb3V0ZU9mQWRtaW5pc3RyYXRpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcm91dGUgb3IgcGh5c2lvbG9naWNhbCBwYXRoIG9mIGFkbWluaXN0cmF0aW9uIG9mIGEgdGhlcmFwZXV0aWMgYWdlbnQgaW50byBvciBvbnRvIHRoZSBib2R5IG9mIGEgc3ViamVjdC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJUZXh0IGFib3V0IGV2ZW50IG5vdCBjYXB0dXJlZCBpbiBvdGhlciBmaWVsZHMiIGRlZmluaXRpb249IkFkZGl0aW9uYWwgdGV4dCBhYm91dCB0aGUgYWR2ZXJzZSByZWFjdGlvbiBldmVudCBub3QgY2FwdHVyZWQgaW4gb3RoZXIgZmllbGRzLiIgY29tbWVudD0iVXNlIHRoaXMgZmllbGQgdG8gcmVjb3JkIGluZm9ybWF0aW9uIGluZGlyZWN0bHkgcmVsYXRlZCB0byBhIHBhcnRpY3VsYXIgZXZlbnQgYW5kIG5vdCBjYXB0dXJlZCBpbiB0aGUgZGVzY3JpcHRpb24uIEZvciBleGFtcGxlOiBDbGluaWNhbCByZWNvcmRzIGFyZSBubyBsb25nZXIgYXZhaWxhYmxlLCByZWNvcmRlZCBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCB0byB0aGUgcGF0aWVudCBieSBoZXIgbW90aGVyIGFuZCBoZXIgbW90aGVyIGlzIGRlY2Vhc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZUNhdGVnb3J5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZVNldmVyaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQW5ub3RhdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0Fubm90YXRpb24iIGxhYmVsPSJBbm5vdGF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgcmVzcG9uc2libGUgZm9yIHRoZSBhbm5vdGF0aW9uIiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCByZXNwb25zaWJsZSBmb3IgbWFraW5nIHRoZSBhbm5vdGF0aW9uLiIgY29tbWVudD0iT3JnYW5pemF0aW9uIGlzIHVzZWQgd2hlbiB0aGVyZSdzIG5vIG5lZWQgZm9yIHNwZWNpZmljIGF0dHJpYnV0aW9uIGFzIHRvIHdobyBtYWRlIHRoZSBjb21tZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0aW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIGFubm90YXRpb24gd2FzIG1hZGUiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGVuIHRoaXMgcGFydGljdWxhciBhbm5vdGF0aW9uIHdhcyBtYWRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBhbm5vdGF0aW9uICAtIHRleHQgY29udGVudCAoYXMgbWFya2Rvd24pIiBkZWZpbml0aW9uPSJUaGUgdGV4dCBvZiB0aGUgYW5ub3RhdGlvbiBpbiBtYXJrZG93biBmb3JtYXQuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQXR0YWNobWVudCIgbGFiZWw9IkF0dGFjaG1lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZW50VHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NaW1lVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNaW1lIHR5cGUgb2YgdGhlIGNvbnRlbnQsIHdpdGggY2hhcnNldCBldGMuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIHRoZSBkYXRhIGluIHRoZSBhdHRhY2htZW50IGFuZCBhbGxvd3MgYSBtZXRob2QgdG8gYmUgY2hvc2VuIHRvIGludGVycHJldCBvciByZW5kZXIgdGhlIGRhdGEuIEluY2x1ZGVzIG1pbWUgdHlwZSBwYXJhbWV0ZXJzIHN1Y2ggYXMgY2hhcnNldCB3aGVyZSBhcHByb3ByaWF0ZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNaW1lVHlwZSIgZGVzY3JpcHRpb249IlRoZSBtaW1lIHR5cGUgb2YgYW4gYXR0YWNobWVudC4gQW55IHZhbGlkIG1pbWUgdHlwZSBpcyBhbGxvd2VkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIdW1hbiBsYW5ndWFnZSBvZiB0aGUgY29udGVudCAoQkNQLTQ3KSIgZGVmaW5pdGlvbj0iVGhlIGh1bWFuIGxhbmd1YWdlIG9mIHRoZSBjb250ZW50LiBUaGUgdmFsdWUgY2FuIGJlIGFueSB2YWxpZCB2YWx1ZSBhY2NvcmRpbmcgdG8gQkNQIDQ3LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ikxhbmd1YWdlIiBkZXNjcmlwdGlvbj0iQSBodW1hbiBsYW5ndWFnZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0YSBpbmxpbmUsIGJhc2U2NGVkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGRhdGEgb2YgdGhlIGF0dGFjaG1lbnQgLSBhIHNlcXVlbmNlIG9mIGJ5dGVzLCBiYXNlNjQgZW5jb2RlZC4iIGNvbW1lbnQ9IlRoZSBiYXNlNjQtZW5jb2RlZCBkYXRhIFNIQUxMIGJlIGV4cHJlc3NlZCBpbiB0aGUgc2FtZSBjaGFyYWN0ZXIgc2V0IGFzIHRoZSBiYXNlIHJlc291cmNlIFhNTCBvciBKU09OLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVXJpIHdoZXJlIHRoZSBkYXRhIGNhbiBiZSBmb3VuZCIgZGVmaW5pdGlvbj0iQSBsb2NhdGlvbiB3aGVyZSB0aGUgZGF0YSBjYW4gYmUgYWNjZXNzZWQuIiBjb21tZW50PSJJZiBib3RoIGRhdGEgYW5kIHVybCBhcmUgcHJvdmlkZWQsIHRoZSB1cmwgU0hBTEwgcG9pbnQgdG8gdGhlIHNhbWUgY29udGVudCBhcyB0aGUgZGF0YSBjb250YWlucy4gVXJscyBtYXkgYmUgcmVsYXRpdmUgcmVmZXJlbmNlcyBvciBtYXkgcmVmZXJlbmNlIHRyYW5zaWVudCBsb2NhdGlvbnMgc3VjaCBhcyBhIHdyYXBwaW5nIGVudmVsb3BlIHVzaW5nIGNpZDogdGhvdWdoIHRoaXMgaGFzIHJhbWlmaWNhdGlvbnMgZm9yIHVzaW5nIHNpZ25hdHVyZXMuIFJlbGF0aXZlIFVSTHMgYXJlIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBzZXJ2aWNlIHVybCwgbGlrZSBhIHJlc291cmNlIHJlZmVyZW5jZSwgcmF0aGVyIHRoYW4gcmVsYXRpdmUgdG8gdGhlIHJlc291cmNlIGl0c2VsZi4gSWYgYSBVUkwgaXMgcHJvdmlkZWQsIGl0IFNIQUxMIHJlc29sdmUgdG8gYWN0dWFsIGRhdGEuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2l6ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWJlciBvZiBieXRlcyBvZiBjb250ZW50IChpZiB1cmwgcHJvdmlkZWQpIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIGJ5dGVzIG9mIGRhdGEgdGhhdCBtYWtlIHVwIHRoaXMgYXR0YWNobWVudCAoYmVmb3JlIGJhc2U2NCBlbmNvZGluZywgaWYgdGhhdCBpcyBkb25lKS4iIGNvbW1lbnQ9IlRoZSBudW1iZXIgb2YgYnl0ZXMgaXMgcmVkdW5kYW50IGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGFzIGEgYmFzZTY0YmluYXJ5LCBidXQgaXMgdXNlZnVsIGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGFzIGEgdXJsIHJlZmVyZW5jZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIYXNoIG9mIHRoZSBkYXRhIChzaGEtMSwgYmFzZTY0ZWQpIiBkZWZpbml0aW9uPSJUaGUgY2FsY3VsYXRlZCBoYXNoIG9mIHRoZSBkYXRhIHVzaW5nIFNIQS0xLiBSZXByZXNlbnRlZCB1c2luZyBiYXNlNjQuIiBjb21tZW50PSJUaGUgaGFzaCBpcyBjYWxjdWxhdGVkIG9uIHRoZSBkYXRhIHByaW9yIHRvIGJhc2U2NCBlbmNvZGluZywgaWYgdGhlIGRhdGEgaXMgYmFzZWQ2NCBlbmNvZGVkLiBUaGUgaGFzaCBpcyBub3QgaW50ZW5kZWQgdG8gc3VwcG9ydCBkaWdpdGFsIHNpZ25hdHVyZXMuIFdoZXJlIHByb3RlY3Rpb24gYWdhaW5zdCBtYWxpY2lvdXMgdGhyZWF0cyBhIGRpZ2l0YWwgc2lnbmF0dXJlIHNob3VsZCBiZSBjb25zaWRlcmVkLCBzZWUgW1Byb3ZlbmFuY2Uuc2lnbmF0dXJlXShwcm92ZW5hbmNlLWRlZmluaXRpb25zLmh0bWwjUHJvdmVuYW5jZS5zaWduYXR1cmUpIGZvciBtZWNoYW5pc20gdG8gcHJvdGVjdCBhIHJlc291cmNlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0aXRsZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTGFiZWwgdG8gZGlzcGxheSBpbiBwbGFjZSBvZiB0aGUgZGF0YSIgZGVmaW5pdGlvbj0iQSBsYWJlbCBvciBzZXQgb2YgdGV4dCB0byBkaXNwbGF5IGluIHBsYWNlIG9mIHRoZSBkYXRhLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgYXR0YWNobWVudCB3YXMgZmlyc3QgY3JlYXRlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgdGhhdCB0aGUgYXR0YWNobWVudCB3YXMgZmlyc3QgY3JlYXRlZC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkJhY2tib25lRWxlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0JhY2tib25lRWxlbWVudCIgbGFiZWw9IkJhY2tib25lRWxlbWVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyRXh0ZW5zaW9uIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9ucyB0aGF0IGNhbm5vdCBiZSBpZ25vcmVkIGV2ZW4gaWYgdW5yZWNvZ25pemVkIiBkZWZpbml0aW9uPSJNYXkgYmUgdXNlZCB0byByZXByZXNlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBiYXNpYyBkZWZpbml0aW9uIG9mIHRoZSBlbGVtZW50IGFuZCB0aGF0IG1vZGlmaWVzIHRoZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBlbGVtZW50IGluIHdoaWNoIGl0IGlzIGNvbnRhaW5lZCBhbmQvb3IgdGhlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNvbnRhaW5pbmcgZWxlbWVudCdzIGRlc2NlbmRhbnRzLiBVc3VhbGx5IG1vZGlmaWVyIGVsZW1lbnRzIHByb3ZpZGUgbmVnYXRpb24gb3IgcXVhbGlmaWNhdGlvbi4gVG8gbWFrZSB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgc2FmZSBhbmQgbWFuYWdlYWJsZSwgdGhlcmUgaXMgYSBzdHJpY3Qgc2V0IG9mIGdvdmVybmFuY2UgYXBwbGllZCB0byB0aGUgZGVmaW5pdGlvbiBhbmQgdXNlIG9mIGV4dGVuc2lvbnMuIFRob3VnaCBhbnkgaW1wbGVtZW50ZXIgY2FuIGRlZmluZSBhbiBleHRlbnNpb24sIHRoZXJlIGlzIGEgc2V0IG9mIHJlcXVpcmVtZW50cyB0aGF0IFNIQUxMIGJlIG1ldCBhcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpb24uIEFwcGxpY2F0aW9ucyBwcm9jZXNzaW5nIGEgcmVzb3VyY2UgYXJlIHJlcXVpcmVkIHRvIGNoZWNrIGZvciBtb2RpZmllciBleHRlbnNpb25zLiYjMTA7JiMxMDtNb2RpZmllciBleHRlbnNpb25zIFNIQUxMIE5PVCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgYW55IGVsZW1lbnRzIG9uIFJlc291cmNlIG9yIERvbWFpblJlc291cmNlIChpbmNsdWRpbmcgY2Fubm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiBtb2RpZmllckV4dGVuc2lvbiBpdHNlbGYpLiIgY29tbWVudD0iVGhlcmUgY2FuIGJlIG5vIHN0aWdtYSBhc3NvY2lhdGVkIHdpdGggdGhlIHVzZSBvZiBleHRlbnNpb25zIGJ5IGFueSBhcHBsaWNhdGlvbiwgcHJvamVjdCwgb3Igc3RhbmRhcmQgLSByZWdhcmRsZXNzIG9mIHRoZSBpbnN0aXR1dGlvbiBvciBqdXJpc2RpY3Rpb24gdGhhdCB1c2VzIG9yIGRlZmluZXMgdGhlIGV4dGVuc2lvbnMuICBUaGUgdXNlIG9mIGV4dGVuc2lvbnMgaXMgd2hhdCBhbGxvd3MgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiB0byByZXRhaW4gYSBjb3JlIGxldmVsIG9mIHNpbXBsaWNpdHkgZm9yIGV2ZXJ5b25lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQm9keVN0cnVjdHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtYm9keXN0cnVjdHVyZSIgbGFiZWw9IlFJQ29yZSBCb2R5U3RydWN0dXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJsb2NhdGlvbiIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJvZHlzdHJ1Y3R1cmUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZSBvZiB0aGUgYW5hdG9taWNhbCBzdHJ1Y3R1cmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGV0aGVyIHRoaXMgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBib2R5IHNpdGUgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSBpdCBtYXkgYmUgdXNlZCB0byBtYXJrIHRoYXQgdGhlIHJlc291cmNlIHdhcyBjcmVhdGVkIGluIGVycm9yLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vcnBob2xvZ3kiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IktpbmQgb2YgU3RydWN0dXJlIiBkZWZpbml0aW9uPSJUaGUga2luZCBvZiBzdHJ1Y3R1cmUgYmVpbmcgcmVwcmVzZW50ZWQgYnkgdGhlIGJvZHkgc3RydWN0dXJlIGF0IGBCb2R5U3RydWN0dXJlLmxvY2F0aW9uYC4gIFRoaXMgY2FuIGRlZmluZSBib3RoIG5vcm1hbCBhbmQgYWJub3JtYWwgbW9ycGhvbG9naWVzLiIgY29tbWVudD0iVGhlIG1pbmltdW0gY2FyZGluYWxpdHkgb2YgMCBzdXBwb3J0cyB0aGUgdXNlIGNhc2Ugb2Ygc3BlY2lmeWluZyBhIGxvY2F0aW9uIHdpdGhvdXQgZGVmaW5pbmcgYSBtb3JwaG9sb2d5LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTdHJ1Y3R1cmVDb2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pYyBtb3JwaG9sb2d5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBCb2R5IHNpdGUiIGRlZmluaXRpb249IlRoZSBhbmF0b21pY2FsIGxvY2F0aW9uIG9yIHJlZ2lvbiBvZiB0aGUgc3BlY2ltZW4sIGxlc2lvbiwgb3IgYm9keSBzdHJ1Y3R1cmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvblF1YWxpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBCb2R5IHNpdGUgbW9kaWZpZXIiIGRlZmluaXRpb249IlF1YWxpZmllciB0byByZWZpbmUgdGhlIGFuYXRvbWljYWwgbG9jYXRpb24uICBUaGVzZSBpbmNsdWRlIHF1YWxpZmllcnMgZm9yIGxhdGVyYWxpdHksIHJlbGF0aXZlIGxvY2F0aW9uLCBkaXJlY3Rpb25hbGl0eSwgbnVtYmVyLCBhbmQgcGxhbmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb25jZXB0cyBtb2RpZnlpbmcgdGhlIGFuYXRvbWljIGxvY2F0aW9uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0IGRlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJBIHN1bW1hcnksIGNoYXJhY3Rlcml6YXRpb24gb3IgZXhwbGFuYXRpb24gb2YgdGhlIGJvZHkgc3RydWN0dXJlLiIgY29tbWVudD0iVGhpcyBkZXNjcmlwdGlvbiBjb3VsZCBpbmNsdWRlIGFueSB2aXN1YWwgbWFya2luZ3MgdXNlZCB0byBvcmllbnRhdGUgdGhlIHZpZXdlciBlLmcuIGV4dGVybmFsIHJlZmVyZW5jZSBwb2ludHMsIHNwZWNpYWwgc3V0dXJlcywgaW5rIG1hcmtpbmdzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImltYWdlIiBkZXNjcmlwdGlvbj0iQXR0YWNoZWQgaW1hZ2VzIiBkZWZpbml0aW9uPSJJbWFnZSBvciBpbWFnZXMgdXNlZCB0byBpZGVudGlmeSBhIGxvY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaG8gdGhpcyBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiB0byB3aGljaCB0aGUgYm9keSBzaXRlIGJlbG9uZ3MuIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVQbGFuIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jYXJlcGxhbiIgbGFiZWw9IlFJQ29yZSBDYXJlUGxhbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY2F0ZWdvcnkiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgcGxhbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjYXJlIHBsYW4gYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIHF1ZXN0aW9ubmFpcmUgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIENhcmVQbGFuLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgcXVlc3Rpb25uYWlyZSBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ2FyZVBsYW4uIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgQ2FyZVBsYW4iIGRlZmluaXRpb249IkEgY2FyZSBwbGFuIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBjYXJlIHBsYW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwbGFjZXMiIGRlc2NyaXB0aW9uPSJDYXJlUGxhbiByZXBsYWNlZCBieSB0aGlzIENhcmVQbGFuIiBkZWZpbml0aW9uPSJDb21wbGV0ZWQgb3IgdGVybWluYXRlZCBjYXJlIHBsYW4gd2hvc2UgZnVuY3Rpb24gaXMgdGFrZW4gYnkgdGhpcyBuZXcgY2FyZSBwbGFuLiIgY29tbWVudD0iVGhlIHJlcGxhY2VtZW50IGNvdWxkIGJlIGJlY2F1c2UgdGhlIGluaXRpYWwgY2FyZSBwbGFuIHdhcyBpbW1lZGlhdGVseSByZWplY3RlZCAoZHVlIHRvIGFuIGlzc3VlKSBvciBiZWNhdXNlIHRoZSBwcmV2aW91cyBjYXJlIHBsYW4gd2FzIGNvbXBsZXRlZCwgYnV0IHRoZSBuZWVkIGZvciB0aGUgYWN0aW9uIGRlc2NyaWJlZCBieSB0aGUgY2FyZSBwbGFuIHJlbWFpbnMgb25nb2luZy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgQ2FyZVBsYW4iIGRlZmluaXRpb249IkEgbGFyZ2VyIGNhcmUgcGxhbiBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgY2FyZSBwbGFuIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIiBjb21tZW50PSJFYWNoIGNhcmUgcGxhbiBpcyBhbiBpbmRlcGVuZGVudCByZXF1ZXN0LCBzdWNoIHRoYXQgaGF2aW5nIGEgY2FyZSBwbGFuIGJlIHBhcnQgb2YgYW5vdGhlciBjYXJlIHBsYW4gY2FuIGNhdXNlIGlzc3VlcyB3aXRoIGNhc2NhZGluZyBzdGF0dXNlcy4gIEFzIHN1Y2gsIHRoaXMgZWxlbWVudCBpcyBzdGlsbCBiZWluZyBkaXNjdXNzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIGRyYWZ0IHwgYWN0aXZlIHwgb24taG9sZCB8IHJldm9rZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHBsYW4gaXMgY3VycmVudGx5IGJlaW5nIGFjdGVkIHVwb24sIHJlcHJlc2VudHMgZnV0dXJlIGludGVudGlvbnMgb3IgaXMgbm93IGEgaGlzdG9yaWNhbCByZWNvcmQuIiBjb21tZW50PSJUaGUgdW5rbm93biBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSB1bmtub3duIGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhcmUgcGxhbi4mIzEwOyYjMTA7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGUgZW50ZXJlZC1pbi1lcnJvciB0aGF0IG1hcmtzIHRoZSBwbGFuIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgcGxhbiBpcyBjdXJyZW50bHkgYmVpbmcgYWN0ZWQgdXBvbiwgcmVwcmVzZW50cyBmdXR1cmUgaW50ZW50aW9ucyBvciBpcyBub3cgYSBoaXN0b3JpY2FsIHJlY29yZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbGV2ZWwgb2YgYXV0aG9yaXR5L2ludGVudGlvbmFsaXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FyZSBwbGFuIGFuZCB3aGVyZSB0aGUgY2FyZSBwbGFuIGZpdHMgaW50byB0aGUgd29ya2Zsb3cgY2hhaW4uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIGludGVudCBhbHRlcnMgd2hlbiBhbmQgaG93IHRoZSByZXNvdXJjZSBpcyBhY3R1YWxseSBhcHBsaWNhYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgZGVncmVlIG9mIGF1dGhvcml0eS9pbnRlbnRpb25hbGl0eSBhc3NvY2lhdGVkIHdpdGggYSBjYXJlIHBsYW4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVHlwZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJUeXBlIG9mIHBsYW4uIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhlcyBvZiBjYXRlZ29yaXphdGlvbiBhbmQgb25lIHBsYW4gbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiAgSW4gc29tZSBjYXNlcywgdGhpcyBtYXkgYmUgcmVkdW5kYW50IHdpdGggcmVmZXJlbmNlcyB0byBDYXJlUGxhbi5jb25jZXJuLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5DYXRlZ29yeSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgd2hhdCAmcXVvdDtraW5kJnF1b3Q7IG9mIHBsYW4gdGhpcyBpcyB0byBzdXBwb3J0IGRpZmZlcmVudGlhdGlvbiBiZXR3ZWVuIG11bHRpcGxlIGNvLWV4aXN0aW5nIHBsYW5zOyBlLmcuICZxdW90O0hvbWUgaGVhbHRoJnF1b3Q7LCAmcXVvdDtwc3ljaGlhdHJpYyZxdW90OywgJnF1b3Q7YXN0aG1hJnF1b3Q7LCAmcXVvdDtkaXNlYXNlIG1hbmFnZW1lbnQmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iQXNzZXNzUGxhbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUeXBlIG9mIHBsYW4iIGRlZmluaXRpb249IlR5cGUgb2YgcGxhbi4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgcGxhbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuICBJbiBzb21lIGNhc2VzLCB0aGlzIG1heSBiZSByZWR1bmRhbnQgd2l0aCByZWZlcmVuY2VzIHRvIENhcmVQbGFuLmNvbmNlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHdoYXQgJnF1b3Q7a2luZCZxdW90OyBvZiBwbGFuIHRoaXMgaXMgdG8gc3VwcG9ydCBkaWZmZXJlbnRpYXRpb24gYmV0d2VlbiBtdWx0aXBsZSBjby1leGlzdGluZyBwbGFuczsgZS5nLiAmcXVvdDtIb21lIGhlYWx0aCZxdW90OywgJnF1b3Q7cHN5Y2hpYXRyaWMmcXVvdDssICZxdW90O2FzdGhtYSZxdW90OywgJnF1b3Q7ZGlzZWFzZSBtYW5hZ2VtZW50JnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIdW1hbi1mcmllbmRseSBuYW1lIGZvciB0aGUgY2FyZSBwbGFuIiBkZWZpbml0aW9uPSJIdW1hbi1mcmllbmRseSBuYW1lIGZvciB0aGUgY2FyZSBwbGFuLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdW1tYXJ5IG9mIG5hdHVyZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHRoZSBzY29wZSBhbmQgbmF0dXJlIG9mIHRoZSBwbGFuLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gdGhlIGNhcmUgcGxhbiBpcyBmb3IuIiBkZWZpbml0aW9uPSJXaG8gY2FyZSBwbGFuIGlzIGZvci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ2FyZVBsYW4gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIENhcmVQbGFuIGFjdGl2aXRpZXMgY29uZHVjdGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBjYXJlIHBsYW4gbWF5IHdlbGwgb2NjdXIgYXMgcGFydCBvZiBvdGhlciBlbmNvdW50ZXJzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBwbGFuIGNvdmVycyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZW4gdGhlIHBsYW4gZGlkIChvciBpcyBpbnRlbmRlZCB0bykgY29tZSBpbnRvIGVmZmVjdCBhbmQgZW5kLiIgY29tbWVudD0iQW55IGFjdGl2aXRpZXMgc2NoZWR1bGVkIGFzIHBhcnQgb2YgdGhlIHBsYW4gc2hvdWxkIGJlIGNvbnN0cmFpbmVkIHRvIHRoZSBzcGVjaWZpZWQgcGVyaW9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWN0aXZpdGllcyBhcmUgcGxhbm5lZCB3aXRoaW4gYSBzaW5nbGUgZW5jb3VudGVyL2VwaXNvZGUgb3IgYWNyb3NzIG11bHRpcGxlIGVuY291bnRlcnMvZXBpc29kZXMgKGUuZy4gdGhlIGxvbmdpdHVkaW5hbCBtYW5hZ2VtZW50IG9mIGEgY2hyb25pYyBjb25kaXRpb24pLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvcmQgd2FzIGZpcnN0IHJlY29yZGVkIiBkZWZpbml0aW9uPSJSZXByZXNlbnRzIHdoZW4gdGhpcyBwYXJ0aWN1bGFyIENhcmVQbGFuIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHRoZSBkZXNpZ25hdGVkIHJlc3BvbnNpYmxlIHBhcnR5IiBkZWZpbml0aW9uPSJXaGVuIHBvcHVsYXRlZCwgdGhlIGF1dGhvciBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgcGxhbi4gIFRoZSBjYXJlIHBsYW4gaXMgYXR0cmlidXRlZCB0byB0aGUgYXV0aG9yLiIgY29tbWVudD0iVGhlIGF1dGhvciBtYXkgYWxzbyBiZSBhIGNvbnRyaWJ1dG9yLiAgRm9yIGV4YW1wbGUsIGFuIG9yZ2FuaXphdGlvbiBjYW4gYmUgYW4gYXV0aG9yLCBidXQgbm90IGxpc3RlZCBhcyBhIGNvbnRyaWJ1dG9yLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dG9yIiBkZXNjcmlwdGlvbj0iV2hvIHByb3ZpZGVkIHRoZSBjb250ZW50IG9mIHRoZSBjYXJlIHBsYW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIGluZGl2aWR1YWwocykgb3Igb3JnYW5pemF0aW9uIHdobyBwcm92aWRlZCB0aGUgY29udGVudHMgb2YgdGhlIGNhcmUgcGxhbi4iIGNvbW1lbnQ9IkNvbGxhYm9yYXRpdmUgY2FyZSBwbGFucyBtYXkgaGF2ZSBtdWx0aXBsZSBjb250cmlidXRvcnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2FyZVRlYW0iIGRlc2NyaXB0aW9uPSJXaG8ncyBpbnZvbHZlZCBpbiBwbGFuPyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBhbGwgcGVvcGxlIGFuZCBvcmdhbml6YXRpb25zIHdobyBhcmUgZXhwZWN0ZWQgdG8gYmUgaW52b2x2ZWQgaW4gdGhlIGNhcmUgZW52aXNpb25lZCBieSB0aGlzIHBsYW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzc2VzIiBkZXNjcmlwdGlvbj0iSGVhbHRoIGlzc3VlcyB0aGlzIHBsYW4gYWRkcmVzc2VzIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBjb25kaXRpb25zL3Byb2JsZW1zL2NvbmNlcm5zL2RpYWdub3Nlcy9ldGMuIHdob3NlIG1hbmFnZW1lbnQgYW5kL29yIG1pdGlnYXRpb24gYXJlIGhhbmRsZWQgYnkgdGhpcyBwbGFuLiIgY29tbWVudD0iV2hlbiB0aGUgZGlhZ25vc2lzIGlzIHJlbGF0ZWQgdG8gYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSwgdGhlIENvbmRpdGlvbiBhbmQgQWxsZXJneUludG9sZXJhbmNlIHJlc291cmNlcyBjYW4gYm90aCBiZSB1c2VkLiBIb3dldmVyLCB0byBiZSBhY3Rpb25hYmxlIGZvciBkZWNpc2lvbiBzdXBwb3J0LCB1c2luZyBDb25kaXRpb24gYWxvbmUgaXMgbm90IHN1ZmZpY2llbnQgYXMgdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgY29uZGl0aW9uIG5lZWRzIHRvIGJlIHJlcHJlc2VudGVkIGFzIGFuIEFsbGVyZ3lJbnRvbGVyYW5jZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGNvbnNpZGVyZWQgYXMgcGFydCBvZiBwbGFuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHBvcnRpb25zIG9mIHRoZSBwYXRpZW50J3MgcmVjb3JkIHRoYXQgc3BlY2lmaWNhbGx5IGluZmx1ZW5jZWQgdGhlIGZvcm1hdGlvbiBvZiB0aGUgcGxhbi4gIFRoZXNlIG1pZ2h0IGluY2x1ZGUgY29tb3JiaWRpdGllcywgcmVjZW50IHByb2NlZHVyZXMsIGxpbWl0YXRpb25zLCByZWNlbnQgYXNzZXNzbWVudHMsIGV0Yy4iIGNvbW1lbnQ9IlVzZSAmcXVvdDtjb25jZXJuJnF1b3Q7IHRvIGlkZW50aWZ5IHNwZWNpZmljIGNvbmRpdGlvbnMgYWRkcmVzc2VkIGJ5IHRoZSBjYXJlIHBsYW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ29hbCIgZGVzY3JpcHRpb249IkRlc2lyZWQgb3V0Y29tZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIGludGVuZGVkIG9iamVjdGl2ZShzKSBvZiBjYXJyeWluZyBvdXQgdGhlIGNhcmUgcGxhbi4iIGNvbW1lbnQ9IkdvYWwgY2FuIGJlIGFjaGlldmluZyBhIHBhcnRpY3VsYXIgY2hhbmdlIG9yIG1lcmVseSBtYWludGFpbmluZyBhIGN1cnJlbnQgc3RhdGUgb3IgZXZlbiBzbG93aW5nIGEgZGVjbGluZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3Rpdml0eSIgZGVzY3JpcHRpb249IkFjdGlvbiB0byBvY2N1ciBhcyBwYXJ0IG9mIHBsYW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgYSBwbGFubmVkIGFjdGlvbiB0byBvY2N1ciBhcyBwYXJ0IG9mIHRoZSBwbGFuLiAgRm9yIGV4YW1wbGUsIGEgbWVkaWNhdGlvbiB0byBiZSB1c2VkLCBsYWIgdGVzdHMgdG8gcGVyZm9ybSwgc2VsZi1tb25pdG9yaW5nLCBlZHVjYXRpb24sIGV0Yy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNhcmVQbGFuLkFjdGl2aXR5Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNwbC0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlByb3ZpZGUgYSByZWZlcmVuY2Ugb3IgZGV0YWlsLCBub3QgYm90aCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iZGV0YWlsLmVtcHR5KCkgb3IgcmVmZXJlbmNlLmVtcHR5KCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIHBsYW4iIGRlZmluaXRpb249IkdlbmVyYWwgbm90ZXMgYWJvdXQgdGhlIGNhcmUgcGxhbiBub3QgY292ZXJlZCBlbHNld2hlcmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVQbGFuLkFjdGl2aXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lQ29kZWFibGVDb25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVzdWx0cyBvZiB0aGUgYWN0aXZpdHkiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG91dGNvbWUgYXQgdGhlIHBvaW50IHdoZW4gdGhlIHN0YXR1cyBvZiB0aGUgYWN0aXZpdHkgaXMgYXNzZXNzZWQuICBGb3IgZXhhbXBsZSwgdGhlIG91dGNvbWUgb2YgYW4gZWR1Y2F0aW9uIGFjdGl2aXR5IGNvdWxkIGJlIHBhdGllbnQgdW5kZXJzdGFuZHMgKG9yIG5vdCkuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBzaG91bGQgbm90IGR1cGxpY2F0ZSB0aGUgYWN0aXZpdHkgc3RhdHVzIChlLmcuIGNvbXBsZXRlZCBvciBpbiBwcm9ncmVzcykuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQWN0aXZpdHlPdXRjb21lIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcmVzdWx0cyBvZiB0aGUgYWN0aXZpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQXBwb2ludG1lbnQsIEVuY291bnRlciwgUHJvY2VkdXJlLCBldGMuIiBkZWZpbml0aW9uPSJEZXRhaWxzIG9mIHRoZSBvdXRjb21lIG9yIGFjdGlvbiByZXN1bHRpbmcgZnJvbSB0aGUgYWN0aXZpdHkuICBUaGUgcmVmZXJlbmNlIHRvIGFuICZxdW90O2V2ZW50JnF1b3Q7IHJlc291cmNlLCBzdWNoIGFzIFByb2NlZHVyZSBvciBFbmNvdW50ZXIgb3IgT2JzZXJ2YXRpb24sIGlzIHRoZSByZXN1bHQvb3V0Y29tZSBvZiB0aGUgYWN0aXZpdHkgaXRzZWxmLiAgVGhlIGFjdGl2aXR5IGNhbiBiZSBjb252ZXllZCB1c2luZyBDYXJlUGxhbi5hY3Rpdml0eS5kZXRhaWwgT1IgdXNpbmcgdGhlIENhcmVQbGFuLmFjdGl2aXR5LnJlZmVyZW5jZSAoYSByZWZlcmVuY2UgdG8gYSDigJxyZXF1ZXN04oCdIHJlc291cmNlKS4iIGNvbW1lbnQ9IlRoZSBhY3Rpdml0eSBvdXRjb21lIGlzIGluZGVwZW5kZW50IG9mIHRoZSBvdXRjb21lIG9mIHRoZSByZWxhdGVkIGdvYWwocykuICBGb3IgZXhhbXBsZSwgaWYgdGhlIGdvYWwgaXMgdG8gYWNoaWV2ZSBhIHRhcmdldCBib2R5IHdlaWdodCBvZiAxNTAgbGJzIGFuZCBhbiBhY3Rpdml0eSBpcyBkZWZpbmVkIHRvIGRpZXQsIHRoZW4gdGhlIGFjdGl2aXR5IG91dGNvbWUgY291bGQgYmUgY2Fsb3JpZXMgY29uc3VtZWQgd2hlcmVhcyB0aGUgZ29hbCBvdXRjb21lIGlzIGFuIG9ic2VydmF0aW9uIGZvciB0aGUgYWN0dWFsIGJvZHkgd2VpZ2h0IG1lYXN1cmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2dyZXNzIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIGFjdGl2aXR5IHN0YXR1cy9wcm9ncmVzcyIgZGVmaW5pdGlvbj0iTm90ZXMgYWJvdXQgdGhlIGFkaGVyZW5jZS9zdGF0dXMvcHJvZ3Jlc3Mgb2YgdGhlIGFjdGl2aXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHNob3VsZCBOT1QgYmUgdXNlZCB0byBkZXNjcmliZSB0aGUgYWN0aXZpdHkgdG8gYmUgcGVyZm9ybWVkIC0gdGhhdCBvY2N1cnMgZWl0aGVyIHdpdGhpbiB0aGUgcmVzb3VyY2UgcG9pbnRlZCB0byBieSBhY3Rpdml0eS5kZXRhaWwucmVmZXJlbmNlIG9yIGluIGFjdGl2aXR5LmRldGFpbC5kZXNjcmlwdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFjdGl2aXR5IGRldGFpbHMgZGVmaW5lZCBpbiBzcGVjaWZpYyByZXNvdXJjZSIgZGVmaW5pdGlvbj0iVGhlIGRldGFpbHMgb2YgdGhlIHByb3Bvc2VkIGFjdGl2aXR5IHJlcHJlc2VudGVkIGluIGEgc3BlY2lmaWMgcmVzb3VyY2UuIiBjb21tZW50PSJTdGFuZGFyZCBleHRlbnNpb24gZXhpc3RzIChbcmVzb3VyY2UtcGVydGFpbnNUb0dvYWxdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXJlc291cmNlLXBlcnRhaW5zdG9nb2FsLmh0bWwpKSB0aGF0IGFsbG93cyBnb2FscyB0byBiZSByZWZlcmVuY2VkIGZyb20gYW55IG9mIHRoZSByZWZlcmVuY2VkIHJlc291cmNlcyBpbiBDYXJlUGxhbi5hY3Rpdml0eS5yZWZlcmVuY2UuICAmIzEzO1RoZSBnb2FsIHNob3VsZCBiZSB2aXNpYmxlIHdoZW4gdGhlIHJlc291cmNlIHJlZmVyZW5jZWQgYnkgQ2FyZVBsYW4uYWN0aXZpdHkucmVmZXJlbmNlIGlzIHZpZXdlZCBpbmRlcGVuZGVudGx5IGZyb20gdGhlIENhcmVQbGFuLiAgUmVxdWVzdHMgdGhhdCBhcmUgcG9pbnRlZCB0byBieSBhIENhcmVQbGFuIHVzaW5nIHRoaXMgZWxlbWVudCBzaG91bGQgKm5vdCogcG9pbnQgdG8gdGhpcyBDYXJlUGxhbiB1c2luZyB0aGUgJnF1b3Q7YmFzZWRPbiZxdW90OyBlbGVtZW50LiAgaS5lLiBSZXF1ZXN0cyB0aGF0IGFyZSBwYXJ0IG9mIGEgQ2FyZVBsYW4gYXJlIG5vdCAmcXVvdDtiYXNlZCBvbiZxdW90OyB0aGUgQ2FyZVBsYW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNhcmVQbGFuLkFjdGl2aXR5LkRldGFpbCIgZGVzY3JpcHRpb249IkluLWxpbmUgZGVmaW5pdGlvbiBvZiBhY3Rpdml0eSIgZGVmaW5pdGlvbj0iQSBzaW1wbGUgc3VtbWFyeSBvZiBhIHBsYW5uZWQgYWN0aXZpdHkgc3VpdGFibGUgZm9yIGEgZ2VuZXJhbCBjYXJlIHBsYW4gc3lzdGVtIChlLmcuIGZvcm0gZHJpdmVuKSB0aGF0IGRvZXNuJ3Qga25vdyBhYm91dCBzcGVjaWZpYyByZXNvdXJjZXMgc3VjaCBhcyBwcm9jZWR1cmUgZXRjLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2FyZVBsYW4uQWN0aXZpdHkuRGV0YWlsIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJraW5kIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNhcmVQbGFuQWN0aXZpdHlLaW5kIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcG9pbnRtZW50IHwgQ29tbXVuaWNhdGlvblJlcXVlc3QgfCBEZXZpY2VSZXF1ZXN0IHwgTWVkaWNhdGlvblJlcXVlc3QgfCBOdXRyaXRpb25PcmRlciB8IFRhc2sgfCBTZXJ2aWNlUmVxdWVzdCB8IFZpc2lvblByZXNjcmlwdGlvbiIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiB0aGUga2luZCBvZiByZXNvdXJjZSB0aGUgaW4tbGluZSBkZWZpbml0aW9uIG9mIGEgY2FyZSBwbGFuIGFjdGl2aXR5IGlzIHJlcHJlc2VudGluZy4gIFRoZSBDYXJlUGxhbi5hY3Rpdml0eS5kZXRhaWwgaXMgYW4gaW4tbGluZSBkZWZpbml0aW9uIHdoZW4gYSByZXNvdXJjZSBpcyBub3QgcmVmZXJlbmNlZCB1c2luZyBDYXJlUGxhbi5hY3Rpdml0eS5yZWZlcmVuY2UuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCwgYSBTZXJ2aWNlUmVxdWVzdCwgb3IgYSBDb21tdW5pY2F0aW9uUmVxdWVzdC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5S2luZCIgZGVzY3JpcHRpb249IlJlc291cmNlIHR5cGVzIGRlZmluZWQgYXMgcGFydCBvZiBGSElSIHRoYXQgY2FuIGJlIHJlcHJlc2VudGVkIGFzIGluLWxpbmUgZGVmaW5pdGlvbnMgb2YgYSBjYXJlIHBsYW4gYWN0aXZpdHkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgcXVlc3Rpb25uYWlyZSBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ2FyZVBsYW4gYWN0aXZpdHkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBleHRlcm5hbCBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuIGV4dGVybmFsbHkgbWFpbnRhaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBxdWVzdGlvbm5haXJlIG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDYXJlUGxhbiBhY3Rpdml0eS4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgYmUgYW4gSFRNTCBwYWdlLCBQREYsIGV0Yy4gb3IgY291bGQganVzdCBiZSBhIG5vbi1yZXNvbHZhYmxlIFVSSSBpZGVudGlmaWVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRldGFpbCB0eXBlIG9mIGFjdGl2aXR5IiBkZWZpbml0aW9uPSJEZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgdHlwZSBvZiBwbGFubmVkIGFjdGl2aXR5OyBlLmcuIHdoYXQgbGFiIHRlc3QsIHdoYXQgcHJvY2VkdXJlLCB3aGF0IGtpbmQgb2YgZW5jb3VudGVyLiIgY29tbWVudD0iVGVuZHMgdG8gYmUgbGVzcyByZWxldmFudCBmb3IgYWN0aXZpdGllcyBpbnZvbHZpbmcgcGFydGljdWxhciBwcm9kdWN0cy4gIENvZGVzIHNob3VsZCBub3QgY29udmV5IG5lZ2F0aW9uIC0gdXNlICZxdW90O3Byb2hpYml0ZWQmcXVvdDsgaW5zdGVhZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5VHlwZSIgZGVzY3JpcHRpb249IkRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSB0eXBlIG9mIGFjdGl2aXR5OyBlLmcuIFdoYXQgbGFiIHRlc3QsIHdoYXQgcHJvY2VkdXJlLCB3aGF0IGtpbmQgb2YgZW5jb3VudGVyLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBhY3Rpdml0eSBzaG91bGQgYmUgZG9uZSBvciB3aHkgYWN0aXZpdHkgd2FzIHByb2hpYml0ZWQiIGRlZmluaXRpb249IlByb3ZpZGVzIHRoZSByYXRpb25hbGUgdGhhdCBkcm92ZSB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgcGFydGljdWxhciBhY3Rpdml0eSBhcyBwYXJ0IG9mIHRoZSBwbGFuIG9yIHRoZSByZWFzb24gd2h5IHRoZSBhY3Rpdml0eSB3YXMgcHJvaGliaXRlZC4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gIElmIGEgZnVsbCBjb25kaXRpb24gcmVjb3JkIGV4aXN0cyBvciBhZGRpdGlvbmFsIGRldGFpbCBpcyBuZWVkZWQsIHVzZSByZWFzb25Db25kaXRpb24gaW5zdGVhZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eVJlYXNvbiIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgd2h5IGEgY2FyZSBwbGFuIGFjdGl2aXR5IGlzIG5lZWRlZC4gIENhbiBpbmNsdWRlIGFueSBoZWFsdGggY29uZGl0aW9uIGNvZGVzIGFzIHdlbGwgYXMgc3VjaCBjb25jZXB0cyBhcyAmcXVvdDtnZW5lcmFsIHdlbGxuZXNzJnF1b3Q7LCBwcm9waHlsYXhpcywgc3VyZ2ljYWwgcHJlcGFyYXRpb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSBhY3Rpdml0eSBpcyBuZWVkZWQiIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlLCBzdWNoIGFzIHRoZSBoZWFsdGggY29uZGl0aW9uKHMpLCB3aG9zZSBleGlzdGVuY2UganVzdGlmaWVzIHRoaXMgcmVxdWVzdCBhbmQgZHJvdmUgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHBhcnRpY3VsYXIgYWN0aXZpdHkgYXMgcGFydCBvZiB0aGUgcGxhbi4iIGNvbW1lbnQ9IkNvbmRpdGlvbnMgY2FuIGJlIGlkZW50aWZpZWQgYXQgdGhlIGFjdGl2aXR5IGxldmVsIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIHJlYXNvbnMgZm9yIHRoZSBvdmVyYWxsIHBsYW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ29hbCIgZGVzY3JpcHRpb249IkdvYWxzIHRoaXMgYWN0aXZpdHkgcmVsYXRlcyB0byIgZGVmaW5pdGlvbj0iSW50ZXJuYWwgcmVmZXJlbmNlIHRoYXQgaWRlbnRpZmllcyB0aGUgZ29hbHMgdGhhdCB0aGlzIGFjdGl2aXR5IGlzIGludGVuZGVkIHRvIGNvbnRyaWJ1dGUgdG93YXJkcyBtZWV0aW5nLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5DYXJlUGxhbkFjdGl2aXR5U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im5vdC1zdGFydGVkIHwgc2NoZWR1bGVkIHwgaW4tcHJvZ3Jlc3MgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgY2FuY2VsbGVkIHwgc3RvcHBlZCB8IHVua25vd24gfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoYXQgcHJvZ3Jlc3MgaXMgYmVpbmcgbWFkZSBmb3IgdGhlIHNwZWNpZmljIGFjdGl2aXR5LiIgY29tbWVudD0iU29tZSBhc3BlY3RzIG9mIHN0YXR1cyBjYW4gYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIHJlc291cmNlcyBsaW5rZWQgaW4gYWN0aW9uVGFrZW4uICBOb3RlIHRoYXQgJnF1b3Q7c3RhdHVzJnF1b3Q7IGlzIG9ubHkgYXMgY3VycmVudCBhcyB0aGUgcGxhbiB3YXMgbW9zdCByZWNlbnRseSB1cGRhdGVkLiAgJiMxMDtUaGUgdW5rbm93biBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSB1bmtub3duIGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGFjdGl2aXR5LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyB0aGF0IHJlZmxlY3QgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYSBjYXJlIHBsYW4gYWN0aXZpdHkgd2l0aGluIGl0cyBvdmVyYWxsIGxpZmUgY3ljbGUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJQcm92aWRlcyByZWFzb24gd2h5IHRoZSBhY3Rpdml0eSBpc24ndCB5ZXQgc3RhcnRlZCwgaXMgb24gaG9sZCwgd2FzIGNhbmNlbGxlZCwgZXRjLiIgY29tbWVudD0iV2lsbCBnZW5lcmFsbHkgbm90IGJlIHByZXNlbnQgaWYgc3RhdHVzIGlzICZxdW90O2NvbXBsZXRlJnF1b3Q7LiAgQmUgc3VyZSB0byBwcm9tcHQgdG8gdXBkYXRlIHRoaXMgKG9yIGF0IGxlYXN0IHJlbW92ZSB0aGUgZXhpc3RpbmcgdmFsdWUpIGlmIHRoZSBzdGF0dXMgaXMgY2hhbmdlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJZiB0cnVlLCBhY3Rpdml0eSBpcyBwcm9oaWJpdGluZyBhY3Rpb24iIGRlZmluaXRpb249IklmIHRydWUsIGluZGljYXRlcyB0aGF0IHRoZSBkZXNjcmliZWQgYWN0aXZpdHkgaXMgb25lIHRoYXQgbXVzdCBOT1QgYmUgZW5nYWdlZCBpbiB3aGVuIGZvbGxvd2luZyB0aGUgcGxhbi4gIElmIGZhbHNlLCBvciBtaXNzaW5nLCBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVzY3JpYmVkIGFjdGl2aXR5IGlzIG9uZSB0aGF0IHNob3VsZCBiZSBlbmdhZ2VkIGluIHdoZW4gZm9sbG93aW5nIHRoZSBwbGFuLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIGl0IG1hcmtzIGFuIGFjdGl2aXR5IGFzIGFuIGFjdGl2aXR5IHRoYXQgaXMgbm90IHRvIGJlIHBlcmZvcm1lZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzY2hlZHVsZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBhY3Rpdml0eSBpcyB0byBvY2N1ciIgZGVmaW5pdGlvbj0iVGhlIHBlcmlvZCwgdGltaW5nIG9yIGZyZXF1ZW5jeSB1cG9uIHdoaWNoIHRoZSBkZXNjcmliZWQgYWN0aXZpdHkgaXMgdG8gb2NjdXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgaXQgc2hvdWxkIGhhcHBlbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgZmFjaWxpdHkgd2hlcmUgdGhlIGFjdGl2aXR5IHdpbGwgb2NjdXI7IGUuZy4gaG9tZSwgaG9zcGl0YWwsIHNwZWNpZmljIGNsaW5pYywgZXRjLiIgY29tbWVudD0iTWF5IHJlZmVyZW5jZSBhIHNwZWNpZmljIGNsaW5pY2FsIGxvY2F0aW9uIG9yIG1heSBpZGVudGlmeSBhIHR5cGUgb2YgbG9jYXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHdpbGwgYmUgcmVzcG9uc2libGU/IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdobydzIGV4cGVjdGVkIHRvIGJlIGludm9sdmVkIGluIHRoZSBhY3Rpdml0eS4iIGNvbW1lbnQ9IkEgcGVyZm9ybWVyIE1BWSBhbHNvIGJlIGEgcGFydGljaXBhbnQgaW4gdGhlIGNhcmUgcGxhbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgaXMgdG8gYmUgYWRtaW5pc3RlcmVkL3N1cHBsaWVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBmb29kLCBkcnVnIG9yIG90aGVyIHByb2R1Y3QgdG8gYmUgY29uc3VtZWQgb3Igc3VwcGxpZWQgaW4gdGhlIGFjdGl2aXR5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5Qcm9kdWN0IiBkZXNjcmlwdGlvbj0iQSBwcm9kdWN0IHN1cHBsaWVkIG9yIGFkbWluaXN0ZXJlZCBhcyBwYXJ0IG9mIGEgY2FyZSBwbGFuIGFjdGl2aXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGFpbHlBbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IHRvIGNvbnN1bWUvZGF5PyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcXVhbnRpdHkgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgaW4gYSBnaXZlbiBkYXkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IG11Y2ggdG8gYWRtaW5pc3Rlci9zdXBwbHkvY29uc3VtZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcXVhbnRpdHkgZXhwZWN0ZWQgdG8gYmUgc3VwcGxpZWQsIGFkbWluaXN0ZXJlZCBvciBjb25zdW1lZCBieSB0aGUgc3ViamVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXh0cmEgaW5mbyBkZXNjcmliaW5nIGFjdGl2aXR5IHRvIHBlcmZvcm0iIGRlZmluaXRpb249IlRoaXMgcHJvdmlkZXMgYSB0ZXh0dWFsIGRlc2NyaXB0aW9uIG9mIGNvbnN0cmFpbnRzIG9uIHRoZSBpbnRlbmRlZCBhY3Rpdml0eSBvY2N1cnJlbmNlLCBpbmNsdWRpbmcgcmVsYXRpb24gdG8gb3RoZXIgYWN0aXZpdGllcy4gIEl0IG1heSBhbHNvIGluY2x1ZGUgb2JqZWN0aXZlcywgcHJlLWNvbmRpdGlvbnMgYW5kIGVuZC1jb25kaXRpb25zLiAgRmluYWxseSwgaXQgbWF5IGNvbnZleSBzcGVjaWZpY3MgYWJvdXQgdGhlIGFjdGl2aXR5IHN1Y2ggYXMgYm9keSBzaXRlLCBtZXRob2QsIHJvdXRlLCBldGMuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5S2luZCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVUZWFtIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jYXJldGVhbSIgbGFiZWw9IlFJQ29yZSBDYXJlVGVhbSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY2F0ZWdvcnkiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgdGVhbSIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjYXJlIHRlYW0gYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBwcm9wb3NlZCB8IGFjdGl2ZSB8IHN1c3BlbmRlZCB8IGluYWN0aXZlIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBjYXJlIHRlYW0uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyB0aGUgY29kZSBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFya3MgdGhlIGNhcmUgdGVhbSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRlYW0gaXMgY3VycmVudCAsIHJlcHJlc2VudHMgZnV0dXJlIGludGVudGlvbnMgb3IgaXMgbm93IGEgaGlzdG9yaWNhbCByZWNvcmQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHRlYW0iIGRlZmluaXRpb249IklkZW50aWZpZXMgd2hhdCBraW5kIG9mIHRlYW0uICBUaGlzIGlzIHRvIHN1cHBvcnQgZGlmZmVyZW50aWF0aW9uIGJldHdlZW4gbXVsdGlwbGUgY28tZXhpc3RpbmcgdGVhbXMsIHN1Y2ggYXMgY2FyZSBwbGFuIHRlYW0sIGVwaXNvZGUgb2YgY2FyZSB0ZWFtLCBsb25naXR1ZGluYWwgY2FyZSB0ZWFtLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4aXMgb2YgY2F0ZWdvcml6YXRpb24gYW5kIG9uZSB0ZWFtIG1heSBzZXJ2ZSBtdWx0aXBsZSBwdXJwb3Nlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVRlYW1DYXRlZ29yeSIgZGVzY3JpcHRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBjYXJlIHRlYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIHRoZSB0ZWFtLCBzdWNoIGFzIGNyaXNpcyBhc3Nlc3NtZW50IHRlYW0iIGRlZmluaXRpb249IkEgbGFiZWwgZm9yIGh1bWFuIHVzZSBpbnRlbmRlZCB0byBkaXN0aW5ndWlzaCBsaWtlIHRlYW1zLiAgRS5nLiB0aGUgJnF1b3Q7cmVkJnF1b3Q7IHZzLiAmcXVvdDtncmVlbiZxdW90OyB0cmF1bWEgdGVhbXMuIiBjb21tZW50PSJUaGUgbWVhbmluZy9wdXJwb3NlIG9mIHRoZSB0ZWFtIGlzIGNvbnZleWVkIGluIENhcmVUZWFtLmNhdGVnb3J5LiAgVGhpcyBlbGVtZW50IG1heSBhbHNvIGNvbnZleSBzZW1hbnRpY3Mgb2YgdGhlIHRlYW0gKGUuZy4gJnF1b3Q7UmVkIHRyYXVtYSB0ZWFtJnF1b3Q7KSwgYnV0IGl0cyBwcmltYXJ5IHB1cnBvc2UgaXMgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBpZGVudGljYWwgdGVhbXMgaW4gYSBodW1hbi1mcmllbmRseSB3YXkuICAoJnF1b3Q7VGVhbSAxODczNSZxdW90OyBpc24ndCBhcyBmcmllbmRseS4pLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gdGhlIGNhcmUgdGVhbSBpcyBmb3IuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBwYXRpZW50IG9yIGdyb3VwIHdob3NlIGludGVuZGVkIGNhcmUgaXMgaGFuZGxlZCBieSB0aGUgdGVhbS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ2FyZVRlYW0gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHRlYW0gY292ZXJzIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hlbiB0aGUgdGVhbSBkaWQgKG9yIGlzIGludGVuZGVkIHRvKSBjb21lIGludG8gZWZmZWN0IGFuZCBlbmQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydGljaXBhbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE1lbWJlcnMgb2YgdGhlIHRlYW0iIGRlZmluaXRpb249IklkZW50aWZpZXMgYWxsIHBlb3BsZSBhbmQgb3JnYW5pemF0aW9ucyB3aG8gYXJlIGV4cGVjdGVkIHRvIGJlIGludm9sdmVkIGluIHRoZSBjYXJlIHRlYW0uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2FyZVRlYW0uUGFydGljaXBhbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iY3RtLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iQ2FyZVRlYW0ucGFydGljaXBhbnQub25CZWhhbGZPZiBjYW4gb25seSBiZSBwb3B1bGF0ZWQgd2hlbiBDYXJlVGVhbS5wYXJ0aWNpcGFudC5tZW1iZXIgaXMgYSBQcmFjdGl0aW9uZXIiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Im9uQmVoYWxmT2YuZXhpc3RzKCkgaW1wbGllcyAobWVtYmVyLnJlc29sdmUoKS5paWYoZW1wdHkoKSwgdHJ1ZSwgb2ZUeXBlKFByYWN0aXRpb25lcikuZXhpc3RzKCkpKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIGNhcmUgdGVhbSBleGlzdHMiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aHkgdGhlIGNhcmUgdGVhbSBleGlzdHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVUZWFtUmVhc29uIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gZm9yIHRoZSBjYXJlIHRlYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIGNhcmUgdGVhbSBleGlzdHMiIGRlZmluaXRpb249IkNvbmRpdGlvbihzKSB0aGF0IHRoaXMgY2FyZSB0ZWFtIGFkZHJlc3Nlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYW5hZ2luZ09yZ2FuaXphdGlvbiIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgdGVhbSIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgdGVhbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tIiBkZXNjcmlwdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIGNhcmUgdGVhbSAodGhhdCBhcHBsaWVzIHRvIGFsbCBtZW1iZXJzKSIgZGVmaW5pdGlvbj0iQSBjZW50cmFsIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgY2FyZSB0ZWFtICh0aGF0IGFwcGxpZXMgdG8gYWxsIG1lbWJlcnMpLiIgY29tbWVudD0iVGhlIENvbnRhY3RQb2ludC51c2UgY29kZSBvZiBob21lIGlzIG5vdCBhcHByb3ByaWF0ZSB0byB1c2UuIFRoZXNlIGNvbnRhY3RzIGFyZSBub3QgdGhlIGNvbnRhY3QgZGV0YWlscyBvZiBpbmRpdmlkdWFsIGNhcmUgdGVhbSBtZW1iZXJzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBtYWRlIGFib3V0IHRoZSBDYXJlVGVhbSIgZGVmaW5pdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCB0aGUgQ2FyZVRlYW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9Im1lbWJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9Im1lbWJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJtZW1iZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVUZWFtLlBhcnRpY2lwYW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyb2xlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFR5cGUgb2YgaW52b2x2ZW1lbnQiIGRlZmluaXRpb249IkluZGljYXRlcyBzcGVjaWZpYyByZXNwb25zaWJpbGl0eSBvZiBhbiBpbmRpdmlkdWFsIHdpdGhpbiB0aGUgY2FyZSB0ZWFtLCBzdWNoIGFzICZxdW90O1ByaW1hcnkgY2FyZSBwaHlzaWNpYW4mcXVvdDssICZxdW90O1RyYWluZWQgc29jaWFsIHdvcmtlciBjb3Vuc2Vsb3ImcXVvdDssICZxdW90O0NhcmVnaXZlciZxdW90OywgZXRjLiIgY29tbWVudD0iUm9sZXMgbWF5IHNvbWV0aW1lcyBiZSBpbmZlcnJlZCBieSB0eXBlIG9mIFByYWN0aXRpb25lci4gIFRoZXNlIGFyZSByZWxhdGlvbnNoaXBzIHRoYXQgaG9sZCBvbmx5IHdpdGhpbiB0aGUgY29udGV4dCBvZiB0aGUgY2FyZSB0ZWFtLiAgR2VuZXJhbCByZWxhdGlvbnNoaXBzIHNob3VsZCBiZSBoYW5kbGVkIGFzIHByb3BlcnRpZXMgb2YgdGhlIFBhdGllbnQgcmVzb3VyY2UgZGlyZWN0bHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyBQcmltYXJ5IHBoeXNpY2lhbiwgVGVhbSBjb29yZGluYXRvciwgQ2FyZWdpdmVyLCBldGMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZW1iZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gaXMgaW52b2x2ZWQiIGRlZmluaXRpb249IlRoZSBzcGVjaWZpYyBwZXJzb24gb3Igb3JnYW5pemF0aW9uIHdobyBpcyBwYXJ0aWNpcGF0aW5nL2V4cGVjdGVkIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBjYXJlIHRlYW0uIiBjb21tZW50PSJQYXRpZW50IG9ubHkgbmVlZHMgdG8gYmUgbGlzdGVkIGlmIHRoZXkgaGF2ZSBhIHJvbGUgb3RoZXIgdGhhbiAmcXVvdDtzdWJqZWN0IG9mIGNhcmUmcXVvdDsuJiMxMDsmIzEwO01lbWJlciBpcyBvcHRpb25hbCBiZWNhdXNlIHNvbWUgcGFydGljaXBhbnRzIG1heSBiZSBrbm93biBvbmx5IGJ5IHRoZWlyIHJvbGUsIHBhcnRpY3VsYXJseSBpbiBkcmFmdCBwbGFucy4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib25CZWhhbGZPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmdhbml6YXRpb24gb2YgdGhlIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiBvZiB0aGUgcHJhY3RpdGlvbmVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBvZiBwYXJ0aWNpcGFudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZW4gdGhlIHNwZWNpZmljIG1lbWJlciBvciBvcmdhbml6YXRpb24gZGlkIChvciBpcyBpbnRlbmRlZCB0bykgY29tZSBpbnRvIGVmZmVjdCBhbmQgZW5kLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNsYWltIiBsYWJlbD0iUUlDb3JlIENsYWltIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3IgY2xhaW0iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBjbGFpbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IGNhbmNlbGxlZCB8IGRyYWZ0IHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2UuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2xhaW1TdGF0dXMiIGRlc2NyaXB0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNhdGVnb3J5IG9yIGRpc2NpcGxpbmUiIGRlZmluaXRpb249IlRoZSBjYXRlZ29yeSBvZiBjbGFpbSwgZS5nLiBvcmFsLCBwaGFybWFjeSwgdmlzaW9uLCBpbnN0aXR1dGlvbmFsLCBwcm9mZXNzaW9uYWwuIiBjb21tZW50PSJUaGUgbWFqb3JpdHkgb2YganVyaXNkaWN0aW9ucyB1c2U6IG9yYWwsIHBoYXJtYWN5LCB2aXNpb24sIHByb2Zlc3Npb25hbCBhbmQgaW5zdGl0dXRpb25hbCwgb3IgdmFyaWFudHMgb24gdGhvc2UgdGVybXMsIGFzIHRoZSBnZW5lcmFsIHN0eWxlcyBvZiBjbGFpbXMuIFRoZSB2YWx1ZXNldCBpcyBleHRlbnNpYmxlIHRvIGFjY29tbW9kYXRlIG90aGVyIGp1cmlzZGljdGlvbmFsIHJlcXVpcmVtZW50cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvciBkaXNjaXBsaW5lLXN0eWxlIG9mIHRoZSBjbGFpbS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YlR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1vcmUgZ3JhbnVsYXIgY2xhaW0gdHlwZSIgZGVmaW5pdGlvbj0iQSBmaW5lciBncmFpbmVkIHN1aXRlIG9mIGNsYWltIHR5cGUgY29kZXMgd2hpY2ggbWF5IGNvbnZleSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHN1Y2ggYXMgSW5wYXRpZW50IHZzIE91dHBhdGllbnQgYW5kL29yIGEgc3BlY2lhbHR5IHNlcnZpY2UuIiBjb21tZW50PSJUaGlzIG1heSBjb250YWluIHRoZSBsb2NhbCBiaWxsIHR5cGUgY29kZXMsIGZvciBleGFtcGxlIHRoZSBVUyBVQi0wNCBiaWxsIHR5cGUgY29kZSBvciB0aGUgQ01TIGJpbGwgdHlwZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVN1YlR5cGUiIGRlc2NyaXB0aW9uPSJBIG1vcmUgZ3JhbnVsYXIgY2xhaW0gdHlwZWNvZGUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1c2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVXNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImNsYWltIHwgcHJlYXV0aG9yaXphdGlvbiB8IHByZWRldGVybWluYXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBuYXR1cmUgb2YgdGhlIHJlcXVlc3QgaXM6IHRvIHJlcXVlc3QgYWRqdWRpY2F0aW9uIG9mIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBwcmV2aW91c2x5IHJlbmRlcmVkOyBvciByZXF1ZXN0aW5nIGF1dGhvcml6YXRpb24gYW5kIGFkanVkaWNhdGlvbiBmb3IgcHJvdmlzaW9uIGluIHRoZSBmdXR1cmU7IG9yIHJlcXVlc3RpbmcgdGhlIG5vbi1iaW5kaW5nIGFkanVkaWNhdGlvbiBvZiB0aGUgbGlzdGVkIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyB3aGljaCBjb3VsZCBiZSBwcm92aWRlZCBpbiB0aGUgZnV0dXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVzZSIgZGVzY3JpcHRpb249IlRoZSBwdXJwb3NlIG9mIHRoZSBDbGFpbTogcHJlZGV0ZXJtaW5hdGlvbiwgcHJlYXV0aG9yaXphdGlvbiwgY2xhaW0uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGhlIHJlY2lwaWVudCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgcGFydHkgdG8gd2hvbSB0aGUgcHJvZmVzc2lvbmFsIHNlcnZpY2VzIGFuZC9vciBwcm9kdWN0cyBoYXZlIGJlZW4gc3VwcGxpZWQgb3IgYXJlIGJlaW5nIGNvbnNpZGVyZWQgYW5kIGZvciB3aG9tIGFjdHVhbCBvciBmb3JlY2FzdCByZWltYnVyc2VtZW50IGlzIHNvdWdodC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiaWxsYWJsZVBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVsZXZhbnQgdGltZSBmcmFtZSBmb3IgdGhlIGNsYWltIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGZvciB3aGljaCBjaGFyZ2VzIGFyZSBiZWluZyBzdWJtaXR0ZWQuIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyB3b3VsZCBiZSB0b2RheSBvciBpbiB0aGUgcGFzdCBmb3IgYSBjbGFpbSwgYW5kIHRvZGF5IG9yIGluIHRoZSBmdXR1cmUgZm9yIHByZWF1dGhvcml6YXRpb25zIGFuZCBwcmVkZXRlcm1pbmF0aW9ucy4gVHlwaWNhbGx5IGxpbmUgaXRlbSBkYXRlcyBvZiBzZXJ2aWNlIHNob3VsZCBmYWxsIHdpdGhpbiB0aGUgYmlsbGluZyBwZXJpb2QgaWYgb25lIGlzIHNwZWNpZmllZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjcmVhdGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZXNvdXJjZSBjcmVhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGlzIHJlc291cmNlIHdhcyBjcmVhdGVkLiIgY29tbWVudD0iVGhpcyBmaWVsZCBpcyBpbmRlcGVuZGVudCBvZiB0aGUgZGF0ZSBvZiBjcmVhdGlvbiBvZiB0aGUgcmVzb3VyY2UgYXMgaXQgbWF5IHJlZmxlY3QgdGhlIGNyZWF0aW9uIGRhdGUgb2YgYSBzb3VyY2UgZG9jdW1lbnQgcHJpb3IgdG8gZGlnaXRpemF0aW9uLiBUeXBpY2FsbHkgZm9yIGNsYWltcyBhbGwgc2VydmljZXMgbXVzdCBiZSBjb21wbGV0ZWQgYXMgb2YgdGhpcyBkYXRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVudGVyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQXV0aG9yIG9mIHRoZSBjbGFpbSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gY3JlYXRlZCB0aGUgY2xhaW0sIHByZWRldGVybWluYXRpb24gb3IgcHJlYXV0aG9yaXphdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRhcmdldCIgZGVmaW5pdGlvbj0iVGhlIEluc3VyZXIgd2hvIGlzIHRhcmdldCBvZiB0aGUgcmVxdWVzdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm92aWRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUGFydHkgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbSIgZGVmaW5pdGlvbj0iVGhlIHByb3ZpZGVyIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgY2xhaW0sIHByZWRldGVybWluYXRpb24gb3IgcHJlYXV0aG9yaXphdGlvbi4iIGNvbW1lbnQ9IlR5cGljYWxseSB0aGlzIGZpZWxkIHdvdWxkIGJlIDEuLjEgd2hlcmUgdGhpcyBwYXJ0eSBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltIGJ1dCBub3QgbmVjZXNzYXJpbHkgcHJvZmVzc2lvbmFsbHkgcmVzcG9uc2libGUgZm9yIHRoZSBwcm92aXNpb24gb2YgdGhlIGluZGl2aWR1YWwgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGxpc3RlZCBiZWxvdy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCBwcm9jZXNzaW5nIHVnZW5jeSIgZGVmaW5pdGlvbj0iVGhlIHByb3ZpZGVyLXJlcXVpcmVkIHVyZ2VuY3kgb2YgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gVHlwaWNhbCB2YWx1ZXMgaW5jbHVkZTogc3RhdCwgcm91dGluZSBkZWZlcnJlZC4iIGNvbW1lbnQ9IklmIGEgY2xhaW0gcHJvY2Vzc29yIGlzIHVuYWJsZSB0byBjb21wbGV0ZSB0aGUgcHJvY2Vzc2luZyBhcyBwZXIgdGhlIHByaW9yaXR5IHRoZW4gdGhleSBzaG91bGQgZ2VuZXJhdGUgYW5kIGVycm9yIGFuZCBub3QgcHJvY2VzcyB0aGUgcmVxdWVzdC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZXNzUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZWxpbmVzcyB3aXRoIHdoaWNoIHByb2Nlc3NpbmcgaXMgcmVxdWlyZWQ6IHN0YXQsIG5vcm1hbCwgZGVmZXJyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5kc1Jlc2VydmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZvciB3aG9tIHRvIHJlc2VydmUgZnVuZHMiIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuZCBmb3Igd2hvbSBmdW5kcyBhcmUgdG8gYmUgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSBjbGFpbXMuIiBjb21tZW50PSJUaGlzIGZpZWxkIGlzIG9ubHkgdXNlZCBmb3IgcHJlYXV0aG9yaXphdGlvbnMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZHNSZXNlcnZlIiBkZXNjcmlwdGlvbj0iRm9yIHdob20gZnVuZHMgYXJlIHRvIGJlIHJlc2VydmVkOiAoUGF0aWVudCwgUHJvdmlkZXIsIE5vbmUpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVsYXRlZCIgZGVzY3JpcHRpb249IlByaW9yIG9yIGNvcm9sbGFyeSBjbGFpbXMiIGRlZmluaXRpb249Ik90aGVyIGNsYWltcyB3aGljaCBhcmUgcmVsYXRlZCB0byB0aGlzIGNsYWltIHN1Y2ggYXMgcHJpb3Igc3VibWlzc2lvbnMgb3IgY2xhaW1zIGZvciByZWxhdGVkIHNlcnZpY2VzIG9yIGZvciB0aGUgc2FtZSBldmVudC4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCAgZm9yIHRoZSBvcmlnaW5hbCB0cmVhdG1lbnQgYW5kIGZvbGxvdy11cCBleGFtcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLlJlbGF0ZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBQcmVzY3JpcHRpb24gYXV0aG9yaXppbmcgc2VydmljZXMgYW5kIHByb2R1Y3RzIiBkZWZpbml0aW9uPSJQcmVzY3JpcHRpb24gdG8gc3VwcG9ydCB0aGUgZGlzcGVuc2luZyBvZiBwaGFybWFjeSwgZGV2aWNlIG9yIHZpc2lvbiBwcm9kdWN0cy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvcmlnaW5hbFByZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmlnaW5hbCBwcmVzY3JpcHRpb24gaWYgc3VwZXJzZWRlZCBieSBmdWxmaWxsZXIiIGRlZmluaXRpb249Ik9yaWdpbmFsIHByZXNjcmlwdGlvbiB3aGljaCBoYXMgYmVlbiBzdXBlcnNlZGVkIGJ5IHRoaXMgcHJlc2NyaXB0aW9uIHRvIHN1cHBvcnQgdGhlIGRpc3BlbnNpbmcgb2YgcGhhcm1hY3kgc2VydmljZXMsIG1lZGljYXRpb25zIG9yIHByb2R1Y3RzLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIGEgcGh5c2ljaWFuIG1heSBwcmVzY3JpYmUgYSBtZWRpY2F0aW9uIHdoaWNoIHRoZSBwaGFybWFjeSBkZXRlcm1pbmVzIGlzIGNvbnRyYWluZGljYXRlZCwgb3IgZm9yIHdoaWNoIHRoZSBwYXRpZW50IGhhcyBhbiBpbnRvbGVyYW5jZSwgYW5kIHRoZXJlZm9yZSBpc3N1ZXMgYSBuZXcgcHJlc2NyaXB0aW9uIGZvciBhbiBhbHRlcm5hdGUgbWVkaWNhdGlvbiB3aGljaCBoYXMgdGhlIHNhbWUgdGhlcmFwZXV0aWMgaW50ZW50LiBUaGUgcHJlc2NyaXB0aW9uIGZyb20gdGhlIHBoYXJtYWN5IGJlY29tZXMgdGhlICdwcmVzY3JpcHRpb24nIGFuZCB0aGF0IGZyb20gdGhlIHBoeXNpY2lhbiBiZWNvbWVzIHRoZSAnb3JpZ2luYWwgcHJlc2NyaXB0aW9uJy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXllZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5QYXllZSIgZGVzY3JpcHRpb249IlJlY2lwaWVudCBvZiBiZW5lZml0cyBwYXlhYmxlIiBkZWZpbml0aW9uPSJUaGUgcGFydHkgdG8gYmUgcmVpbWJ1cnNlZCBmb3IgY29zdCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGFjY29yZGluZyB0byB0aGUgdGVybXMgb2YgdGhlIHBvbGljeS4iIGNvbW1lbnQ9Ik9mdGVuIHByb3ZpZGVycyBhZ3JlZSB0byByZWNlaXZlIHRoZSBiZW5lZml0cyBwYXlhYmxlIHRvIHJlZHVjZSB0aGUgbmVhci10ZXJtIGNvc3RzIHRvIHRoZSBwYXRpZW50LiBUaGUgaW5zdXJlciBtYXkgZGVjbGluZSB0byBwYXkgdGhlIHByb3ZpZGVyIGFuZCBjaG9vc2UgdG8gcGF5IHRoZSBzdWJzY3JpYmVyIGluc3RlYWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcnJhbCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUcmVhdG1lbnQgcmVmZXJyYWwiIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGEgcmVmZXJyYWwgcmVzb3VyY2UuIiBjb21tZW50PSJUaGUgcmVmZXJyYWwgcmVzb3VyY2Ugd2hpY2ggbGlzdHMgdGhlIGRhdGUsIHByYWN0aXRpb25lciwgcmVhc29uIGFuZCBvdGhlciBzdXBwb3J0aW5nIGluZm9ybWF0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjaWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU2VydmljaW5nIGZhY2lsaXR5IiBkZWZpbml0aW9uPSJGYWNpbGl0eSB3aGVyZSB0aGUgc2VydmljZXMgd2VyZSBwcm92aWRlZC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhcmVUZWFtIiBkZXNjcmlwdGlvbj0iTWVtYmVycyBvZiB0aGUgY2FyZSB0ZWFtIiBkZWZpbml0aW9uPSJUaGUgbWVtYmVycyBvZiB0aGUgdGVhbSB3aG8gcHJvdmlkZWQgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uQ2FyZVRlYW0iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm8iIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGNvZGVzIHJlZ2FyZGluZyBleGNlcHRpb25zLCBzcGVjaWFsIGNvbnNpZGVyYXRpb25zLCB0aGUgY29uZGl0aW9uLCBzaXR1YXRpb24sIHByaW9yIG9yIGNvbmN1cnJlbnQgaXNzdWVzLiIgY29tbWVudD0iT2Z0ZW4gdGhlcmUgYXJlIG11bHRpcGxlIGp1cmlzZGljdGlvbiBzcGVjaWZpYyB2YWx1ZXNldHMgd2hpY2ggYXJlIHJlcXVpcmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uU3VwcG9ydGluZ0luZm8iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlhZ25vc2lzIiBkZXNjcmlwdGlvbj0iUGVydGluZW50IGRpYWdub3NpcyBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgZGlhZ25vc2VzIHJlbGV2YW50IHRvIHRoZSBjbGFpbSBpdGVtcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLkRpYWdub3NpcyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9jZWR1cmUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBwcm9jZWR1cmVzIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iUHJvY2VkdXJlcyBwZXJmb3JtZWQgb24gdGhlIHBhdGllbnQgcmVsZXZhbnQgdG8gdGhlIGJpbGxpbmcgaXRlbXMgd2l0aCB0aGUgY2xhaW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5Qcm9jZWR1cmUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBpbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkZpbmFuY2lhbCBpbnN0cnVtZW50cyBmb3IgcmVpbWJ1cnNlbWVudCBmb3IgdGhlIGhlYWx0aCBjYXJlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBzcGVjaWZpZWQgb24gdGhlIGNsYWltLiIgY29tbWVudD0iQWxsIGluc3VyYW5jZSBjb3ZlcmFnZXMgZm9yIHRoZSBwYXRpZW50IHdoaWNoIG1heSBiZSBhcHBsaWNhYmxlIGZvciByZWltYnVyc2VtZW50LCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGxpc3RlZCBpbiB0aGUgY2xhaW0sIGFyZSB0eXBpY2FsbHkgcHJvdmlkZWQgaW4gdGhlIGNsYWltIHRvIGFsbG93IGluc3VyZXJzIHRvIGNvbmZpcm0gdGhlIG9yZGVyaW5nIG9mIHRoZSBpbnN1cmFuY2UgY292ZXJhZ2VzIHJlbGF0aXZlIHRvIGxvY2FsICdjb29yZGluYXRpb24gb2YgYmVuZWZpdCcgcnVsZXMuIE9uZSBjb3ZlcmFnZSAoYW5kIG9ubHkgb25lKSB3aXRoICdmb2NhbD10cnVlJyBpcyB0byBiZSB1c2VkIGluIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbS4gQ292ZXJhZ2VzIGFwcGVhcmluZyBiZWZvcmUgdGhlIGZvY2FsIENvdmVyYWdlIGluIHRoZSBsaXN0LCBhbmQgd2hlcmUgJ0NvdmVyYWdlLnN1YnJvZ2F0aW9uPWZhbHNlJywgc2hvdWxkIHByb3ZpZGUgYSByZWZlcmVuY2UgdG8gdGhlIENsYWltUmVzcG9uc2UgY29udGFpbmluZyB0aGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMgb2YgdGhlIHByaW9yIGNsYWltLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uSW5zdXJhbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFjY2lkZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLkFjY2lkZW50IiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiB0aGUgZXZlbnQiIGRlZmluaXRpb249IkRldGFpbHMgb2YgYW4gYWNjaWRlbnQgd2hpY2ggcmVzdWx0ZWQgaW4gaW5qdXJpZXMgd2hpY2ggcmVxdWlyZWQgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgaW4gdGhlIGNsYWltLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW0iIGRlc2NyaXB0aW9uPSJQcm9kdWN0IG9yIHNlcnZpY2UgcHJvdmlkZWQiIGRlZmluaXRpb249IkEgY2xhaW0gbGluZS4gRWl0aGVyIGEgc2ltcGxlICBwcm9kdWN0IG9yIHNlcnZpY2Ugb3IgYSAnZ3JvdXAnIG9mIGRldGFpbHMgd2hpY2ggY2FuIGVhY2ggYmUgYSBzaW1wbGUgaXRlbXMgb3IgZ3JvdXBzIG9mIHN1Yi1kZXRhaWxzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uSXRlbSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0b3RhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGNsYWltIGNvc3QiIGRlZmluaXRpb249IlRoZSB0b3RhbCB2YWx1ZSBvZiB0aGUgYWxsIHRoZSBpdGVtcyBpbiB0aGUgY2xhaW0uIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW50ZXJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InByb3ZpZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icGFydHkiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJwcm92aWRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhcnR5Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBhcnR5Ii8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5BY2NpZGVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIGluY2lkZW50IG9jY3VycmVkIiBkZWZpbml0aW9uPSJEYXRlIG9mIGFuIGFjY2lkZW50IGV2ZW50ICByZWxhdGVkIHRvIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgY29udGFpbmVkIGluIHRoZSBjbGFpbS4iIGNvbW1lbnQ9IlRoZSBkYXRlIG9mIHRoZSBhY2NpZGVudCBoYXMgdG8gcHJlY2VkZSB0aGUgZGF0ZXMgb2YgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBidXQgd2l0aGluIGEgcmVhc29uYWJsZSB0aW1lZnJhbWUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIG5hdHVyZSBvZiB0aGUgYWNjaWRlbnQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9yIGNvbnRleHQgb2YgdGhlIGFjY2lkZW50IGV2ZW50IGZvciB0aGUgcHVycG9zZXMgb2Ygc2VsZWN0aW9uIG9mIHBvdGVudGlhbCBpbnN1cmFuY2UgY292ZXJhZ2VzIGFuZCBkZXRlcm1pbmF0aW9uIG9mIGNvb3JkaW5hdGlvbiBiZXR3ZWVuIGluc3VyZXJzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFjY2lkZW50VHlwZSIgZGVzY3JpcHRpb249IlR5cGUgb2YgYWNjaWRlbnQ6IHdvcmsgcGxhY2UsIGF1dG8sIGV0Yy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBldmVudCBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIHBoeXNpY2FsIGxvY2F0aW9uIG9mIHRoZSBhY2NpZGVudCBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzcyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uQ2FyZVRlYW0iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iT3JkZXIgb2YgY2FyZSB0ZWFtIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBjYXJlIHRlYW0gZW50cmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm92aWRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQcmFjdGl0aW9uZXIgb3Igb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJNZW1iZXIgb2YgdGhlIHRlYW0gd2hvIHByb3ZpZGVkIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXNwb25zaWJsZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkluZGljYXRvciBvZiB0aGUgbGVhZCBwcmFjdGl0aW9uZXIiIGRlZmluaXRpb249IlRoZSBwYXJ0eSB3aG8gaXMgYmlsbGluZyBhbmQvb3IgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbWVkIHByb2R1Y3RzIG9yIHNlcnZpY2VzLiIgY29tbWVudD0iUmVzcG9uc2libGUgbWlnaHQgbm90IGJlIHJlcXVpcmVkIHdoZW4gdGhlcmUgaXMgb25seSBhIHNpbmdsZSBwcm92aWRlciBsaXN0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icm9sZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRnVuY3Rpb24gd2l0aGluIHRoZSB0ZWFtIiBkZWZpbml0aW9uPSJUaGUgbGVhZCwgYXNzaXN0aW5nIG9yIHN1cGVydmlzaW5nIHByYWN0aXRpb25lciBhbmQgdGhlaXIgZGlzY2lwbGluZSBpZiBhIG11bHRpZGlzY2lwbGluYXJ5IHRlYW0uIiBjb21tZW50PSJSb2xlIG1pZ2h0IG5vdCBiZSByZXF1aXJlZCB3aGVuIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgcHJvdmlkZXIgbGlzdGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVUZWFtUm9sZSIgZGVzY3JpcHRpb249IlRoZSByb2xlIGNvZGVzIGZvciB0aGUgY2FyZSB0ZWFtIG1lbWJlcnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFsaWZpY2F0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcmFjdGl0aW9uZXIgY3JlZGVudGlhbCBvciBzcGVjaWFsaXphdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHF1YWxpZmljYXRpb24gb2YgdGhlIHByYWN0aXRpb25lciB3aGljaCBpcyBhcHBsaWNhYmxlIGZvciB0aGlzIHNlcnZpY2UuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvdmlkZXJRdWFsaWZpY2F0aW9uIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXIgcHJvZmVzc2lvbmFsIHF1YWxpZmljYXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5EaWFnbm9zaXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERpYWdub3NpcyBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBkaWFnbm9zaXMgZW50cmllcy4iIGNvbW1lbnQ9IkRpYWdub3NpcyBhcmUgcHJlc2VudGVkIGluIGxpc3Qgb3JkZXIgdG8gdGhlaXIgZXhwZWN0ZWQgaW1wb3J0YW5jZTogcHJpbWFyeSwgc2Vjb25kYXJ5LCBldGMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlhZ25vc2lzIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBOYXR1cmUgb2YgaWxsbmVzcyBvciBwcm9ibGVtIiBkZWZpbml0aW9uPSJUaGUgbmF0dXJlIG9mIGlsbG5lc3Mgb3IgcHJvYmxlbSBpbiBhIGNvZGVkIGZvcm0gb3IgYXMgYSByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWwgZGVmaW5lZCBDb25kaXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJQ0QxMCIgZGVzY3JpcHRpb249IkV4YW1wbGUgSUNEMTAgRGlhZ25vc3RpYyBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1pbmcgb3IgbmF0dXJlIG9mIHRoZSBkaWFnbm9zaXMiIGRlZmluaXRpb249IldoZW4gdGhlIGNvbmRpdGlvbiB3YXMgb2JzZXJ2ZWQgb3IgdGhlIHJlbGF0aXZlIHJhbmtpbmcuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogYWRtaXR0aW5nLCBwcmltYXJ5LCBzZWNvbmRhcnksIGRpc2NoYXJnZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc2lzVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIHRoZSBkaWFnbm9zaXM6IGFkbWl0dGluZywgcHJpbmNpcGFsLCBkaXNjaGFyZ2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbkFkbWlzc2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFByZXNlbnQgb24gYWRtaXNzaW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0aW9uIG9mIHdoZXRoZXIgdGhlIGRpYWdub3NpcyB3YXMgcHJlc2VudCBvbiBhZG1pc3Npb24gdG8gYSBmYWNpbGl0eS4iPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iUHJlc2VudCBvbiBhZG1pc3Npb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFja2FnZUNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBhY2thZ2UgYmlsbGluZyBjb2RlIiBkZWZpbml0aW9uPSJBIHBhY2thZ2UgYmlsbGluZyBjb2RlIG9yIGJ1bmRsZSBjb2RlIHVzZWQgdG8gZ3JvdXAgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIHRvIGEgcGFydGljdWxhciBoZWFsdGggY29uZGl0aW9uIChzdWNoIGFzIGhlYXJ0IGF0dGFjaykgd2hpY2ggaXMgYmFzZWQgb24gYSBwcmVkZXRlcm1pbmVkIGdyb3VwaW5nIGNvZGUgc3lzdGVtLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgRFJHIChEaWFnbm9zaXMgUmVsYXRlZCBHcm91cCkgb3IgYSBidW5kbGVkIGJpbGxpbmcgY29kZS4gQSBwYXRpZW50IG1heSBoYXZlIGEgZGlhZ25vc2lzIG9mIGEgTXlvY2FyZGlhbCBJbmZhcmN0aW9uIGFuZCBhIERSRyBmb3IgSGVhcnRBdHRhY2sgd291bGQgYmUgYXNzaWduZWQuIFRoZSBDbGFpbSBpdGVtIChhbmQgcG9zc2libGUgc3Vic2VxdWVudCBjbGFpbXMpIHdvdWxkIHJlZmVyIHRvIHRoZSBEUkcgZm9yIHRob3NlIGxpbmUgaXRlbXMgdGhhdCB3ZXJlIGZvciBzZXJ2aWNlcyByZWxhdGVkIHRvIHRoZSBoZWFydCBhdHRhY2sgZXZlbnQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc2lzUmVsYXRlZEdyb3VwIiBkZXNjcmlwdGlvbj0iVGhlIERSRyBjb2RlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGRpYWdub3Npcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uSW5zdXJhbmNlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3VyYW5jZSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBpbnN1cmFuY2UgZW50cmllcyBhbmQgcHJvdmlkZSBhIHNlcXVlbmNlIG9mIGNvdmVyYWdlcyB0byBjb252ZXkgY29vcmRpbmF0aW9uIG9mIGJlbmVmaXQgb3JkZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jYWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb3ZlcmFnZSB0byBiZSB1c2VkIGZvciBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249IkEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgQ292ZXJhZ2UgaXMgdG8gYmUgdXNlZCBmb3IgYWRqdWRpY2F0aW9uIG9mIHRoaXMgY2xhaW0gd2hlbiBzZXQgdG8gdHJ1ZS4iIGNvbW1lbnQ9IkEgcGF0aWVudCBtYXkgKHdpbGwpIGhhdmUgbXVsdGlwbGUgaW5zdXJhbmNlIHBvbGljaWVzIHdoaWNoIHByb3ZpZGUgcmVpbWJ1cnNlbWVudCBmb3IgaGVhbHRoY2FyZSBzZXJ2aWNlcyBhbmQgcHJvZHVjdHMuIEZvciBleGFtcGxlIGEgcGVyc29uIG1heSBhbHNvIGJlIGNvdmVyZWQgYnkgdGhlaXIgc3BvdXNlJ3MgcG9saWN5IGFuZCBib3RoIGFwcGVhciBpbiB0aGUgbGlzdCAoYW5kIG1heSBiZSBmcm9tIHRoZSBzYW1lIGluc3VyZXIpLiBUaGlzIGZsYWcgd2lsbCBiZSBzZXQgdG8gdHJ1ZSBmb3Igb25seSBvbmUgb2YgdGhlIGxpc3RlZCBwb2xpY2llcyBhbmQgdGhhdCBwb2xpY3kgd2lsbCBiZSB1c2VkIGZvciBhZGp1ZGljYXRpbmcgdGhpcyBjbGFpbS4gT3RoZXIgY2xhaW1zIHdvdWxkIGJlIGNyZWF0ZWQgdG8gcmVxdWVzdCBhZGp1ZGljYXRpb24gYWdhaW5zdCB0aGUgb3RoZXIgbGlzdGVkIHBvbGljaWVzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlByZS1hc3NpZ25lZCBDbGFpbSBudW1iZXIiIGRlZmluaXRpb249IlRoZSBidXNpbmVzcyBpZGVudGlmaWVyIHRvIGJlIHVzZWQgd2hlbiB0aGUgY2xhaW0gaXMgc2VudCBmb3IgYWRqdWRpY2F0aW9uIGFnYWluc3QgdGhpcyBpbnN1cmFuY2UgcG9saWN5LiIgY29tbWVudD0iT25seSByZXF1aXJlZCBpbiBqdXJpc2RpY3Rpb25zIHdoZXJlIGluc3VyZXJzLCByYXRoZXIgdGhhbiB0aGUgcHJvdmlkZXIsIGFyZSByZXF1aXJlZCB0byBzZW5kIGNsYWltcyB0byAgaW5zdXJlcnMgdGhhdCBhcHBlYXIgYWZ0ZXIgdGhlbSBpbiB0aGUgbGlzdC4gVGhpcyBlbGVtZW50IGlzIG5vdCByZXF1aXJlZCB3aGVuICdzdWJyb2dhdGlvbj10cnVlJy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3ZlcmFnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJJbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgaW5zdXJhbmNlIGNhcmQgbGV2ZWwgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoZSBDb3ZlcmFnZSByZXNvdXJjZS4gVGhlIGNvdmVyYWdlIGlzc3VpbmcgaW5zdXJlciB3aWxsIHVzZSB0aGVzZSBkZXRhaWxzIHRvIGxvY2F0ZSB0aGUgcGF0aWVudCdzIGFjdHVhbCBjb3ZlcmFnZSB3aXRoaW4gdGhlIGluc3VyZXIncyBpbmZvcm1hdGlvbiBzeXN0ZW0uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYnVzaW5lc3NBcnJhbmdlbWVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBwcm92aWRlciBjb250cmFjdCBudW1iZXIiIGRlZmluaXRpb249IkEgYnVzaW5lc3MgYWdyZWVtZW50IG51bWJlciBlc3RhYmxpc2hlZCBiZXR3ZWVuIHRoZSBwcm92aWRlciBhbmQgdGhlIGluc3VyZXIgZm9yIHNwZWNpYWwgYnVzaW5lc3MgcHJvY2Vzc2luZyBwdXJwb3Nlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBdXRoUmVmIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaW9yIGF1dGhvcml6YXRpb24gcmVmZXJlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIG51bWJlcnMgcHJldmlvdXNseSBwcm92aWRlZCBieSB0aGUgaW5zdXJlciB0byB0aGUgcHJvdmlkZXIgdG8gYmUgcXVvdGVkIG9uIHN1YnNlcXVlbnQgY2xhaW1zIGNvbnRhaW5pbmcgc2VydmljZXMgb3IgcHJvZHVjdHMgcmVsYXRlZCB0byB0aGUgcHJpb3IgYXV0aG9yaXphdGlvbi4iIGNvbW1lbnQ9IlRoaXMgdmFsdWUgaXMgYW4gYWxwaGFudW1lcmljIHN0cmluZyB0aGF0IG1heSBiZSBwcm92aWRlZCBvdmVyIHRoZSBwaG9uZSwgdmlhIHRleHQsIHZpYSBwYXBlciwgb3Igd2l0aGluIGEgQ2xhaW1SZXNwb25zZSByZXNvdXJjZSBhbmQgaXMgbm90IGEgRkhJUiBJZGVudGlmaWVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNsYWltUmVzcG9uc2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWRqdWRpY2F0aW9uIHJlc3VsdHMiIGRlZmluaXRpb249IlRoZSByZXN1bHQgb2YgdGhlIGFkanVkaWNhdGlvbiBvZiB0aGUgbGluZSBpdGVtcyBmb3IgdGhlIENvdmVyYWdlIHNwZWNpZmllZCBpbiB0aGlzIGluc3VyYW5jZS4iIGNvbW1lbnQ9Ik11c3Qgbm90IGJlIHNwZWNpZmllZCB3aGVuICdmb2NhbD10cnVlJyBmb3IgdGhpcyBpbnN1cmFuY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5JdGVtIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikl0ZW0gaW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBudW1iZXIgdG8gdW5pcXVlbHkgaWRlbnRpZnkgaXRlbSBlbnRyaWVzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhcmVUZWFtU2VxdWVuY2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQXBwbGljYWJsZSBjYXJlVGVhbSBtZW1iZXJzIiBkZWZpbml0aW9uPSJDYXJlVGVhbSBtZW1iZXJzIHJlbGF0ZWQgdG8gdGhpcyBzZXJ2aWNlIG9yIHByb2R1Y3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpYWdub3Npc1NlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgZGlhZ25vc2VzIiBkZWZpbml0aW9uPSJEaWFnbm9zaXMgYXBwbGljYWJsZSBmb3IgdGhpcyBzZXJ2aWNlIG9yIHByb2R1Y3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZVNlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgcHJvY2VkdXJlcyIgZGVmaW5pdGlvbj0iUHJvY2VkdXJlcyBhcHBsaWNhYmxlIGZvciB0aGlzIHNlcnZpY2Ugb3IgcHJvZHVjdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5mb3JtYXRpb25TZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIGV4Y2VwdGlvbiBhbmQgc3VwcG9ydGluZyBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iRXhjZXB0aW9ucywgc3BlY2lhbCBjb25kaXRpb25zIGFuZCBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIGFwcGxpY2FibGUgZm9yIHRoaXMgc2VydmljZSBvciBwcm9kdWN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXZlbnVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXZlbnVlIG9yIGNvc3QgY2VudGVyIGNvZGUiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHJldmVudWUgb3IgY29zdCBjZW50ZXIgcHJvdmlkaW5nIHRoZSBwcm9kdWN0IGFuZC9vciBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJldmVudWVDZW50ZXIiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdGhlIHJldmVudWUgb3IgY29zdCBjZW50ZXJzIHN1cHBseWluZyB0aGUgc2VydmljZSBhbmQvb3IgcHJvZHVjdHMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmVuZWZpdCBjbGFzc2lmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZSB0byBpZGVudGlmeSB0aGUgZ2VuZXJhbCB0eXBlIG9mIGJlbmVmaXRzIHVuZGVyIHdoaWNoIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJFeGFtcGxlcyBpbmNsdWRlIE1lZGljYWwgQ2FyZSwgUGVyaW9kb250aWNzLCBSZW5hbCBEaWFseXNpcywgVmlzaW9uIENvdmVyYWdlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJlbmVmaXRDYXRlZ29yeSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2F0ZWdvcmllcyBzdWNoIGFzOiBvcmFsLWJhc2ljLCBtYWpvciwgZ2xhc3Nlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9kdWN0IG9yIHNlcnZpY2UgYmlsbGluZyBtb2RpZmllcnMiIGRlZmluaXRpb249Ikl0ZW0gdHlwaWZpY2F0aW9uIG9yIG1vZGlmaWVycyBjb2RlcyB0byBjb252ZXkgYWRkaXRpb25hbCBjb250ZXh0IGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgaW4gT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgZm9yIE1lZGljYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IHdhcyBvdXRzaWRlIHRoZSBjbGluaWMgb3Igb3V0c2lkZSBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcnZpY2VkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRhdGUgb3IgZGF0ZXMgb2Ygc2VydmljZSBvciBwcm9kdWN0IGRlbGl2ZXJ5IiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvciBkYXRlcyB3aGVuIHRoZSBzZXJ2aWNlIG9yIHByb2R1Y3Qgd2FzIHN1cHBsaWVkLCBwZXJmb3JtZWQgb3IgY29tcGxldGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGxhY2Ugb2Ygc2VydmljZSBvciB3aGVyZSBwcm9kdWN0IHdhcyBzdXBwbGllZCIgZGVmaW5pdGlvbj0iV2hlcmUgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSB3YXMgcHJvdmlkZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUGxhY2UiIGRlc2NyaXB0aW9uPSJQbGFjZSBvZiBzZXJ2aWNlOiBwaGFybWFjeSwgc2Nob29sLCBwcmlzb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVuaXRQcmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZlZSwgY2hhcmdlIG9yIGNvc3QgcGVyIGl0ZW0iIGRlZmluaXRpb249IklmIHRoZSBpdGVtIGlzIG5vdCBhIGdyb3VwIHRoZW4gdGhpcyBpcyB0aGUgZmVlIGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLCBvdGhlcndpc2UgdGhpcyBpcyB0aGUgdG90YWwgb2YgdGhlIGZlZXMgZm9yIHRoZSBkZXRhaWxzIG9mIHRoZSBncm91cC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGkiIGRlc2NyaXB0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGluZSBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJQaHlzaWNhbCBzZXJ2aWNlIHNpdGUgb24gdGhlIHBhdGllbnQgKGxpbWIsIHRvb3RoLCBldGMuKS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBQcm92aWRpbmcgYSB0b290aCBjb2RlLCBhbGxvd3MgYW4gaW5zdXJlciB0byBpZGVudGlmeSBhIHByb3ZpZGVyIHBlcmZvcm1pbmcgYSBmaWxsaW5nIG9uIGEgdG9vdGggdGhhdCB3YXMgcHJldmlvdXNseSByZW1vdmVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9yYWxTaXRlcyIgZGVzY3JpcHRpb249IlRoZSBjb2RlIGZvciB0aGUgdGVldGgsIHF1YWRyYW50LCBzZXh0YW50IGFuZCBhcmNoLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViU2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgc3ViLWxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZ2lvbiBvciBzdXJmYWNlIG9mIHRoZSBib2R5U2l0ZSwgZS5nLiBsaW1iIHJlZ2lvbiBvciB0b290aCBzdXJmYWNlKHMpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdXJmYWNlIiBkZXNjcmlwdGlvbj0iVGhlIGNvZGUgZm9yIHRoZSB0b290aCBzdXJmYWNlIGFuZCBzdXJmYWNlIGNvbWJpbmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFbmNvdW50ZXJzIHJlbGF0ZWQgdG8gdGhpcyBiaWxsZWQgaXRlbSIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlcnMgZHVyaW5nIHdoaWNoIHRoaXMgQ2xhaW0gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIHByb3ZpZGVkIiBkZWZpbml0aW9uPSJBIGNsYWltIGRldGFpbCBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2Ygc3ViLWRldGFpbHMgd2hpY2ggYXJlIHNpbXBsZSBpdGVtcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLkl0ZW0uRGV0YWlsIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uSXRlbS5EZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBpdGVtIGVudHJpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmV2ZW51ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmV2ZW51ZSBvciBjb3N0IGNlbnRlciBjb2RlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiByZXZlbnVlIG9yIGNvc3QgY2VudGVyIHByb3ZpZGluZyB0aGUgcHJvZHVjdCBhbmQvb3Igc2VydmljZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZXZlbnVlQ2VudGVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSByZXZlbnVlIG9yIGNvc3QgY2VudGVycyBzdXBwbHlpbmcgdGhlIHNlcnZpY2UgYW5kL29yIHByb2R1Y3RzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2xhc3NpZmljYXRpb24iIGRlZmluaXRpb249IkNvZGUgdG8gaWRlbnRpZnkgdGhlIGdlbmVyYWwgdHlwZSBvZiBiZW5lZml0cyB1bmRlciB3aGljaCBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIHByb3ZpZGVkLiIgY29tbWVudD0iRXhhbXBsZXMgaW5jbHVkZSBNZWRpY2FsIENhcmUsIFBlcmlvZG9udGljcywgUmVuYWwgRGlhbHlzaXMsIFZpc2lvbiBDb3ZlcmFnZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCZW5lZml0Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJCZW5lZml0IGNhdGVnb3JpZXMgc3VjaCBhczogb3JhbC1iYXNpYywgbWFqb3IsIGdsYXNzZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0T3JTZXJ2aWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCaWxsaW5nLCBzZXJ2aWNlLCBwcm9kdWN0LCBvciBkcnVnIGNvZGUiIGRlZmluaXRpb249IldoZW4gdGhlIHZhbHVlIGlzIGEgZ3JvdXAgY29kZSB0aGVuIHRoaXMgaXRlbSBjb2xsZWN0cyBhIHNldCBvZiByZWxhdGVkIGNsYWltIGRldGFpbHMsIG90aGVyd2lzZSB0aGlzIGNvbnRhaW5zIHRoZSBwcm9kdWN0LCBzZXJ2aWNlLCBkcnVnIG9yIG90aGVyIGJpbGxpbmcgY29kZSBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJJZiB0aGlzIGlzIGFuIGFjdHVhbCBzZXJ2aWNlIG9yIHByb2R1Y3QgbGluZSwgaS5lLiBub3QgYSBHcm91cCwgdGhlbiB1c2UgY29kZSB0byBpbmRpY2F0ZSB0aGUgUHJvZmVzc2lvbmFsIFNlcnZpY2Ugb3IgUHJvZHVjdCBzdXBwbGllZCAoZS5nLiBDVFAsIEhDUENTLCBVU0NMUywgSUNEMTAsIE5DUERQLCBESU4sIFJ4Tm9ybSwgQUNISSwgQ0NJKS4gSWYgYSBncm91cGluZyBpdGVtIHRoZW4gdXNlIGEgZ3JvdXAgY29kZSB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiB0aGluZyBiZWluZyBncm91cGVkIGUuZy4gJ2dsYXNzZXMnIG9yICdjb21wb3VuZCcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVByb2R1Y3QiIGRlc2NyaXB0aW9uPSJBbGxvd2FibGUgc2VydmljZSBhbmQgcHJvZHVjdCBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZS9Qcm9kdWN0IGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dCBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVuaXRQcmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZlZSwgY2hhcmdlIG9yIGNvc3QgcGVyIGl0ZW0iIGRlZmluaXRpb249IklmIHRoZSBpdGVtIGlzIG5vdCBhIGdyb3VwIHRoZW4gdGhpcyBpcyB0aGUgZmVlIGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLCBvdGhlcndpc2UgdGhpcyBpcyB0aGUgdG90YWwgb2YgdGhlIGZlZXMgZm9yIHRoZSBkZXRhaWxzIG9mIHRoZSBncm91cC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGkiIGRlc2NyaXB0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGluZSBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbCIgZGVzY3JpcHRpb249IlByb2R1Y3Qgb3Igc2VydmljZSBwcm92aWRlZCIgZGVmaW5pdGlvbj0iQSBjbGFpbSBkZXRhaWwgbGluZS4gRWl0aGVyIGEgc2ltcGxlIChhIHByb2R1Y3Qgb3Igc2VydmljZSkgb3IgYSAnZ3JvdXAnIG9mIHN1Yi1kZXRhaWxzIHdoaWNoIGFyZSBzaW1wbGUgaXRlbXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBpdGVtIGVudHJpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmV2ZW51ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmV2ZW51ZSBvciBjb3N0IGNlbnRlciBjb2RlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiByZXZlbnVlIG9yIGNvc3QgY2VudGVyIHByb3ZpZGluZyB0aGUgcHJvZHVjdCBhbmQvb3Igc2VydmljZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZXZlbnVlQ2VudGVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSByZXZlbnVlIG9yIGNvc3QgY2VudGVycyBzdXBwbHlpbmcgdGhlIHNlcnZpY2UgYW5kL29yIHByb2R1Y3RzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2xhc3NpZmljYXRpb24iIGRlZmluaXRpb249IkNvZGUgdG8gaWRlbnRpZnkgdGhlIGdlbmVyYWwgdHlwZSBvZiBiZW5lZml0cyB1bmRlciB3aGljaCBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIHByb3ZpZGVkLiIgY29tbWVudD0iRXhhbXBsZXMgaW5jbHVkZSBNZWRpY2FsIENhcmUsIFBlcmlvZG9udGljcywgUmVuYWwgRGlhbHlzaXMsIFZpc2lvbiBDb3ZlcmFnZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCZW5lZml0Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJCZW5lZml0IGNhdGVnb3JpZXMgc3VjaCBhczogb3JhbC1iYXNpYywgbWFqb3IsIGdsYXNzZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0T3JTZXJ2aWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCaWxsaW5nLCBzZXJ2aWNlLCBwcm9kdWN0LCBvciBkcnVnIGNvZGUiIGRlZmluaXRpb249IldoZW4gdGhlIHZhbHVlIGlzIGEgZ3JvdXAgY29kZSB0aGVuIHRoaXMgaXRlbSBjb2xsZWN0cyBhIHNldCBvZiByZWxhdGVkIGNsYWltIGRldGFpbHMsIG90aGVyd2lzZSB0aGlzIGNvbnRhaW5zIHRoZSBwcm9kdWN0LCBzZXJ2aWNlLCBkcnVnIG9yIG90aGVyIGJpbGxpbmcgY29kZSBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJJZiB0aGlzIGlzIGFuIGFjdHVhbCBzZXJ2aWNlIG9yIHByb2R1Y3QgbGluZSwgaS5lLiBub3QgYSBHcm91cCwgdGhlbiB1c2UgY29kZSB0byBpbmRpY2F0ZSB0aGUgUHJvZmVzc2lvbmFsIFNlcnZpY2Ugb3IgUHJvZHVjdCBzdXBwbGllZCAoZS5nLiBDVFAsIEhDUENTLCBVU0NMUywgSUNEMTAsIE5DUERQLCBESU4sIFJ4Tm9ybSwgQUNISSwgQ0NJKS4gSWYgYSBncm91cGluZyBpdGVtIHRoZW4gdXNlIGEgZ3JvdXAgY29kZSB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiB0aGluZyBiZWluZyBncm91cGVkIGUuZy4gJ2dsYXNzZXMnIG9yICdjb21wb3VuZCcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVByb2R1Y3QiIGRlc2NyaXB0aW9uPSJBbGxvd2FibGUgc2VydmljZSBhbmQgcHJvZHVjdCBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZS9Qcm9kdWN0IGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dCBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVuaXRQcmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZlZSwgY2hhcmdlIG9yIGNvc3QgcGVyIGl0ZW0iIGRlZmluaXRpb249IklmIHRoZSBpdGVtIGlzIG5vdCBhIGdyb3VwIHRoZW4gdGhpcyBpcyB0aGUgZmVlIGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLCBvdGhlcndpc2UgdGhpcyBpcyB0aGUgdG90YWwgb2YgdGhlIGZlZXMgZm9yIHRoZSBkZXRhaWxzIG9mIHRoZSBncm91cC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGkiIGRlc2NyaXB0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGluZSBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uUGF5ZWUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNhdGVnb3J5IG9mIHJlY2lwaWVudCIgZGVmaW5pdGlvbj0iVHlwZSBvZiBQYXJ0eSB0byBiZSByZWltYnVyc2VkOiBzdWJzY3JpYmVyLCBwcm92aWRlciwgb3RoZXIuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF5ZWVUeXBlIiBkZXNjcmlwdGlvbj0iQSBjb2RlIGZvciB0aGUgcGFydHkgdG8gYmUgcmVpbWJ1cnNlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlY2lwaWVudCByZWZlcmVuY2UiIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgaW5kaXZpZHVhbCBvciBvcmdhbml6YXRpb24gdG8gd2hvbSBhbnkgcGF5bWVudCB3aWxsIGJlIG1hZGUuIiBjb21tZW50PSJOb3QgcmVxdWlyZWQgaWYgdGhlIHBheWVlIGlzICdzdWJzY3JpYmVyJyBvciAncHJvdmlkZXInLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5Qcm9jZWR1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFByb2NlZHVyZSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBwcm9jZWR1cmUgZW50cmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2F0ZWdvcnkgb2YgUHJvY2VkdXJlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSBjb25kaXRpb24gd2FzIG9ic2VydmVkIG9yIHRoZSByZWxhdGl2ZSByYW5raW5nLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHByaW1hcnksIHNlY29uZGFyeS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlVHlwZSIgZGVzY3JpcHRpb249IkV4YW1wbGUgcHJvY2VkdXJlIHR5cGUgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJEYXRlIGFuZCBvcHRpb25hbGx5IHRpbWUgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgU3BlY2lmaWMgY2xpbmljYWwgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUaGUgY29kZSBvciByZWZlcmVuY2UgdG8gYSBQcm9jZWR1cmUgcmVzb3VyY2Ugd2hpY2ggaWRlbnRpZmllcyB0aGUgY2xpbmljYWwgaW50ZXJ2ZW50aW9uIHBlcmZvcm1lZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IklDRDEwX1Byb2NlZHVyZXMiIGRlc2NyaXB0aW9uPSJFeGFtcGxlIElDRDEwIFByb2NlZHVyZSBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVkaSIgZGVzY3JpcHRpb249IlVuaXF1ZSBkZXZpY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIERldmljZSBJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBsaW5lIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5SZWxhdGVkIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjbGFpbSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIHJlbGF0ZWQgY2xhaW0iIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byBhIHJlbGF0ZWQgY2xhaW0uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVsYXRpb25zaGlwIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdGhlIHJlZmVyZW5jZSBjbGFpbSBpcyByZWxhdGVkIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gY29udmV5IGhvdyB0aGUgY2xhaW1zIGFyZSByZWxhdGVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHByaW9yIGNsYWltIG9yIHVtYnJlbGxhLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlbGF0ZWRDbGFpbVJlbGF0aW9uc2hpcCIgZGVzY3JpcHRpb249IlJlbGF0aW9uc2hpcCBvZiB0aGlzIGNsYWltIHRvIGEgcmVsYXRlZCBDbGFpbS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRmlsZSBvciBjYXNlIHJlZmVyZW5jZSIgZGVmaW5pdGlvbj0iQW4gYWx0ZXJuYXRlIG9yZ2FuaXphdGlvbmFsIHJlZmVyZW5jZSB0byB0aGUgY2FzZSBvciBmaWxlIHRvIHdoaWNoIHRoaXMgcGFydGljdWxhciBjbGFpbSBwZXJ0YWlucy4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCBQcm9wZXJ0eS9DYXN1YWx0eSBpbnN1cmVyIGNsYWltICMgb3IgV29ya2VycyBDb21wZW5zYXRpb24gY2FzZSAjIC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLlN1cHBvcnRpbmdJbmZvIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHN1cHBvcnRpbmcgaW5mb3JtYXRpb24gZW50cmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIHN1cHBsaWVkIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJUaGUgZ2VuZXJhbCBjbGFzcyBvZiB0aGUgaW5mb3JtYXRpb24gc3VwcGxpZWQ6IGluZm9ybWF0aW9uOyBleGNlcHRpb247IGFjY2lkZW50LCBlbXBsb3ltZW50OyBvbnNldCwgZXRjLiIgY29tbWVudD0iVGhpcyBtYXkgY29udGFpbiBhIGNhdGVnb3J5IGZvciB0aGUgbG9jYWwgYmlsbCB0eXBlIGNvZGVzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkluZm9ybWF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJUaGUgdmFsdXNldCB1c2VkIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGNhdGVnb3J5IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iU3lzdGVtIGFuZCBjb2RlIHBlcnRhaW5pbmcgdG8gdGhlIHNwZWNpZmljIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBzcGVjaWFsIGNvbmRpdGlvbnMgcmVsYXRpbmcgdG8gdGhlIHNldHRpbmcsIHRyZWF0bWVudCBvciBwYXRpZW50ICBmb3Igd2hpY2ggY2FyZSBpcyBzb3VnaHQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW5mb3JtYXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iVGhlIHZhbHVzZXQgdXNlZCBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIGl0IG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB3aGVuIG9yIHBlcmlvZCB0byB3aGljaCB0aGlzIGluZm9ybWF0aW9uIHJlZmVycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRhdGEgdG8gYmUgcHJvdmlkZWQiIGRlZmluaXRpb249IkFkZGl0aW9uYWwgZGF0YSBvciBpbmZvcm1hdGlvbiBzdWNoIGFzIHJlc291cmNlcywgZG9jdW1lbnRzLCBpbWFnZXMgZXRjLiBpbmNsdWRpbmcgcmVmZXJlbmNlcyB0byB0aGUgZGF0YSBvciB0aGUgYWN0dWFsIGluY2x1c2lvbiBvZiB0aGUgZGF0YS4iIGNvbW1lbnQ9IkNvdWxkIGJlIHVzZWQgdG8gcHJvdmlkZSByZWZlcmVuY2VzIHRvIG90aGVyIHJlc291cmNlcywgZG9jdW1lbnQuIEZvciBleGFtcGxlIGNvdWxkIGNvbnRhaW4gYSBQREYgaW4gYW4gQXR0YWNobWVudCBvZiB0aGUgUG9saWNlIFJlcG9ydCBmb3IgYW4gQWNjaWRlbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkF0dGFjaG1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uIGZvciB0aGUgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlByb3ZpZGVzIHRoZSByZWFzb24gaW4gdGhlIHNpdHVhdGlvbiB3aGVyZSBhIHJlYXNvbiBjb2RlIGlzIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSBjb250ZW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHRoZSByZWFzb24gZm9yIHRoZSBhZGRpdGlvbmFsIHN0YXksIG9yIHdoeSBhIHRvb3RoIGlzICBtaXNzaW5nLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1pc3NpbmdSZWFzb24iIGRlc2NyaXB0aW9uPSJSZWFzb24gY29kZXMgZm9yIHRoZSBtaXNzaW5nIHRlZXRoLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jbGFpbXJlc3BvbnNlIiBsYWJlbD0iUUlDb3JlIENsYWltUmVzcG9uc2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3IgYSBjbGFpbSByZXNwb25zZSIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGNsYWltIHJlc3BvbnNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgYWN0aXZlIHwgY2FuY2VsbGVkIHwgZHJhZnQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXNvdXJjZSBpbnN0YW5jZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVJlc3BvbnNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSByZXNvdXJjZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9yIGRpc2NpcGxpbmUtc3R5bGUgb2YgdGhlIGNsYWltLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltU3ViVHlwZSIgZGVzY3JpcHRpb249IkEgbW9yZSBncmFudWxhciBjbGFpbSB0eXBlY29kZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Vc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGNsYWltIHwgcHJlYXV0aG9yaXphdGlvbiB8IHByZWRldGVybWluYXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBuYXR1cmUgb2YgdGhlIHJlcXVlc3QgaXM6IHRvIHJlcXVlc3QgYWRqdWRpY2F0aW9uIG9mIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBwcmV2aW91c2x5IHJlbmRlcmVkOyBvciByZXF1ZXN0aW5nIGF1dGhvcml6YXRpb24gYW5kIGFkanVkaWNhdGlvbiBmb3IgcHJvdmlzaW9uIGluIHRoZSBmdXR1cmU7IG9yIHJlcXVlc3RpbmcgdGhlIG5vbi1iaW5kaW5nIGFkanVkaWNhdGlvbiBvZiB0aGUgbGlzdGVkIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyB3aGljaCBjb3VsZCBiZSBwcm92aWRlZCBpbiB0aGUgZnV0dXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVzZSIgZGVzY3JpcHRpb249IkNsYWltLCBwcmVhdXRob3JpemF0aW9uLCBwcmVkZXRlcm1pbmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSByZWNpcGllbnQgb2YgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHRvIHdob20gdGhlIHByb2Zlc3Npb25hbCBzZXJ2aWNlcyBhbmQvb3IgcHJvZHVjdHMgaGF2ZSBiZWVuIHN1cHBsaWVkIG9yIGFyZSBiZWluZyBjb25zaWRlcmVkIGFuZCBmb3Igd2hvbSBhY3R1YWwgZm9yIGZhY2FzdCByZWltYnVyc2VtZW50IGlzIHNvdWdodC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjcmVhdGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZXNwb25zZSBjcmVhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGlzIHJlc291cmNlIHdhcyBjcmVhdGVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFBhcnR5IHJlc3BvbnNpYmxlIGZvciByZWltYnVyc2VtZW50IiBkZWZpbml0aW9uPSJUaGUgcGFydHkgcmVzcG9uc2libGUgZm9yIGF1dGhvcml6YXRpb24sIGFkanVkaWNhdGlvbiBhbmQgcmVpbWJ1cnNlbWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFBhcnR5IHJlc3BvbnNpYmxlIGZvciB0aGUgY2xhaW0iIGRlZmluaXRpb249IlRoZSBwcm92aWRlciB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltLCBwcmVkZXRlcm1pbmF0aW9uIG9yIHByZWF1dGhvcml6YXRpb24uIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyBmaWVsZCB3b3VsZCBiZSAxLi4xIHdoZXJlIHRoaXMgcGFydHkgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbSBidXQgbm90IG5lY2Vzc2FyaWx5IHByb2Zlc3Npb25hbGx5IHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uIG9mIHRoZSBpbmRpdmlkdWFsIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgYmVsb3cuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgSWQgb2YgcmVzb3VyY2UgdHJpZ2dlcmluZyBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249Ik9yaWdpbmFsIHJlcXVlc3QgcmVzb3VyY2UgcmVmZXJlbmNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im91dGNvbWUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVtaXR0YW5jZU91dGNvbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icXVldWVkIHwgY29tcGxldGUgfCBlcnJvciB8IHBhcnRpYWwiIGRlZmluaXRpb249IlRoZSBvdXRjb21lIG9mIHRoZSBjbGFpbSwgcHJlZGV0ZXJtaW5hdGlvbiwgb3IgcHJlYXV0aG9yaXphdGlvbiBwcm9jZXNzaW5nLiIgY29tbWVudD0iVGhlIHJlc291cmNlIG1heSBiZSB1c2VkIHRvIGluZGljYXRlIHRoYXQ6IHRoZSByZXF1ZXN0IGhhcyBiZWVuIGhlbGQgKHF1ZXVlZCkgZm9yIHByb2Nlc3Npbmc7IHRoYXQgaXQgaGFzIGJlZW4gcHJvY2Vzc2VkIGFuZCBlcnJvcnMgZm91bmQgKGVycm9yKTsgdGhhdCBubyBlcnJvcnMgd2VyZSBmb3VuZCBhbmQgdGhhdCBzb21lIG9mIHRoZSBhZGp1ZGljYXRpb24gaGFzIGJlZW4gdW5kZXJ0YWtlbiAocGFydGlhbCkgb3IgdGhhdCBhbGwgb2YgdGhlIGFkanVkaWNhdGlvbiBoYXMgYmVlbiB1bmRlcnRha2VuIChjb21wbGV0ZSkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVtaXR0YW5jZU91dGNvbWUiIGRlc2NyaXB0aW9uPSJUaGUgcmVzdWx0IG9mIHRoZSBjbGFpbSBwcm9jZXNzaW5nLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3Bvc2l0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEaXNwb3NpdGlvbiBNZXNzYWdlIiBkZWZpbml0aW9uPSJBIGh1bWFuIHJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBzdGF0dXMgb2YgdGhlIGFkanVkaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBdXRoUmVmIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmVhdXRob3JpemF0aW9uIHJlZmVyZW5jZSIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIGZyb20gdGhlIEluc3VyZXIgd2hpY2ggaXMgdXNlZCBpbiBsYXRlciBjb21tdW5pY2F0aW9ucyB3aGljaCByZWZlcnMgdG8gdGhpcyBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJUaGlzIHZhbHVlIGlzIG9ubHkgcHJlc2VudCBvbiBwcmVhdXRob3JpemF0aW9uIGFkanVkaWNhdGlvbnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJlQXV0aFBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcmVhdXRob3JpemF0aW9uIHJlZmVyZW5jZSBlZmZlY3RpdmUgcGVyaW9kIiBkZWZpbml0aW9uPSJUaGUgdGltZSBmcmFtZSBkdXJpbmcgd2hpY2ggdGhpcyBhdXRob3JpemF0aW9uIGlzIGVmZmVjdGl2ZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXllZVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBhcnR5IHRvIGJlIHBhaWQgYW55IGJlbmVmaXRzIHBheWFibGUiIGRlZmluaXRpb249IlR5cGUgb2YgUGFydHkgdG8gYmUgcmVpbWJ1cnNlZDogc3Vic2NyaWJlciwgcHJvdmlkZXIsIG90aGVyLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBheWVlVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZSBmb3IgdGhlIHBhcnR5IHRvIGJlIHJlaW1idXJzZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEFkanVkaWNhdGlvbiBmb3IgY2xhaW0gbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iQSBjbGFpbSBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2YgZGV0YWlscyB3aGljaCBjYW4gYWxzbyBiZSBhIHNpbXBsZSBpdGVtcyBvciBncm91cHMgb2Ygc3ViLWRldGFpbHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkSXRlbSIgZGVzY3JpcHRpb249Ikluc3VyZXIgYWRkZWQgbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGhlIGZpcnN0LXRpZXIgc2VydmljZSBhZGp1ZGljYXRpb25zIGZvciBwYXlvciBhZGRlZCBwcm9kdWN0IG9yIHNlcnZpY2UgbGluZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkFkZEl0ZW0iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iSGVhZGVyLWxldmVsIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzIHdoaWNoIGFyZSBwcmVzZW50ZWQgYXQgdGhlIGhlYWRlciBsZXZlbCByYXRoZXIgdGhhbiBhdCB0aGUgbGluZS1pdGVtIG9yIGFkZC1pdGVtIGxldmVscy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idG90YWwiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gdG90YWxzIiBkZWZpbml0aW9uPSJDYXRlZ29yaXplZCBtb25ldGFyeSB0b3RhbHMgZm9yIHRoZSBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJUb3RhbHMgZm9yIGFtb3VudHMgc3VibWl0dGVkLCBjby1wYXlzLCBiZW5lZml0cyBwYXlhYmxlIGV0Yy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuVG90YWwiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF5bWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLlBheW1lbnQiIGRlc2NyaXB0aW9uPSJQYXltZW50IERldGFpbHMiIGRlZmluaXRpb249IlBheW1lbnQgZGV0YWlscyBmb3IgdGhlIGFkanVkaWNhdGlvbiBvZiB0aGUgY2xhaW0uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuZHNSZXNlcnZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGdW5kcyByZXNlcnZlZCBzdGF0dXMiIGRlZmluaXRpb249IkEgY29kZSwgdXNlZCBvbmx5IG9uIGEgcmVzcG9uc2UgdG8gYSBwcmVhdXRob3JpemF0aW9uLCB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBiZW5lZml0cyBwYXlhYmxlIGhhdmUgYmVlbiByZXNlcnZlZCBhbmQgZm9yIHdob20uIiBjb21tZW50PSJGdW5kIHdvdWxkIGJlIHJlbGVhc2UgYnkgYSBmdXR1cmUgY2xhaW0gcXVvdGluZyB0aGUgcHJlQXV0aFJlZiBvZiB0aGlzIHJlc3BvbnNlLiBFeGFtcGxlcyBvZiB2YWx1ZXMgaW5jbHVkZTogcHJvdmlkZXIsIHBhdGllbnQsIG5vbmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZHNSZXNlcnZlIiBkZXNjcmlwdGlvbj0iRm9yIHdob20gZnVuZHMgYXJlIHRvIGJlIHJlc2VydmVkOiAoUGF0aWVudCwgUHJvdmlkZXIsIE5vbmUpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9ybUNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByaW50ZWQgZm9ybSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIGNvZGUgZm9yIHRoZSBmb3JtIHRvIGJlIHVzZWQgZm9yIHByaW50aW5nIHRoZSBjb250ZW50LiIgY29tbWVudD0iTWF5IGJlIG5lZWRlZCB0byBpZGVudGlmeSBzcGVjaWZpYyBqdXJpc2RpY3Rpb25hbCBmb3Jtcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGb3JtcyIgZGVzY3JpcHRpb249IlRoZSBmb3JtcyBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvcm0iIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgZGVzY3JpcHRpb249IlByaW50ZWQgcmVmZXJlbmNlIG9yIGFjdHVhbCBmb3JtIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvcm0sIGJ5IHJlZmVyZW5jZSBvciBpbmNsdXNpb24sIGZvciBwcmludGluZyB0aGUgY29udGVudCBvciBhbiBFT0IuIiBjb21tZW50PSJOZWVkZWQgdG8gcGVybWl0IGluc3VyZXJzIHRvIGluY2x1ZGUgdGhlIGFjdHVhbCBmb3JtLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2Nlc3NOb3RlIiBkZXNjcmlwdGlvbj0iTm90ZSBjb25jZXJuaW5nIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBub3RlIHRoYXQgZGVzY3JpYmVzIG9yIGV4cGxhaW5zIGFkanVkaWNhdGlvbiByZXN1bHRzIGluIGEgaHVtYW4gcmVhZGFibGUgZm9ybS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuUHJvY2Vzc05vdGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tbXVuaWNhdGlvblJlcXVlc3QiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJSZXF1ZXN0IGZvciBhZGRpdGlvbmFsIHN1cHBvcnRpbmcgb3IgYXV0aG9yaXppbmcgaW5mb3JtYXRpb24uIiBjb21tZW50PSJGb3IgZXhhbXBsZTogcHJvZmVzc2lvbmFsIHJlcG9ydHMsIGRvY3VtZW50cywgaW1hZ2VzLCBjbGluaWNhbCByZXNvdXJjZXMsIG9yIGFjY2lkZW50IHJlcG9ydHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBpbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkZpbmFuY2lhbCBpbnN0cnVtZW50cyBmb3IgcmVpbWJ1cnNlbWVudCBmb3IgdGhlIGhlYWx0aCBjYXJlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBzcGVjaWZpZWQgb24gdGhlIGNsYWltLiIgY29tbWVudD0iQWxsIGluc3VyYW5jZSBjb3ZlcmFnZXMgZm9yIHRoZSBwYXRpZW50IHdoaWNoIG1heSBiZSBhcHBsaWNhYmxlIGZvciByZWltYnVyc2VtZW50LCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGxpc3RlZCBpbiB0aGUgY2xhaW0sIGFyZSB0eXBpY2FsbHkgcHJvdmlkZWQgaW4gdGhlIGNsYWltIHRvIGFsbG93IGluc3VyZXJzIHRvIGNvbmZpcm0gdGhlIG9yZGVyaW5nIG9mIHRoZSBpbnN1cmFuY2UgY292ZXJhZ2VzIHJlbGF0aXZlIHRvIGxvY2FsICdjb29yZGluYXRpb24gb2YgYmVuZWZpdCcgcnVsZXMuIE9uZSBjb3ZlcmFnZSAoYW5kIG9ubHkgb25lKSB3aXRoICdmb2NhbD10cnVlJyBpcyB0byBiZSB1c2VkIGluIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbS4gQ292ZXJhZ2VzIGFwcGVhcmluZyBiZWZvcmUgdGhlIGZvY2FsIENvdmVyYWdlIGluIHRoZSBsaXN0LCBhbmQgd2hlcmUgJ3N1YnJvZ2F0aW9uPWZhbHNlJywgc2hvdWxkIHByb3ZpZGUgYSByZWZlcmVuY2UgdG8gdGhlIENsYWltUmVzcG9uc2UgY29udGFpbmluZyB0aGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMgb2YgdGhlIHByaW9yIGNsYWltLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JbnN1cmFuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXJyb3IiIGRlc2NyaXB0aW9uPSJQcm9jZXNzaW5nIGVycm9ycyIgZGVmaW5pdGlvbj0iRXJyb3JzIGVuY291bnRlcmVkIGR1cmluZyB0aGUgcHJvY2Vzc2luZyBvZiB0aGUgYWRqdWRpY2F0aW9uLiIgY29tbWVudD0iSWYgdGhlIHJlcXVlc3QgY29udGFpbnMgZXJyb3JzIHRoZW4gYW4gZXJyb3IgZWxlbWVudCBzaG91bGQgYmUgcHJvdmlkZWQgYW5kIG5vIGFkanVkaWNhdGlvbiByZWxhdGVkIHNlY3Rpb25zIChpdGVtLCBhZGRJdGVtLCBvciBwYXltZW50KSBzaG91bGQgYmUgcHJlc2VudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuRXJyb3IiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuQWRkSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbVNlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikl0ZW0gc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJDbGFpbSBpdGVtcyB3aGljaCB0aGlzIHNlcnZpY2UgbGluZSBpcyBpbnRlbmRlZCB0byByZXBsYWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWxTZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBkZXRhaWxzIHdpdGhpbiB0aGUgY2xhaW0gaXRlbSB3aGljaCB0aGlzIGxpbmUgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViZGV0YWlsU2VxdWVuY2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU3ViZGV0YWlsIHNlcXVlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iVGhlIHNlcXVlbmNlIG51bWJlciBvZiB0aGUgc3ViLWRldGFpbHMgd2l0aGluIHRoZSBkZXRhaWxzIHdpdGhpbiB0aGUgY2xhaW0gaXRlbSB3aGljaCB0aGlzIGxpbmUgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvdmlkZXIiIGRlc2NyaXB0aW9uPSJBdXRob3JpemVkIHByb3ZpZGVycyIgZGVmaW5pdGlvbj0iVGhlIHByb3ZpZGVycyB3aG8gYXJlIGF1dGhvcml6ZWQgZm9yIHRoZSBzZXJ2aWNlcyByZW5kZXJlZCB0byB0aGUgcGF0aWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0T3JTZXJ2aWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCaWxsaW5nLCBzZXJ2aWNlLCBwcm9kdWN0LCBvciBkcnVnIGNvZGUiIGRlZmluaXRpb249IldoZW4gdGhlIHZhbHVlIGlzIGEgZ3JvdXAgY29kZSB0aGVuIHRoaXMgaXRlbSBjb2xsZWN0cyBhIHNldCBvZiByZWxhdGVkIGNsYWltIGRldGFpbHMsIG90aGVyd2lzZSB0aGlzIGNvbnRhaW5zIHRoZSBwcm9kdWN0LCBzZXJ2aWNlLCBkcnVnIG9yIG90aGVyIGJpbGxpbmcgY29kZSBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJJZiB0aGlzIGlzIGFuIGFjdHVhbCBzZXJ2aWNlIG9yIHByb2R1Y3QgbGluZSwgaS5lLiBub3QgYSBHcm91cCwgdGhlbiB1c2UgY29kZSB0byBpbmRpY2F0ZSB0aGUgUHJvZmVzc2lvbmFsIFNlcnZpY2Ugb3IgUHJvZHVjdCBzdXBwbGllZCAoZS5nLiBDVFAsIEhDUENTLCBVU0NMUywgSUNEMTAsIE5DUERQLCBESU4sIFJ4Tm9ybSwgQUNISSwgQ0NJKS4gSWYgYSBncm91cGluZyBpdGVtIHRoZW4gdXNlIGEgZ3JvdXAgY29kZSB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiB0aGluZyBiZWluZyBncm91cGVkIGUuZy4gJ2dsYXNzZXMnIG9yICdjb21wb3VuZCcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVByb2R1Y3QiIGRlc2NyaXB0aW9uPSJBbGxvd2FibGUgc2VydmljZSBhbmQgcHJvZHVjdCBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZS9Qcm9kdWN0IGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dHNpZGUgb2Ygb2ZmaWNlIGhvdXJzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNb2RpZmllcnMiIGRlc2NyaXB0aW9uPSJJdGVtIHR5cGUgb3IgbW9kaWZpZXJzIGNvZGVzLCBlZyBmb3IgT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgYW4gYXBwbGlhbmNlIHdhcyBsb3N0IG9yIHN0b2xlbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2dyYW1Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvZ3JhbSB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlIGlzIHByb3ZpZGVkIHVuZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBwcm9ncmFtIHVuZGVyIHdoaWNoIHRoaXMgbWF5IGJlIHJlY292ZXJlZC4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBOZW9uYXRhbCBwcm9ncmFtLCBjaGlsZCBkZW50YWwgcHJvZ3JhbSBvciBkcnVnIHVzZXJzIHJlY292ZXJ5IHByb2dyYW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1Db2RlIiBkZXNjcmlwdGlvbj0iUHJvZ3JhbSBzcGVjaWZpYyByZWFzb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJ2aWNlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEYXRlIG9yIGRhdGVzIG9mIHNlcnZpY2Ugb3IgcHJvZHVjdCBkZWxpdmVyeSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb3IgZGF0ZXMgd2hlbiB0aGUgc2VydmljZSBvciBwcm9kdWN0IHdhcyBzdXBwbGllZCwgcGVyZm9ybWVkIG9yIGNvbXBsZXRlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBsYWNlIG9mIHNlcnZpY2Ugb3Igd2hlcmUgcHJvZHVjdCB3YXMgc3VwcGxpZWQiIGRlZmluaXRpb249IldoZXJlIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2Ugd2FzIHByb3ZpZGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVBsYWNlIiBkZXNjcmlwdGlvbj0iUGxhY2Ugb2Ygc2VydmljZTogcGhhcm1hY3ksIHNjaG9vbCwgcHJpc29uLCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3VudCBvZiBwcm9kdWN0cyBvciBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiByZXBldGl0aW9ucyBvZiBhIHNlcnZpY2Ugb3IgcHJvZHVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJpY2Ugc2NhbGluZyBmYWN0b3IiIGRlZmluaXRpb249IkEgcmVhbCBudW1iZXIgdGhhdCByZXByZXNlbnRzIGEgbXVsdGlwbGllciB1c2VkIGluIGRldGVybWluaW5nIHRoZSBvdmVyYWxsIHZhbHVlIG9mIHNlcnZpY2VzIGRlbGl2ZXJlZCBhbmQvb3IgZ29vZHMgcmVjZWl2ZWQuIFRoZSBjb25jZXB0IG9mIGEgRmFjdG9yIGFsbG93cyBmb3IgYSBkaXNjb3VudCBvciBzdXJjaGFyZ2UgbXVsdGlwbGllciB0byBiZSBhcHBsaWVkIHRvIGEgbW9uZXRhcnkgYW1vdW50LiIgY29tbWVudD0iVG8gc2hvdyBhIDEwJSBzZW5pb3IncyBkaXNjb3VudCwgdGhlIHZhbHVlIGVudGVyZWQgaXM6IDAuOTAgKDEuMDAgLSAwLjEwKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUb3RhbCBpdGVtIGNvc3QiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSB0aW1lcyB0aGUgdW5pdCBwcmljZSBmb3IgYW4gYWRkaXRpb25hbCBzZXJ2aWNlIG9yIHByb2R1Y3Qgb3IgY2hhcmdlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBmb3JtdWxhOiBxdWFudGl0eSAqIHVuaXRQcmljZSAqIGZhY3RvciAgPSBuZXQuIFF1YW50aXR5IGFuZCBmYWN0b3IgYXJlIGFzc3VtZWQgdG8gYmUgMSBpZiBub3Qgc3VwcGxpZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgbG9jYXRpb24iIGRlZmluaXRpb249IlBoeXNpY2FsIHNlcnZpY2Ugc2l0ZSBvbiB0aGUgcGF0aWVudCAobGltYiwgdG9vdGgsIGV0Yy4pLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IFByb3ZpZGluZyBhIHRvb3RoIGNvZGUgYWxsb3dzIGFuIGluc3VyZXIgdG8gaWRlbnRpZnkgYSBwcm92aWRlciBwZXJmb3JtaW5nIGEgZmlsbGluZyBvbiBhIHRvb3RoIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVtb3ZlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPcmFsU2l0ZXMiIGRlc2NyaXB0aW9uPSJUaGUgY29kZSBmb3IgdGhlIHRlZXRoLCBxdWFkcmFudCwgc2V4dGFudCBhbmQgYXJjaC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YlNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIHN1Yi1sb2NhdGlvbiIgZGVmaW5pdGlvbj0iQSByZWdpb24gb3Igc3VyZmFjZSBvZiB0aGUgYm9keVNpdGUsIGUuZy4gbGltYiByZWdpb24gb3IgdG9vdGggc3VyZmFjZShzKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VyZmFjZSIgZGVzY3JpcHRpb249IlRoZSBjb2RlIGZvciB0aGUgdG9vdGggc3VyZmFjZSBhbmQgc3VyZmFjZSBjb21iaW5hdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlTnVtYmVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgbm90ZSBudW1iZXJzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVycyBhc3NvY2lhdGVkIHdpdGggbm90ZXMgYmVsb3cgd2hpY2ggYXBwbHkgdG8gdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkZGVkIGl0ZW1zIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGRlc2NyaXB0aW9uPSJJbnN1cmVyIGFkZGVkIGxpbmUgZGV0YWlscyIgZGVmaW5pdGlvbj0iVGhlIHNlY29uZC10aWVyIHNlcnZpY2UgYWRqdWRpY2F0aW9ucyBmb3IgcGF5b3IgYWRkZWQgc2VydmljZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkFkZEl0ZW0uRGV0YWlsIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5BZGRJdGVtLkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZHVjdE9yU2VydmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmlsbGluZywgc2VydmljZSwgcHJvZHVjdCwgb3IgZHJ1ZyBjb2RlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSB2YWx1ZSBpcyBhIGdyb3VwIGNvZGUgdGhlbiB0aGlzIGl0ZW0gY29sbGVjdHMgYSBzZXQgb2YgcmVsYXRlZCBjbGFpbSBkZXRhaWxzLCBvdGhlcndpc2UgdGhpcyBjb250YWlucyB0aGUgcHJvZHVjdCwgc2VydmljZSwgZHJ1ZyBvciBvdGhlciBiaWxsaW5nIGNvZGUgZm9yIHRoZSBpdGVtLiIgY29tbWVudD0iSWYgdGhpcyBpcyBhbiBhY3R1YWwgc2VydmljZSBvciBwcm9kdWN0IGxpbmUsIGkuZS4gbm90IGEgR3JvdXAsIHRoZW4gdXNlIGNvZGUgdG8gaW5kaWNhdGUgdGhlIFByb2Zlc3Npb25hbCBTZXJ2aWNlIG9yIFByb2R1Y3Qgc3VwcGxpZWQgKGUuZy4gQ1RQLCBIQ1BDUywgVVNDTFMsIElDRDEwLCBOQ1BEUCwgRElOLCBSeE5vcm0sIEFDSEksIENDSSkuIElmIGEgZ3JvdXBpbmcgaXRlbSB0aGVuIHVzZSBhIGdyb3VwIGNvZGUgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgdGhpbmcgYmVpbmcgZ3JvdXBlZCBlLmcuICdnbGFzc2VzJyBvciAnY29tcG91bmQnLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VQcm9kdWN0IiBkZXNjcmlwdGlvbj0iQWxsb3dhYmxlIHNlcnZpY2UgYW5kIHByb2R1Y3QgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UvUHJvZHVjdCBiaWxsaW5nIG1vZGlmaWVycyIgZGVmaW5pdGlvbj0iSXRlbSB0eXBpZmljYXRpb24gb3IgbW9kaWZpZXJzIGNvZGVzIHRvIGNvbnZleSBhZGRpdGlvbmFsIGNvbnRleHQgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBpbiBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBmb3IgTWVkaWNhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgd2FzIG91dHNpZGUgdGhlIGNsaW5pYyBvciBvdXRzaWRlIG9mIG9mZmljZSBob3Vycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTW9kaWZpZXJzIiBkZXNjcmlwdGlvbj0iSXRlbSB0eXBlIG9yIG1vZGlmaWVycyBjb2RlcywgZWcgZm9yIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGFuIGFwcGxpYW5jZSB3YXMgbG9zdCBvciBzdG9sZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3VudCBvZiBwcm9kdWN0cyBvciBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiByZXBldGl0aW9ucyBvZiBhIHNlcnZpY2Ugb3IgcHJvZHVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJpY2Ugc2NhbGluZyBmYWN0b3IiIGRlZmluaXRpb249IkEgcmVhbCBudW1iZXIgdGhhdCByZXByZXNlbnRzIGEgbXVsdGlwbGllciB1c2VkIGluIGRldGVybWluaW5nIHRoZSBvdmVyYWxsIHZhbHVlIG9mIHNlcnZpY2VzIGRlbGl2ZXJlZCBhbmQvb3IgZ29vZHMgcmVjZWl2ZWQuIFRoZSBjb25jZXB0IG9mIGEgRmFjdG9yIGFsbG93cyBmb3IgYSBkaXNjb3VudCBvciBzdXJjaGFyZ2UgbXVsdGlwbGllciB0byBiZSBhcHBsaWVkIHRvIGEgbW9uZXRhcnkgYW1vdW50LiIgY29tbWVudD0iVG8gc2hvdyBhIDEwJSBzZW5pb3IncyBkaXNjb3VudCwgdGhlIHZhbHVlIGVudGVyZWQgaXM6IDAuOTAgKDEuMDAgLSAwLjEwKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUb3RhbCBpdGVtIGNvc3QiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSB0aW1lcyB0aGUgdW5pdCBwcmljZSBmb3IgYW4gYWRkaXRpb25hbCBzZXJ2aWNlIG9yIHByb2R1Y3Qgb3IgY2hhcmdlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBmb3JtdWxhOiBxdWFudGl0eSAqIHVuaXRQcmljZSAqIGZhY3RvciAgPSBuZXQuIFF1YW50aXR5IGFuZCBmYWN0b3IgYXJlIGFzc3VtZWQgdG8gYmUgMSBpZiBub3Qgc3VwcGxpZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJBZGRlZCBpdGVtcyBkZXRhaWwgYWRqdWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0uQWRqdWRpY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbCIgZGVzY3JpcHRpb249Ikluc3VyZXIgYWRkZWQgbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGhlIHRoaXJkLXRpZXIgc2VydmljZSBhZGp1ZGljYXRpb25zIGZvciBwYXlvciBhZGRlZCBzZXJ2aWNlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuQWRkSXRlbS5EZXRhaWwuU3ViRGV0YWlsIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5BZGRJdGVtLkRldGFpbC5TdWJEZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlL1Byb2R1Y3QgYmlsbGluZyBtb2RpZmllcnMiIGRlZmluaXRpb249Ikl0ZW0gdHlwaWZpY2F0aW9uIG9yIG1vZGlmaWVycyBjb2RlcyB0byBjb252ZXkgYWRkaXRpb25hbCBjb250ZXh0IGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgaW4gT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgZm9yIE1lZGljYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IHdhcyBvdXRzaWRlIHRoZSBjbGluaWMgb3Igb3V0c2lkZSBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ291bnQgb2YgcHJvZHVjdHMgb3Igc2VydmljZXMiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2YgcmVwZXRpdGlvbnMgb2YgYSBzZXJ2aWNlIG9yIHByb2R1Y3QuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdFByaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRmVlLCBjaGFyZ2Ugb3IgY29zdCBwZXIgaXRlbSIgZGVmaW5pdGlvbj0iSWYgdGhlIGl0ZW0gaXMgbm90IGEgZ3JvdXAgdGhlbiB0aGlzIGlzIHRoZSBmZWUgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UsIG90aGVyd2lzZSB0aGlzIGlzIHRoZSB0b3RhbCBvZiB0aGUgZmVlcyBmb3IgdGhlIGRldGFpbHMgb2YgdGhlIGdyb3VwLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZhY3RvciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaWNlIHNjYWxpbmcgZmFjdG9yIiBkZWZpbml0aW9uPSJBIHJlYWwgbnVtYmVyIHRoYXQgcmVwcmVzZW50cyBhIG11bHRpcGxpZXIgdXNlZCBpbiBkZXRlcm1pbmluZyB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiBzZXJ2aWNlcyBkZWxpdmVyZWQgYW5kL29yIGdvb2RzIHJlY2VpdmVkLiBUaGUgY29uY2VwdCBvZiBhIEZhY3RvciBhbGxvd3MgZm9yIGEgZGlzY291bnQgb3Igc3VyY2hhcmdlIG11bHRpcGxpZXIgdG8gYmUgYXBwbGllZCB0byBhIG1vbmV0YXJ5IGFtb3VudC4iIGNvbW1lbnQ9IlRvIHNob3cgYSAxMCUgc2VuaW9yJ3MgZGlzY291bnQsIHRoZSB2YWx1ZSBlbnRlcmVkIGlzOiAwLjkwICgxLjAwIC0gMC4xMCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibmV0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVG90YWwgaXRlbSBjb3N0IiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgdGltZXMgdGhlIHVuaXQgcHJpY2UgZm9yIGFuIGFkZGl0aW9uYWwgc2VydmljZSBvciBwcm9kdWN0IG9yIGNoYXJnZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCB0aGUgZm9ybXVsYTogcXVhbnRpdHkgKiB1bml0UHJpY2UgKiBmYWN0b3IgID0gbmV0LiBRdWFudGl0eSBhbmQgZmFjdG9yIGFyZSBhc3N1bWVkIHRvIGJlIDEgaWYgbm90IHN1cHBsaWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGVOdW1iZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQXBwbGljYWJsZSBub3RlIG51bWJlcnMiIGRlZmluaXRpb249IlRoZSBudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCBub3RlcyBiZWxvdyB3aGljaCBhcHBseSB0byB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgaXRlbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQWRkZWQgaXRlbXMgZGV0YWlsIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuRXJyb3IiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW1TZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikl0ZW0gc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBsaW5lIGl0ZW0gc3VibWl0dGVkIHdoaWNoIGNvbnRhaW5zIHRoZSBlcnJvci4gVGhpcyB2YWx1ZSBpcyBvbWl0dGVkIHdoZW4gdGhlIGVycm9yIG9jY3VycyBvdXRzaWRlIG9mIHRoZSBpdGVtIHN0cnVjdHVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWxTZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRldGFpbCBzZXF1ZW5jZSBudW1iZXIiIGRlZmluaXRpb249IlRoZSBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIGRldGFpbCB3aXRoaW4gdGhlIGxpbmUgaXRlbSBzdWJtaXR0ZWQgd2hpY2ggY29udGFpbnMgdGhlIGVycm9yLiBUaGlzIHZhbHVlIGlzIG9taXR0ZWQgd2hlbiB0aGUgZXJyb3Igb2NjdXJzIG91dHNpZGUgb2YgdGhlIGl0ZW0gc3RydWN0dXJlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbFNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU3ViZGV0YWlsIHNlcXVlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iVGhlIHNlcXVlbmNlIG51bWJlciBvZiB0aGUgc3ViLWRldGFpbCB3aXRoaW4gdGhlIGRldGFpbCB3aXRoaW4gdGhlIGxpbmUgaXRlbSBzdWJtaXR0ZWQgd2hpY2ggY29udGFpbnMgdGhlIGVycm9yLiBUaGlzIHZhbHVlIGlzIG9taXR0ZWQgd2hlbiB0aGUgZXJyb3Igb2NjdXJzIG91dHNpZGUgb2YgdGhlIGl0ZW0gc3RydWN0dXJlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkVycm9yIGNvZGUgZGV0YWlsaW5nIHByb2Nlc3NpbmcgaXNzdWVzIiBkZWZpbml0aW9uPSJBbiBlcnJvciBjb2RlLCBmcm9tIGEgc3BlY2lmaWVkIGNvZGUgc3lzdGVtLCB3aGljaCBkZXRhaWxzIHdoeSB0aGUgY2xhaW0gY291bGQgbm90IGJlIGFkanVkaWNhdGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVkaWNhdGlvbkVycm9yIiBkZXNjcmlwdGlvbj0iVGhlIGFkanVkaWNhdGlvbiBlcnJvciBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JbnN1cmFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdXJhbmNlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGluc3VyYW5jZSBlbnRyaWVzIGFuZCBwcm92aWRlIGEgc2VxdWVuY2Ugb2YgY292ZXJhZ2VzIHRvIGNvbnZleSBjb29yZGluYXRpb24gb2YgYmVuZWZpdCBvcmRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2NhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNvdmVyYWdlIHRvIGJlIHVzZWQgZm9yIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBmbGFnIHRvIGluZGljYXRlIHRoYXQgdGhpcyBDb3ZlcmFnZSBpcyB0byBiZSB1c2VkIGZvciBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbSB3aGVuIHNldCB0byB0cnVlLiIgY29tbWVudD0iQSBwYXRpZW50IG1heSAod2lsbCkgaGF2ZSBtdWx0aXBsZSBpbnN1cmFuY2UgcG9saWNpZXMgd2hpY2ggcHJvdmlkZSByZWltYnVyc2VtZW50IGZvciBoZWFsdGhjYXJlIHNlcnZpY2VzIGFuZCBwcm9kdWN0cy4gRm9yIGV4YW1wbGUgYSBwZXJzb24gbWF5IGFsc28gYmUgY292ZXJlZCBieSB0aGVpciBzcG91c2UncyBwb2xpY3kgYW5kIGJvdGggYXBwZWFyIGluIHRoZSBsaXN0IChhbmQgbWF5IGJlIGZyb20gdGhlIHNhbWUgaW5zdXJlcikuIFRoaXMgZmxhZyB3aWxsIGJlIHNldCB0byB0cnVlIGZvciBvbmx5IG9uZSBvZiB0aGUgbGlzdGVkIHBvbGljaWVzIGFuZCB0aGF0IHBvbGljeSB3aWxsIGJlIHVzZWQgZm9yIGFkanVkaWNhdGluZyB0aGlzIGNsYWltLiBPdGhlciBjbGFpbXMgd291bGQgYmUgY3JlYXRlZCB0byByZXF1ZXN0IGFkanVkaWNhdGlvbiBhZ2FpbnN0IHRoZSBvdGhlciBsaXN0ZWQgcG9saWNpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY292ZXJhZ2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW5zdXJhbmNlIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIGluc3VyYW5jZSBjYXJkIGxldmVsIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGUgQ292ZXJhZ2UgcmVzb3VyY2UuIFRoZSBjb3ZlcmFnZSBpc3N1aW5nIGluc3VyZXIgd2lsbCB1c2UgdGhlc2UgZGV0YWlscyB0byBsb2NhdGUgdGhlIHBhdGllbnQncyBhY3R1YWwgY292ZXJhZ2Ugd2l0aGluIHRoZSBpbnN1cmVyJ3MgaW5mb3JtYXRpb24gc3lzdGVtLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJ1c2luZXNzQXJyYW5nZW1lbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgcHJvdmlkZXIgY29udHJhY3QgbnVtYmVyIiBkZWZpbml0aW9uPSJBIGJ1c2luZXNzIGFncmVlbWVudCBudW1iZXIgZXN0YWJsaXNoZWQgYmV0d2VlbiB0aGUgcHJvdmlkZXIgYW5kIHRoZSBpbnN1cmVyIGZvciBzcGVjaWFsIGJ1c2luZXNzIHByb2Nlc3NpbmcgcHVycG9zZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2xhaW1SZXNwb25zZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gcmVzdWx0cyIgZGVmaW5pdGlvbj0iVGhlIHJlc3VsdCBvZiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoZSBsaW5lIGl0ZW1zIGZvciB0aGUgQ292ZXJhZ2Ugc3BlY2lmaWVkIGluIHRoaXMgaW5zdXJhbmNlLiIgY29tbWVudD0iTXVzdCBub3QgYmUgc3BlY2lmaWVkIHdoZW4gJ2ZvY2FsPXRydWUnIGZvciB0aGlzIGluc3VyYW5jZS4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbVNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ2xhaW0gaXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSByZWZlcmVuY2UgdGhlIGNsYWltIGl0ZW0gZW50cmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlTnVtYmVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgbm90ZSBudW1iZXJzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVycyBhc3NvY2lhdGVkIHdpdGggbm90ZXMgYmVsb3cgd2hpY2ggYXBwbHkgdG8gdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBZGp1ZGljYXRpb24gZGV0YWlscyIgZGVmaW5pdGlvbj0iSWYgdGhpcyBpdGVtIGlzIGEgZ3JvdXAgdGhlbiB0aGUgdmFsdWVzIGhlcmUgYXJlIGEgc3VtbWFyeSBvZiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoZSBkZXRhaWwgaXRlbXMuIElmIHRoaXMgaXRlbSBpcyBhIHNpbXBsZSBwcm9kdWN0IG9yIHNlcnZpY2UgdGhlbiB0aGlzIGlzIHRoZSByZXN1bHQgb2YgdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0uQWRqdWRpY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldGFpbCIgZGVzY3JpcHRpb249IkFkanVkaWNhdGlvbiBmb3IgY2xhaW0gZGV0YWlscyIgZGVmaW5pdGlvbj0iQSBjbGFpbSBkZXRhaWwuIEVpdGhlciBhIHNpbXBsZSAoYSBwcm9kdWN0IG9yIHNlcnZpY2UpIG9yIGEgJ2dyb3VwJyBvZiBzdWItZGV0YWlscyB3aGljaCBhcmUgc2ltcGxlIGl0ZW1zLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGhpcyBjb2RlIGlzIGZpeGVkIHRvICdzdWJtaXR0ZWQnIHRvIGluZGljYXRlIHRoYXQgdGhlIGFkanVkaWNhdGlvbiByZXN1bHQgaXMgb24gd2hhdCB3YXMgc3VibWl0dGVkLiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIHRoZSBpbmZvcm1hdGlvbiB0eXBlIG9mIHRoaXMgYWRqdWRpY2F0aW9uIHJlY29yZC4gSW5mb3JtYXRpb24gdHlwZXMgbWF5IGluY2x1ZGUgdGhlIHZhbHVlIHN1Ym1pdHRlZCwgbWF4aW11bSB2YWx1ZXMgb3IgcGVyY2VudGFnZXMgYWxsb3dlZCBvciBwYXlhYmxlIHVuZGVyIHRoZSBwbGFuLCBhbW91bnRzIHRoYXQ6IHRoZSBwYXRpZW50IGlzIHJlc3BvbnNpYmxlIGZvciBpbiBhZ2dyZWdhdGUgb3IgcGVydGFpbmluZyB0byB0aGlzIGl0ZW07IGFtb3VudHMgcGFpZCBieSBvdGhlciBjb3ZlcmFnZXM7IGFuZCwgdGhlIGJlbmVmaXQgcGF5YWJsZSBmb3IgdGhpcyBpdGVtLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgY29kZXMgaW5kaWNhdGluZzogQ28tUGF5LCBkZWR1Y3RpYmxlLCBlbGlnaWJsZSwgYmVuZWZpdCwgdGF4LCBldGMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIGFkanVkaWNhdGlvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRXhwbGFuYXRpb24gb2YgYWRqdWRpY2F0aW9uIG91dGNvbWUiIGRlZmluaXRpb249IkEgY29kZSBzdXBwb3J0aW5nIHRoZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBhZGp1ZGljYXRpb24gcmVzdWx0IGFuZCBleHBsYWluaW5nIHZhcmlhbmNlIGZyb20gZXhwZWN0ZWQgYW1vdW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGUgbWF5IGluZGljYXRlIHRoYXQgdGhlIGZ1bmRzIGZvciB0aGlzIGJlbmVmaXQgdHlwZSBoYXZlIGJlZW4gZXhoYXVzdGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVkaWNhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IlRoZSBhZGp1ZGljYXRpb24gcmVhc29uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYW1vdW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1vbmV0YXJ5IGFtb3VudCIgZGVmaW5pdGlvbj0iTW9uZXRhcnkgYW1vdW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2F0ZWdvcnkuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogYW1vdW50IHN1Ym1pdHRlZCwgZWxpZ2libGUgYW1vdW50LCBjby1wYXltZW50LCBhbmQgYmVuZWZpdCBwYXlhYmxlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTm9uLW1vbmV0YXJ5IHZhbHVlIiBkZWZpbml0aW9uPSJBIG5vbi1tb25ldGFyeSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNhdGVnb3J5LiBNdXR1YWxseSBleGNsdXNpdmUgdG8gdGhlIGFtb3VudCBlbGVtZW50IGFib3ZlLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IGVsaWdpYmxlIHBlcmNlbnRhZ2Ugb3IgY28tcGF5bWVudCBwZXJjZW50YWdlLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ2xhaW0gZGV0YWlsIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IHJlZmVyZW5jZSB0aGUgY2xhaW0gZGV0YWlsIGVudHJ5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGVOdW1iZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQXBwbGljYWJsZSBub3RlIG51bWJlcnMiIGRlZmluaXRpb249IlRoZSBudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCBub3RlcyBiZWxvdyB3aGljaCBhcHBseSB0byB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgaXRlbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlsIGxldmVsIGFkanVkaWNhdGlvbiBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0uQWRqdWRpY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbCIgZGVzY3JpcHRpb249IkFkanVkaWNhdGlvbiBmb3IgY2xhaW0gc3ViLWRldGFpbHMiIGRlZmluaXRpb249IkEgc3ViLWRldGFpbCBhZGp1ZGljYXRpb24gb2YgYSBzaW1wbGUgcHJvZHVjdCBvciBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlLkl0ZW0uRGV0YWlsLlN1YkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViRGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbGFpbSBzdWItZGV0YWlsIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IHJlZmVyZW5jZSB0aGUgY2xhaW0gc3ViLWRldGFpbCBlbnRyeS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlTnVtYmVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgbm90ZSBudW1iZXJzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVycyBhc3NvY2lhdGVkIHdpdGggbm90ZXMgYmVsb3cgd2hpY2ggYXBwbHkgdG8gdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IlN1YmRldGFpbCBsZXZlbCBhZGp1ZGljYXRpb24gZGV0YWlscyIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuUGF5bWVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGFydGlhbCBvciBjb21wbGV0ZSBwYXltZW50IiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcmVwcmVzZW50cyBwYXJ0aWFsIG9yIGNvbXBsZXRlIHBheW1lbnQgb2YgdGhlIGJlbmVmaXRzIHBheWFibGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF5bWVudFR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSAocGFydGlhbCwgY29tcGxldGUpIG9mIHRoZSBwYXltZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdXN0bWVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlBheW1lbnQgYWRqdXN0bWVudCBmb3Igbm9uLWNsYWltIGlzc3VlcyIgZGVmaW5pdGlvbj0iVG90YWwgYW1vdW50IG9mIGFsbCBhZGp1c3RtZW50cyB0byB0aGlzIHBheW1lbnQgaW5jbHVkZWQgaW4gdGhpcyB0cmFuc2FjdGlvbiB3aGljaCBhcmUgbm90IHJlbGF0ZWQgdG8gdGhpcyBjbGFpbSdzIGFkanVkaWNhdGlvbi4iIGNvbW1lbnQ9Ikluc3VyZXJzIHdpbGwgZGVkdWN0IGFtb3VudHMgb3dpbmcgZnJvbSB0aGUgcHJvdmlkZXIgKGFkanVzdG1lbnQpLCBzdWNoIGFzIGEgcHJpb3Igb3ZlcnBheW1lbnQsIGZyb20gdGhlIGFtb3VudCBvd2luZyB0byB0aGUgcHJvdmlkZXIgKGJlbmVmaXRzIHBheWFibGUpIHdoZW4gcGF5bWVudCBpcyBtYWRlIHRvIHRoZSBwcm92aWRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1c3RtZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHBsYW5hdGlvbiBmb3IgdGhlIGFkanVzdG1lbnQiIGRlZmluaXRpb249IlJlYXNvbiBmb3IgdGhlIHBheW1lbnQgYWRqdXN0bWVudC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQYXltZW50QWRqdXN0bWVudFJlYXNvbiIgZGVzY3JpcHRpb249IlBheW1lbnQgQWRqdXN0bWVudCByZWFzb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXhwZWN0ZWQgZGF0ZSBvZiBwYXltZW50IiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgZGF0ZSB0aGUgcGF5bWVudCB3aWxsIGJlIGlzc3VlZCBvciB0aGUgYWN0dWFsIGlzc3VlIGRhdGUgb2YgcGF5bWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXlhYmxlIGFtb3VudCBhZnRlciBhZGp1c3RtZW50IiBkZWZpbml0aW9uPSJCZW5lZml0cyBwYXlhYmxlIGxlc3MgYW55IHBheW1lbnQgYWRqdXN0bWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciB0aGUgcGF5bWVudCIgZGVmaW5pdGlvbj0iSXNzdWVyJ3MgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBwYXltZW50IGluc3RydW1lbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogRUZUIG51bWJlciBvciBjaGVjayBudW1iZXIuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlLlByb2Nlc3NOb3RlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJudW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOb3RlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGEgbm90ZSBlbnRyeS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk5vdGVUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImRpc3BsYXkgfCBwcmludCB8IHByaW50b3BlciIgZGVmaW5pdGlvbj0iVGhlIGJ1c2luZXNzIHB1cnBvc2Ugb2YgdGhlIG5vdGUgdGV4dC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJOb3RlVHlwZSIgZGVzY3JpcHRpb249IlRoZSBwcmVzZW50YXRpb24gdHlwZXMgb2Ygbm90ZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTm90ZSBleHBsYW5hdG9yeSB0ZXh0IiBkZWZpbml0aW9uPSJUaGUgZXhwbGFuYXRpb24gb3IgZGVzY3JpcHRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9jZXNzaW5nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMYW5ndWFnZSBvZiB0aGUgdGV4dCIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGRlZmluZSB0aGUgbGFuZ3VhZ2UgdXNlZCBpbiB0aGUgdGV4dCBvZiB0aGUgbm90ZS4iIGNvbW1lbnQ9Ik9ubHkgcmVxdWlyZWQgaWYgdGhlIGxhbmd1YWdlIGlzIGRpZmZlcmVudCBmcm9tIHRoZSByZXNvdXJjZSBsYW5ndWFnZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMYW5ndWFnZSIgZGVzY3JpcHRpb249IkEgaHVtYW4gbGFuZ3VhZ2UuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5Ub3RhbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgYWRqdWRpY2F0aW9uIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gaW5kaWNhdGUgdGhlIGluZm9ybWF0aW9uIHR5cGUgb2YgdGhpcyBhZGp1ZGljYXRpb24gcmVjb3JkLiBJbmZvcm1hdGlvbiB0eXBlcyBtYXkgaW5jbHVkZTogdGhlIHZhbHVlIHN1Ym1pdHRlZCwgbWF4aW11bSB2YWx1ZXMgb3IgcGVyY2VudGFnZXMgYWxsb3dlZCBvciBwYXlhYmxlIHVuZGVyIHRoZSBwbGFuLCBhbW91bnRzIHRoYXQgdGhlIHBhdGllbnQgaXMgcmVzcG9uc2libGUgZm9yIGluIGFnZ3JlZ2F0ZSBvciBwZXJ0YWluaW5nIHRvIHRoaXMgaXRlbSwgYW1vdW50cyBwYWlkIGJ5IG90aGVyIGNvdmVyYWdlcywgYW5kIHRoZSBiZW5lZml0IHBheWFibGUgZm9yIHRoaXMgaXRlbS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGNvZGVzIGluZGljYXRpbmc6IENvLVBheSwgZGVkdWN0aWJsZSwgZWxpZ2libGUsIGJlbmVmaXQsIHRheCwgZXRjLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IlRoZSBhZGp1ZGljYXRpb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGaW5hbmNpYWwgdG90YWwgZm9yIHRoZSBjYXRlZ29yeSIgZGVmaW5pdGlvbj0iTW9uZXRhcnkgdG90YWwgYW1vdW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2F0ZWdvcnkuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNvbW11bmljYXRpb24iIGxhYmVsPSJRSUNvcmUgQ29tbXVuaWNhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idG9waWMiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJVbmlxdWUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb21tdW5pY2F0aW9uIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ29tbXVuaWNhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQW4gb3JkZXIsIHByb3Bvc2FsIG9yIHBsYW4gZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtdXN0IHBvaW50IHRvIHNvbWUgc29ydCBvZiBhICdSZXF1ZXN0JyByZXNvdXJjZSwgc3VjaCBhcyBDYXJlUGxhbiwgQ29tbXVuaWNhdGlvblJlcXVlc3QsIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgZXRjLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24iIGRlZmluaXRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5SZXNwb25zZVRvIiBkZXNjcmlwdGlvbj0iUmVwbHkgdG8iIGRlZmluaXRpb249IlByaW9yIGNvbW11bmljYXRpb24gdGhhdCB0aGlzIGNvbW11bmljYXRpb24gaXMgaW4gcmVzcG9uc2UgdG8uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgcHJlcGFyYXRpb24gfCBpbi1wcm9ncmVzcyB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHRyYW5zbWlzc2lvbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBhYm9ydGVkIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgY29tbXVuaWNhdGlvbiBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uTm90RG9uZVJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciB0aGUgcmVhc29uIHdoeSBhIGNvbW11bmljYXRpb24gZGlkIG5vdCBoYXBwZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgY29udmV5ZWQgc3VjaCBhcyBhbGVydCwgbm90aWZpY2F0aW9uLCByZW1pbmRlciwgaW5zdHJ1Y3Rpb24sIGV0Yy4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgY29tbXVuaWNhdGlvbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgY29tbXVuaWNhdGlvbnMgc3VjaCBhcyBhbGVydHMsIGluc3RydWN0aW9ucywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29tbXVuaWNhdGlvblByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iQ2hhcmFjdGVyaXplcyBob3cgcXVpY2tseSB0aGUgcGxhbm5lZCBvciBpbiBwcm9ncmVzcyBjb21tdW5pY2F0aW9uIG11c3QgYmUgYWRkcmVzc2VkLiBJbmNsdWRlcyBjb25jZXB0cyBzdWNoIGFzIHN0YXQsIHVyZ2VudCwgcm91dGluZS4iIGNvbW1lbnQ9IlVzZWQgdG8gcHJpb3JpdGl6ZSB3b3JrZmxvdyAoc3VjaCBhcyB3aGljaCBjb21tdW5pY2F0aW9uIHRvIHJlYWQgZmlyc3QpIHdoZW4gdGhlIGNvbW11bmljYXRpb24gaXMgcGxhbm5lZCBvciBpbiBwcm9ncmVzcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJDb2RlcyBpbmRpY2F0aW5nIHRoZSByZWxhdGl2ZSBpbXBvcnRhbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpdW0iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBIGNoYW5uZWwgb2YgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBjaGFubmVsIHRoYXQgd2FzIHVzZWQgZm9yIHRoaXMgY29tbXVuaWNhdGlvbiAoZS5nLiBlbWFpbCwgZmF4KS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvbk1lZGl1bSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBjb21tdW5pY2F0aW9uIG1lZGl1bXMgc3VjaCBhcyBwaG9uZSwgZmF4LCBlbWFpbCwgaW4gcGVyc29uLCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBGb2N1cyBvZiBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCB0aGF0IHdhcyB0aGUgZm9jdXMgb2YgdGhpcyBjb21tdW5pY2F0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRvcGljIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRGVzY3JpcHRpb24gb2YgdGhlIHB1cnBvc2UvY29udGVudCIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpb24gb2YgdGhlIHB1cnBvc2UvY29udGVudCwgc2ltaWxhciB0byBhIHN1YmplY3QgbGluZSBpbiBhbiBlbWFpbC4iIGNvbW1lbnQ9IkNvbW11bmljYXRpb24udG9waWMudGV4dCBjYW4gYmUgdXNlZCB3aXRob3V0IGFueSBjb2RpbmdzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWJvdXQiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZXMgdGhhdCBwZXJ0YWluIHRvIHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gYW5kIHRvIHdoaWNoIHRoaXMgY29tbXVuaWNhdGlvbiBzaG91bGQgYmUgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IkRvbid0IHVzZSBDb21tdW5pY2F0aW9uLmFib3V0IGVsZW1lbnQgd2hlbiBhIG1vcmUgc3BlY2lmaWMgZWxlbWVudCBleGlzdHMsIHN1Y2ggYXMgYmFzZWRPbiBvciByZWFzb25SZWZlcmVuY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29tbXVuaWNhdGlvbiB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGVuIHNlbnQiIGRlZmluaXRpb249IlRoZSB0aW1lIHdoZW4gdGhpcyBjb21tdW5pY2F0aW9uIHdhcyBzZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGVuIHJlY2VpdmVkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoaXMgY29tbXVuaWNhdGlvbiBhcnJpdmVkIGF0IHRoZSBkZXN0aW5hdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNpcGllbnQiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgTWVzc2FnZSByZWNpcGllbnQiIGRlZmluaXRpb249IlRoZSBlbnRpdHkgKGUuZy4gcGVyc29uLCBvcmdhbml6YXRpb24sIGNsaW5pY2FsIGluZm9ybWF0aW9uIHN5c3RlbSwgY2FyZSB0ZWFtIG9yIGRldmljZSkgd2hpY2ggd2FzIHRoZSB0YXJnZXQgb2YgdGhlIGNvbW11bmljYXRpb24uIElmIHJlY2VpcHRzIG5lZWQgdG8gYmUgdHJhY2tlZCBieSBhbiBpbmRpdmlkdWFsLCBhIHNlcGFyYXRlIHJlc291cmNlIGluc3RhbmNlIHdpbGwgbmVlZCB0byBiZSBjcmVhdGVkIGZvciBlYWNoIHJlY2lwaWVudC4gIE11bHRpcGxlIHJlY2lwaWVudCBjb21tdW5pY2F0aW9ucyBhcmUgaW50ZW5kZWQgd2hlcmUgZWl0aGVyIHJlY2VpcHRzIGFyZSBub3QgdHJhY2tlZCAoZS5nLiBhIG1hc3MgbWFpbC1vdXQpIG9yIGEgcmVjZWlwdCBpcyBjYXB0dXJlZCBpbiBhZ2dyZWdhdGUgKGFsbCBlbWFpbHMgY29uZmlybWVkIHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB0aW1lKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZW5kZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1lc3NhZ2Ugc2VuZGVyIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIG9yIGRldmljZSkgd2hpY2ggd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIGNvbW11bmljYXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGljYXRpb24gZm9yIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIGNvbW11bmljYXRpb24uIiBjb21tZW50PSJUZXh0dWFsIHJlYXNvbnMgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHJlYXNvbkNvZGUudGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkZXNjcmliaW5nIHJlYXNvbnMgZm9yIHRoZSBvY2N1cnJlbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB3YXMgY29tbXVuaWNhdGlvbiBkb25lPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIGNvbW11bmljYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF5bG9hZCIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgcGF5bG9hZCIgZGVmaW5pdGlvbj0iVGV4dCwgYXR0YWNobWVudChzKSwgb3IgcmVzb3VyY2UocykgdGhhdCB3YXMgY29tbXVuaWNhdGVkIHRvIHRoZSByZWNpcGllbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uLlBheWxvYWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIGNvbW11bmljYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgbm90ZXMgb3IgY29tbWVudGFyeSBhYm91dCB0aGUgY29tbXVuaWNhdGlvbiBieSB0aGUgc2VuZGVyLCByZWNlaXZlciBvciBvdGhlciBpbnRlcmVzdGVkIHBhcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29tbXVuaWNhdGlvbi5QYXlsb2FkIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZW50IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgcGFydCBjb250ZW50IiBkZWZpbml0aW9uPSJBIGNvbW11bmljYXRlZCBjb250ZW50IChvciBmb3IgbXVsdGktcGFydCBjb21tdW5pY2F0aW9ucywgb25lIHBvcnRpb24gb2YgdGhlIGNvbW11bmljYXRpb24pLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkF0dGFjaG1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25Ob3REb25lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb21tdW5pY2F0aW9ubm90ZG9uZSIgbGFiZWw9IlFJQ29yZSBDb21tdW5pY2F0aW9uIE5vdCBEb25lIiB0YXJnZXQ9IkNvbW11bmljYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InRvcGljIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlY29yZGVkIGRhdGUgb2YgdGhlIGV2ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJVbmlxdWUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb21tdW5pY2F0aW9uIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ29tbXVuaWNhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQW4gb3JkZXIsIHByb3Bvc2FsIG9yIHBsYW4gZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtdXN0IHBvaW50IHRvIHNvbWUgc29ydCBvZiBhICdSZXF1ZXN0JyByZXNvdXJjZSwgc3VjaCBhcyBDYXJlUGxhbiwgQ29tbXVuaWNhdGlvblJlcXVlc3QsIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgZXRjLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24iIGRlZmluaXRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5SZXNwb25zZVRvIiBkZXNjcmlwdGlvbj0iUmVwbHkgdG8iIGRlZmluaXRpb249IlByaW9yIGNvbW11bmljYXRpb24gdGhhdCB0aGlzIGNvbW11bmljYXRpb24gaXMgaW4gcmVzcG9uc2UgdG8uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIHByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCBub3QtZG9uZSB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHRyYW5zbWlzc2lvbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBhYm9ydGVkIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgY29tbXVuaWNhdGlvbiBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBjb21tdW5pY2F0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgY29udmV5ZWQgc3VjaCBhcyBhbGVydCwgbm90aWZpY2F0aW9uLCByZW1pbmRlciwgaW5zdHJ1Y3Rpb24sIGV0Yy4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgY29tbXVuaWNhdGlvbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgY29tbXVuaWNhdGlvbnMgc3VjaCBhcyBhbGVydHMsIGluc3RydWN0aW9ucywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29tbXVuaWNhdGlvblByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iQ2hhcmFjdGVyaXplcyBob3cgcXVpY2tseSB0aGUgcGxhbm5lZCBvciBpbiBwcm9ncmVzcyBjb21tdW5pY2F0aW9uIG11c3QgYmUgYWRkcmVzc2VkLiBJbmNsdWRlcyBjb25jZXB0cyBzdWNoIGFzIHN0YXQsIHVyZ2VudCwgcm91dGluZS4iIGNvbW1lbnQ9IlVzZWQgdG8gcHJpb3JpdGl6ZSB3b3JrZmxvdyAoc3VjaCBhcyB3aGljaCBjb21tdW5pY2F0aW9uIHRvIHJlYWQgZmlyc3QpIHdoZW4gdGhlIGNvbW11bmljYXRpb24gaXMgcGxhbm5lZCBvciBpbiBwcm9ncmVzcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJDb2RlcyBpbmRpY2F0aW5nIHRoZSByZWxhdGl2ZSBpbXBvcnRhbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpdW0iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBIGNoYW5uZWwgb2YgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBjaGFubmVsIHRoYXQgd2FzIHVzZWQgZm9yIHRoaXMgY29tbXVuaWNhdGlvbiAoZS5nLiBlbWFpbCwgZmF4KS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvbk1lZGl1bSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBjb21tdW5pY2F0aW9uIG1lZGl1bXMgc3VjaCBhcyBwaG9uZSwgZmF4LCBlbWFpbCwgaW4gcGVyc29uLCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBGb2N1cyBvZiBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCB0aGF0IHdhcyB0aGUgZm9jdXMgb2YgdGhpcyBjb21tdW5pY2F0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRvcGljIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQudG9waWMuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlL2NvbnRlbnQiIGRlZmluaXRpb249IkRlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlL2NvbnRlbnQsIHNpbWlsYXIgdG8gYSBzdWJqZWN0IGxpbmUgaW4gYW4gZW1haWwuIiBjb21tZW50PSJDb21tdW5pY2F0aW9uLnRvcGljLnRleHQgY2FuIGJlIHVzZWQgd2l0aG91dCBhbnkgY29kaW5ncy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblRvcGljIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyB0aGUgcHVycG9zZSBvciBjb250ZW50IG9mIHRoZSBjb21tdW5pY2F0aW9uLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhYm91dCIgZGVzY3JpcHRpb249IlJlc291cmNlcyB0aGF0IHBlcnRhaW4gdG8gdGhpcyBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJPdGhlciByZXNvdXJjZXMgdGhhdCBwZXJ0YWluIHRvIHRoaXMgY29tbXVuaWNhdGlvbiBhbmQgdG8gd2hpY2ggdGhpcyBjb21tdW5pY2F0aW9uIHNob3VsZCBiZSBhc3NvY2lhdGVkLiIgY29tbWVudD0iRG9uJ3QgdXNlIENvbW11bmljYXRpb24uYWJvdXQgZWxlbWVudCB3aGVuIGEgbW9yZSBzcGVjaWZpYyBlbGVtZW50IGV4aXN0cywgc3VjaCBhcyBiYXNlZE9uIG9yIHJlYXNvblJlZmVyZW5jZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb21tdW5pY2F0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBzZW50IiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoaXMgY29tbXVuaWNhdGlvbiB3YXMgc2VudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNlaXZlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlY2VpdmVkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoaXMgY29tbXVuaWNhdGlvbiBhcnJpdmVkIGF0IHRoZSBkZXN0aW5hdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNpcGllbnQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHJlY2lwaWVudCIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBjYXJlIHRlYW0gb3IgZGV2aWNlKSB3aGljaCB3YXMgdGhlIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4gSWYgcmVjZWlwdHMgbmVlZCB0byBiZSB0cmFja2VkIGJ5IGFuIGluZGl2aWR1YWwsIGEgc2VwYXJhdGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2lsbCBuZWVkIHRvIGJlIGNyZWF0ZWQgZm9yIGVhY2ggcmVjaXBpZW50LiAgTXVsdGlwbGUgcmVjaXBpZW50IGNvbW11bmljYXRpb25zIGFyZSBpbnRlbmRlZCB3aGVyZSBlaXRoZXIgcmVjZWlwdHMgYXJlIG5vdCB0cmFja2VkIChlLmcuIGEgbWFzcyBtYWlsLW91dCkgb3IgYSByZWNlaXB0IGlzIGNhcHR1cmVkIGluIGFnZ3JlZ2F0ZSAoYWxsIGVtYWlscyBjb25maXJtZWQgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHRpbWUpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlbmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHNlbmRlciIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBvciBkZXZpY2UpIHdoaWNoIHdhcyB0aGUgc291cmNlIG9mIHRoZSBjb21tdW5pY2F0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0aW9uIGZvciBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSBjb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGV4dHVhbCByZWFzb25zIGNhbiBiZSBjYXB0dXJlZCB1c2luZyByZWFzb25Db2RlLnRleHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZGVzY3JpYmluZyByZWFzb25zIGZvciB0aGUgb2NjdXJyZW5jZSBvZiBhIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIGNvbW11bmljYXRpb24gZG9uZT8iIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlIHdob3NlIGV4aXN0ZW5jZSBqdXN0aWZpZXMgdGhpcyBjb21tdW5pY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBheWxvYWQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHBheWxvYWQiIGRlZmluaXRpb249IlRleHQsIGF0dGFjaG1lbnQocyksIG9yIHJlc291cmNlKHMpIHRoYXQgd2FzIGNvbW11bmljYXRlZCB0byB0aGUgcmVjaXBpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29tbXVuaWNhdGlvbi5QYXlsb2FkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBtYWRlIGFib3V0IHRoZSBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIG5vdGVzIG9yIGNvbW1lbnRhcnkgYWJvdXQgdGhlIGNvbW11bmljYXRpb24gYnkgdGhlIHNlbmRlciwgcmVjZWl2ZXIgb3Igb3RoZXIgaW50ZXJlc3RlZCBwYXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25Qcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY29tbXVuaWNhdGlvbnJlcXVlc3QiIGxhYmVsPSJRSUNvcmUgQ29tbXVuaWNhdGlvblJlcXVlc3QiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNhdGVnb3J5IiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgY29tbXVuaWNhdGlvbiByZXF1ZXN0IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiBvciBwcm9wb3NhbCIgZGVmaW5pdGlvbj0iQSBwbGFuIG9yIHByb3Bvc2FsIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iUmVxdWVzdChzKSByZXBsYWNlZCBieSB0aGlzIHJlcXVlc3QiIGRlZmluaXRpb249IkNvbXBsZXRlZCBvciB0ZXJtaW5hdGVkIHJlcXVlc3Qocykgd2hvc2UgZnVuY3Rpb24gaXMgdGFrZW4gYnkgdGhpcyBuZXcgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoZSByZXBsYWNlbWVudCBjb3VsZCBiZSBiZWNhdXNlIHRoZSBpbml0aWFsIHJlcXVlc3Qgd2FzIGltbWVkaWF0ZWx5IHJlamVjdGVkIChkdWUgdG8gYW4gaXNzdWUpIG9yIGJlY2F1c2UgdGhlIHByZXZpb3VzIHJlcXVlc3Qgd2FzIGNvbXBsZXRlZCwgYnV0IHRoZSBuZWVkIGZvciB0aGUgYWN0aW9uIGRlc2NyaWJlZCBieSB0aGUgcmVxdWVzdCByZW1haW5zIG9uZ29pbmcuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCByZXF1ZXN0cyB0aGF0IHdlcmUgYXV0aG9yaXplZCBtb3JlIG9yIGxlc3Mgc2ltdWx0YW5lb3VzbHkgYnkgYSBzaW5nbGUgYXV0aG9yLCByZXByZXNlbnRpbmcgdGhlIGlkZW50aWZpZXIgb2YgdGhlIHJlcXVpc2l0aW9uLCBwcmVzY3JpcHRpb24gb3Igc2ltaWxhciBmb3JtLiIgY29tbWVudD0iUmVxdWVzdHMgYXJlIGxpbmtlZCBlaXRoZXIgYnkgYSAmcXVvdDtiYXNlZE9uJnF1b3Q7IHJlbGF0aW9uc2hpcCAoaS5lLiBvbmUgcmVxdWVzdCBpcyBmdWxmaWxsaW5nIGFub3RoZXIpIG9yIGJ5IGhhdmluZyBhIGNvbW1vbiByZXF1aXNpdGlvbi4gIFJlcXVlc3RzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIHNhbWUgcmVxdWlzaXRpb24gYXJlIGdlbmVyYWxseSB0cmVhdGVkIGluZGVwZW5kZW50bHkgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgY2hhbmdpbmcgdGhlaXIgc3RhdGUgb3IgbWFpbnRhaW5pbmcgdGhlbSBhZnRlciBpbml0aWFsIGNyZWF0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgZHJhZnQgfCBhY3RpdmUgfCBvbi1ob2xkIHwgcmV2b2tlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBwcm9wb3NhbCBvciBvcmRlci4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBDb21tdW5pY2F0aW9uUmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG9ubHkgdXNlZCBmb3IgJnF1b3Q7ZXhjZXB0aW9uJnF1b3Q7IHN0YXR1c2VzIHN1Y2ggYXMgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2NhbmNlbGxlZCZxdW90Oy4gIFRoZSByZWFzb24gd2h5IHRoZSBDb21tdW5pY2F0aW9uUmVxdWVzdCB3YXMgY3JlYXRlZCBhdCBhbGwgaXMgY2FwdHVyZWQgaW4gcmVhc29uQ29kZSwgbm90IGhlcmUuICBbZGlzdGluY3QgcmVhc29uIGNvZGVzIGZvciBkaWZmZXJlbnQgc3RhdHVzZXMgY2FuIGJlIGVuZm9yY2VkIHVzaW5nIGludmFyaWFudHMgaWYgdGhleSBhcmUgdW5pdmVyc2FsIGJpbmRpbmdzXS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1c1JlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIGEgcmVxdWVzdC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgdG8gYmUgc2VudCBzdWNoIGFzIGFsZXJ0LCBub3RpZmljYXRpb24sIHJlbWluZGVyLCBpbnN0cnVjdGlvbiwgZXRjLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4ZXMgb2YgY2F0ZWdvcml6YXRpb24gYW5kIG9uZSBjb21tdW5pY2F0aW9uIHJlcXVlc3QgbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25Qcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkNoYXJhY3Rlcml6ZXMgaG93IHF1aWNrbHkgdGhlIHByb3Bvc2VkIGFjdCBtdXN0IGJlIGluaXRpYXRlZC4gSW5jbHVkZXMgY29uY2VwdHMgc3VjaCBhcyBzdGF0LCB1cmdlbnQsIHJvdXRpbmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblByaW9yaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgcmVsYXRpdmUgaW1wb3J0YW5jZSBvZiBhIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVHJ1ZSBpZiByZXF1ZXN0IGlzIHByb2hpYml0aW5nIGFjdGlvbiIgZGVmaW5pdGlvbj0iSWYgdHJ1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgQ29tbXVuaWNhdGlvblJlcXVlc3QgaXMgYXNraW5nIGZvciB0aGUgc3BlY2lmaWVkIGFjdGlvbiB0byAqbm90KiBvY2N1ci4iIGNvbW1lbnQ9IlRoZSBhdHRyaWJ1dGVzIHByb3ZpZGVkIHdpdGggdGhlIHJlcXVlc3QgcXVhbGlmeSB3aGF0IGlzIG5vdCB0byBiZSBkb25lLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGl1bSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkEgY2hhbm5lbCBvZiBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBIGNoYW5uZWwgdGhhdCB3YXMgdXNlZCBmb3IgdGhpcyBjb21tdW5pY2F0aW9uIChlLmcuIGVtYWlsLCBmYXgpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uTWVkaXVtIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGNvbW11bmljYXRpb24gbWVkaXVtcyBzdWNoIGFzIHBob25lLCBmYXgsIGVtYWlsLCBpbiBwZXJzb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEZvY3VzIG9mIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IG9yIGdyb3VwIHRoYXQgaXMgdGhlIGZvY3VzIG9mIHRoaXMgY29tbXVuaWNhdGlvbiByZXF1ZXN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFib3V0IiBkZXNjcmlwdGlvbj0iUmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdCIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdCBhbmQgdG8gd2hpY2ggdGhpcyBjb21tdW5pY2F0aW9uIHJlcXVlc3Qgc2hvdWxkIGJlIGFzc29jaWF0ZWQuIiBjb21tZW50PSJEb24ndCB1c2UgQ29tbXVuaWNhdGlvblJlcXVlc3QuYWJvdXQgZWxlbWVudCB3aGVuIGEgbW9yZSBzcGVjaWZpYyBlbGVtZW50IGV4aXN0cywgc3VjaCBhcyBiYXNlZE9uLCByZWFzb25SZWZlcmVuY2UsIG9yIHJlcGxhY2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb21tdW5pY2F0aW9uUmVxdWVzdCB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXlsb2FkIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXlsb2FkIiBkZWZpbml0aW9uPSJUZXh0LCBhdHRhY2htZW50KHMpLCBvciByZXNvdXJjZShzKSB0byBiZSBjb21tdW5pY2F0ZWQgdG8gdGhlIHJlY2lwaWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25SZXF1ZXN0LlBheWxvYWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIHNjaGVkdWxlZCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgd2hlbiB0aGlzIGNvbW11bmljYXRpb24gaXMgdG8gb2NjdXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUiIGRlZmluaXRpb249IkZvciBkcmFmdCByZXF1ZXN0cywgaW5kaWNhdGVzIHRoZSBkYXRlIG9mIGluaXRpYWwgY3JlYXRpb24uICBGb3IgcmVxdWVzdHMgd2l0aCBvdGhlciBzdGF0dXNlcywgaW5kaWNhdGVzIHRoZSBkYXRlIG9mIGFjdGl2YXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3Rpbmcgc2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSwgaW5kaXZpZHVhbCwgb3Igb3JnYW5pemF0aW9uIHdobyBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjaXBpZW50IiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1lc3NhZ2UgcmVjaXBpZW50IiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIGRldmljZSwgZ3JvdXAsIG9yIGNhcmUgdGVhbSkgd2hpY2ggaXMgdGhlIGludGVuZGVkIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZW5kZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1lc3NhZ2Ugc2VuZGVyIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIG9yIGRldmljZSkgd2hpY2ggaXMgdG8gYmUgdGhlIHNvdXJjZSBvZiB0aGUgY29tbXVuaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGlzIGNvbW11bmljYXRpb24gbmVlZGVkPyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoeSB0aGUgcmVxdWVzdCBpcyBiZWluZyBtYWRlIGluIGNvZGVkIG9yIHRleHR1YWwgZm9ybS4iIGNvbW1lbnQ9IlRleHR1YWwgcmVhc29ucyBjYW4gYmUgY2FwdHVyZWQgdXNpbmcgcmVhc29uQ29kZS50ZXh0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGRlc2NyaWJpbmcgcmVhc29ucyBmb3IgdGhlIG9jY3VycmVuY2Ugb2YgYSBjb21tdW5pY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IGlzIGNvbW11bmljYXRpb24gbmVlZGVkPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIHJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgY29tbXVuaWNhdGlvbiByZXF1ZXN0IiBkZWZpbml0aW9uPSJDb21tZW50cyBtYWRlIGFib3V0IHRoZSByZXF1ZXN0IGJ5IHRoZSByZXF1ZXN0ZXIsIHNlbmRlciwgcmVjaXBpZW50LCBzdWJqZWN0IG9yIG90aGVyIHBhcnRpY2lwYW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVjaXBpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25SZXF1ZXN0LlBheWxvYWQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRlbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXJ0IGNvbnRlbnQiIGRlZmluaXRpb249IlRoZSBjb21tdW5pY2F0ZWQgY29udGVudCAob3IgZm9yIG11bHRpLXBhcnQgY29tbXVuaWNhdGlvbnMsIG9uZSBwb3J0aW9uIG9mIHRoZSBjb21tdW5pY2F0aW9uKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb21tdW5pY2F0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbmRpdGlvbi5FdmlkZW5jZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1hbmlmZXN0YXRpb24vc3ltcHRvbSIgZGVmaW5pdGlvbj0iQSBtYW5pZmVzdGF0aW9uIG9yIHN5bXB0b20gdGhhdCBsZWQgdG8gdGhlIHJlY29yZGluZyBvZiB0aGlzIGNvbmRpdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWFuaWZlc3RhdGlvbk9yU3ltcHRvbSIgZGVzY3JpcHRpb249IkNvZGVzIHRoYXQgZGVzY3JpYmUgdGhlIG1hbmlmZXN0YXRpb24gb3Igc3ltcHRvbXMgb2YgYSBjb25kaXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIGZvdW5kIGVsc2V3aGVyZSIgZGVmaW5pdGlvbj0iTGlua3MgdG8gb3RoZXIgcmVsZXZhbnQgaW5mb3JtYXRpb24sIGluY2x1ZGluZyBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbmRpdGlvbi5TdGFnZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VtbWFyeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2ltcGxlIHN1bW1hcnkgKGRpc2Vhc2Ugc3BlY2lmaWMpIiBkZWZpbml0aW9uPSJBIHNpbXBsZSBzdW1tYXJ5IG9mIHRoZSBzdGFnZSBzdWNoIGFzICZxdW90O1N0YWdlIDMmcXVvdDsuIFRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzdGFnZSBpcyBkaXNlYXNlLXNwZWNpZmljLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbmRpdGlvblN0YWdlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBjb25kaXRpb24gc3RhZ2VzIChlLmcuIENhbmNlciBzdGFnZXMpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzZXNzbWVudCIgZGVzY3JpcHRpb249IkZvcm1hbCByZWNvcmQgb2YgYXNzZXNzbWVudCIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIHRvIGEgZm9ybWFsIHJlY29yZCBvZiB0aGUgZXZpZGVuY2Ugb24gd2hpY2ggdGhlIHN0YWdpbmcgYXNzZXNzbWVudCBpcyBiYXNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJLaW5kIG9mIHN0YWdpbmciIGRlZmluaXRpb249IlRoZSBraW5kIG9mIHN0YWdpbmcsIHN1Y2ggYXMgcGF0aG9sb2dpY2FsIG9yIGNsaW5pY2FsIHN0YWdpbmcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uU3RhZ2VUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyB0aGUga2luZCBvZiBjb25kaXRpb24gc3RhZ2luZyAoZS5nLiBjbGluaWNhbCBvciBwYXRob2xvZ2ljYWwpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXMiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNvbmRpdGlvbi1lbmNvdW50ZXItZGlhZ25vc2lzIiBsYWJlbD0iUUlDb3JlIENvbmRpdGlvbiBFbmNvdW50ZXIgRGlhZ25vc2lzIiB0YXJnZXQ9IkNvbmRpdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzZXJ0ZWREYXRlIiBlbGVtZW50VHlwZT0iUUlDb3JlLmFzc2VydGVkRGF0ZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9jb25kaXRpb24tYXNzZXJ0ZWREYXRlJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIERhdGUgdGhlIGNvbmRpdGlvbiB3YXMgZmlyc3QgYXNzZXJ0ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSBleGlzdGVuY2Ugb2YgdGhlIENvbmRpdGlvbiB3YXMgZmlyc3QgYXNzZXJ0ZWQgb3IgYWNrbm93bGVkZ2VkLiIgY29tbWVudD0iVGhlIGFzc2VydGVkRGF0ZSBpcyBpbiB0aGUgY29udGV4dCBvZiB0aGUgcmVjb3JkaW5nIHByYWN0aXRpb25lciBhbmQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSByZWNvcmRlZERhdGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNvbmRpdGlvbiBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2xpbmljYWxTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgYWN0aXZlIHwgcmVjdXJyZW5jZSB8IHJlbGFwc2UgfCBpbmFjdGl2ZSB8IHJlbWlzc2lvbiB8IHJlc29sdmVkIiBkZWZpbml0aW9uPSJUaGUgY2xpbmljYWwgc3RhdHVzIG9mIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgZGF0YSB0eXBlIGlzIENvZGVhYmxlQ29uY2VwdCBiZWNhdXNlIGNsaW5pY2FsU3RhdHVzIGhhcyBzb21lIGNsaW5pY2FsIGp1ZGdtZW50IGludm9sdmVkLCBzdWNoIHRoYXQgdGhlcmUgbWlnaHQgbmVlZCB0byBiZSBtb3JlIHNwZWNpZmljaXR5IHRoYW4gdGhlIHJlcXVpcmVkIEZISVIgdmFsdWUgc2V0IGFsbG93cy4gRm9yIGV4YW1wbGUsIGEgU05PTUVEIGNvZGluZyBtaWdodCBhbGxvdyBmb3IgYWRkaXRpb25hbCBzcGVjaWZpY2l0eS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZlcmlmaWNhdGlvblN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSB1bmNvbmZpcm1lZCB8IHByb3Zpc2lvbmFsIHwgZGlmZmVyZW50aWFsIHwgY29uZmlybWVkIHwgcmVmdXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSB2ZXJpZmljYXRpb24gc3RhdHVzIHRvIHN1cHBvcnQgdGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0idmVyaWZpY2F0aW9uU3RhdHVzIGlzIG5vdCByZXF1aXJlZC4gIEZvciBleGFtcGxlLCB3aGVuIGEgcGF0aWVudCBoYXMgYWJkb21pbmFsIHBhaW4gaW4gdGhlIEVELCB0aGVyZSBpcyBub3QgbGlrZWx5IGdvaW5nIHRvIGJlIGEgdmVyaWZpY2F0aW9uIHN0YXR1cy4mIzEwO1RoZSBkYXRhIHR5cGUgaXMgQ29kZWFibGVDb25jZXB0IGJlY2F1c2UgdmVyaWZpY2F0aW9uU3RhdHVzIGhhcyBzb21lIGNsaW5pY2FsIGp1ZGdtZW50IGludm9sdmVkLCBzdWNoIHRoYXQgdGhlcmUgbWlnaHQgbmVlZCB0byBiZSBtb3JlIHNwZWNpZmljaXR5IHRoYW4gdGhlIHJlcXVpcmVkIEZISVIgdmFsdWUgc2V0IGFsbG93cy4gRm9yIGV4YW1wbGUsIGEgU05PTUVEIGNvZGluZyBtaWdodCBhbGxvdyBmb3IgYWRkaXRpb25hbCBzcGVjaWZpY2l0eS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBjYXRlZ29yeSBjb2RlcyIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGNhdGVnb3JpemF0aW9uIGlzIG9mdGVuIGhpZ2hseSBjb250ZXh0dWFsIGFuZCBtYXkgYXBwZWFyIHBvb3JseSBkaWZmZXJlbnRpYXRlZCBvciBub3QgdmVyeSB1c2VmdWwgaW4gb3RoZXIgY29udGV4dHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgZW5jb3VudGVyLWRpYWdub3NpcyIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGNhdGVnb3JpemF0aW9uIGlzIG9mdGVuIGhpZ2hseSBjb250ZXh0dWFsIGFuZCBtYXkgYXBwZWFyIHBvb3JseSBkaWZmZXJlbnRpYXRlZCBvciBub3QgdmVyeSB1c2VmdWwgaW4gb3RoZXIgY29udGV4dHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbmRpdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2V2ZXJpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlN1YmplY3RpdmUgc2V2ZXJpdHkgb2YgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIHN1YmplY3RpdmUgYXNzZXNzbWVudCBvZiB0aGUgc2V2ZXJpdHkgb2YgdGhlIGNvbmRpdGlvbiBhcyBldmFsdWF0ZWQgYnkgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkNvZGluZyBvZiB0aGUgc2V2ZXJpdHkgd2l0aCBhIHRlcm1pbm9sb2d5IGlzIHByZWZlcnJlZCwgd2hlcmUgcG9zc2libGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uU2V2ZXJpdHkiIGRlc2NyaXB0aW9uPSJBIHN1YmplY3RpdmUgYXNzZXNzbWVudCBvZiB0aGUgc2V2ZXJpdHkgb2YgdGhlIGNvbmRpdGlvbiBhcyBldmFsdWF0ZWQgYnkgdGhlIGNsaW5pY2lhbi4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJZGVudGlmaWNhdGlvbiBvZiB0aGUgY29uZGl0aW9uLCBwcm9ibGVtIG9yIGRpYWdub3NpcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIGNvbmRpdGlvbiwgcHJvYmxlbSBvciBkaWFnbm9zaXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCB0byBkZXNjcmliZSB0aGUgYWN0dWFsIHByb2JsZW0gZXhwZXJpZW5jZWQgYnkgdGhlIHBhdGllbnQiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW5hdG9taWNhbCBsb2NhdGlvbiwgaWYgcmVsZXZhbnQiIGRlZmluaXRpb249IlRoZSBhbmF0b21pY2FsIGxvY2F0aW9uIHdoZXJlIHRoaXMgY29uZGl0aW9uIG1hbmlmZXN0cyBpdHNlbGYuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gQ29uZGl0aW9uLmNvZGUuIElmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBhdHRyaWJ1dGVzIGZyb20gdGhlIEJvZHlTaXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuICBNYXkgYmUgYSBzdW1tYXJ5IGNvZGUsIG9yIGEgcmVmZXJlbmNlIHRvIGEgdmVyeSBwcmVjaXNlIGRlZmluaXRpb24gb2YgdGhlIGxvY2F0aW9uLCBvciBib3RoLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIGhhcyB0aGUgY29uZGl0aW9uPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBwYXRpZW50IG9yIGdyb3VwIHdobyB0aGUgY29uZGl0aW9uIHJlY29yZCBpcyBhc3NvY2lhdGVkIHdpdGguIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29uZGl0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiBUaGlzIHJlY29yZCBpbmRpY2F0ZXMgdGhlIGVuY291bnRlciB0aGlzIHBhcnRpY3VsYXIgcmVjb3JkIGlzIGFzc29jaWF0ZWQgd2l0aC4gIEluIHRoZSBjYXNlIG9mIGEgJnF1b3Q7bmV3JnF1b3Q7IGRpYWdub3NpcyByZWZsZWN0aW5nIG9uZ29pbmcvcmV2aXNlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29uZGl0aW9uLCB0aGlzIG1pZ2h0IGJlIGRpc3RpbmN0IGZyb20gdGhlIGZpcnN0IGVuY291bnRlciBpbiB3aGljaCB0aGUgdW5kZXJseWluZyBjb25kaXRpb24gd2FzIGZpcnN0ICZxdW90O2tub3duJnF1b3Q7LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbnNldCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEVzdGltYXRlZCBvciBhY3R1YWwgZGF0ZSwgZGF0ZS10aW1lLCBvciBhZ2UiIGRlZmluaXRpb249IkVzdGltYXRlZCBvciBhY3R1YWwgZGF0ZSBvciBkYXRlLXRpbWUgIHRoZSBjb25kaXRpb24gYmVnYW4sIGluIHRoZSBvcGluaW9uIG9mIHRoZSBjbGluaWNpYW4uIiBjb21tZW50PSJBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgQ29uZGl0aW9uIGJlZ2FuIHRvIG9jY3VyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhYmF0ZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIGluIHJlc29sdXRpb24vcmVtaXNzaW9uIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvciBlc3RpbWF0ZWQgZGF0ZSB0aGF0IHRoZSBjb25kaXRpb24gcmVzb2x2ZWQgb3Igd2VudCBpbnRvIHJlbWlzc2lvbi4gVGhpcyBpcyBjYWxsZWQgJnF1b3Q7YWJhdGVtZW50JnF1b3Q7IGJlY2F1c2Ugb2YgdGhlIG1hbnkgb3ZlcmxvYWRlZCBjb25ub3RhdGlvbnMgYXNzb2NpYXRlZCB3aXRoICZxdW90O3JlbWlzc2lvbiZxdW90OyBvciAmcXVvdDtyZXNvbHV0aW9uJnF1b3Q7IC0gQ29uZGl0aW9ucyBhcmUgbmV2ZXIgcmVhbGx5IHJlc29sdmVkLCBidXQgdGhleSBjYW4gYWJhdGUuIiBjb21tZW50PSJUaGVyZSBpcyBubyBleHBsaWNpdCBkaXN0aW5jdGlvbiBiZXR3ZWVuIHJlc29sdXRpb24gYW5kIHJlbWlzc2lvbiBiZWNhdXNlIGluIG1hbnkgY2FzZXMgdGhlIGRpc3RpbmN0aW9uIGlzIG5vdCBjbGVhci4gQWdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgYXQgd2hpY2ggdGhlIENvbmRpdGlvbiBhYmF0ZWQuICBJZiB0aGVyZSBpcyBubyBhYmF0ZW1lbnQgZWxlbWVudCwgaXQgaXMgdW5rbm93biB3aGV0aGVyIHRoZSBjb25kaXRpb24gaGFzIHJlc29sdmVkIG9yIGVudGVyZWQgcmVtaXNzaW9uOyBhcHBsaWNhdGlvbnMgYW5kIHVzZXJzIHNob3VsZCBnZW5lcmFsbHkgYXNzdW1lIHRoYXQgdGhlIGNvbmRpdGlvbiBpcyBzdGlsbCB2YWxpZC4gIFdoZW4gYWJhdGVtZW50U3RyaW5nIGV4aXN0cywgaXQgaW1wbGllcyB0aGUgY29uZGl0aW9uIGlzIGFiYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWREYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgRGF0ZSByZWNvcmQgd2FzIGZpcnN0IHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQ29uZGl0aW9uIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHJlY29yZGVkIHRoZSBjb25kaXRpb24iIGRlZmluaXRpb249IkluZGl2aWR1YWwgd2hvIHJlY29yZGVkIHRoZSByZWNvcmQgYW5kIHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgY29udGVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc3NlcnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQZXJzb24gd2hvIGFzc2VydHMgdGhpcyBjb25kaXRpb24iIGRlZmluaXRpb249IkluZGl2aWR1YWwgd2hvIGlzIG1ha2luZyB0aGUgY29uZGl0aW9uIHN0YXRlbWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGFnZSIgZGVzY3JpcHRpb249IlN0YWdlL2dyYWRlLCB1c3VhbGx5IGFzc2Vzc2VkIGZvcm1hbGx5IiBkZWZpbml0aW9uPSJDbGluaWNhbCBzdGFnZSBvciBncmFkZSBvZiBhIGNvbmRpdGlvbi4gTWF5IGluY2x1ZGUgZm9ybWFsIHNldmVyaXR5IGFzc2Vzc21lbnRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29uZGl0aW9uLlN0YWdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlN0YWdlIFNIQUxMIGhhdmUgc3VtbWFyeSBvciBhc3Nlc3NtZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJzdW1tYXJ5LmV4aXN0cygpIG9yIGFzc2Vzc21lbnQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJldmlkZW5jZSIgZGVzY3JpcHRpb249IlN1cHBvcnRpbmcgZXZpZGVuY2UiIGRlZmluaXRpb249IlN1cHBvcnRpbmcgZXZpZGVuY2UgLyBtYW5pZmVzdGF0aW9ucyB0aGF0IGFyZSB0aGUgYmFzaXMgb2YgdGhlIENvbmRpdGlvbidzIHZlcmlmaWNhdGlvbiBzdGF0dXMsIHN1Y2ggYXMgZXZpZGVuY2UgdGhhdCBjb25maXJtZWQgb3IgcmVmdXRlZCB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGV2aWRlbmNlIG1heSBiZSBhIHNpbXBsZSBsaXN0IG9mIGNvZGVkIHN5bXB0b21zL21hbmlmZXN0YXRpb25zLCBvciByZWZlcmVuY2VzIHRvIG9ic2VydmF0aW9ucyBvciBmb3JtYWwgYXNzZXNzbWVudHMsIG9yIGJvdGguIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db25kaXRpb24uRXZpZGVuY2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iY29uLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iZXZpZGVuY2UgU0hBTEwgaGF2ZSBjb2RlIG9yIGRldGFpbHMiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImNvZGUuZXhpc3RzKCkgb3IgZGV0YWlsLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENvbmRpdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29uZGl0aW9uLiBUaGlzIGlzIGEgZ2VuZXJhbCBub3Rlcy9jb21tZW50cyBlbnRyeSAgZm9yIGRlc2NyaXB0aW9uIG9mIHRoZSBDb25kaXRpb24sIGl0cyBkaWFnbm9zaXMgYW5kIHByb2dub3Npcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb25kaXRpb24tcHJvYmxlbXMtaGVhbHRoLWNvbmNlcm5zIiBsYWJlbD0iUUlDb3JlIENvbmRpdGlvbiBQcm9ibGVtcyBIZWFsdGggQ29uY2VybnMiIHRhcmdldD0iQ29uZGl0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc3NlcnRlZERhdGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuYXNzZXJ0ZWREYXRlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1hc3NlcnRlZERhdGUnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgRGF0ZSB0aGUgY29uZGl0aW9uIHdhcyBmaXJzdCBhc3NlcnRlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb24gd2hpY2ggdGhlIGV4aXN0ZW5jZSBvZiB0aGUgQ29uZGl0aW9uIHdhcyBmaXJzdCBhc3NlcnRlZCBvciBhY2tub3dsZWRnZWQuIiBjb21tZW50PSJUaGUgYXNzZXJ0ZWREYXRlIGlzIGluIHRoZSBjb250ZXh0IG9mIHRoZSByZWNvcmRpbmcgcHJhY3RpdGlvbmVyIGFuZCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIHJlY29yZGVkRGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIElkcyBmb3IgdGhpcyBjb25kaXRpb24iIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgY29uZGl0aW9uIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjbGluaWNhbFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBhY3RpdmUgfCByZWN1cnJlbmNlIHwgcmVsYXBzZSB8IGluYWN0aXZlIHwgcmVtaXNzaW9uIHwgcmVzb2x2ZWQiIGRlZmluaXRpb249IlRoZSBjbGluaWNhbCBzdGF0dXMgb2YgdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBkYXRhIHR5cGUgaXMgQ29kZWFibGVDb25jZXB0IGJlY2F1c2UgY2xpbmljYWxTdGF0dXMgaGFzIHNvbWUgY2xpbmljYWwganVkZ21lbnQgaW52b2x2ZWQsIHN1Y2ggdGhhdCB0aGVyZSBtaWdodCBuZWVkIHRvIGJlIG1vcmUgc3BlY2lmaWNpdHkgdGhhbiB0aGUgcmVxdWlyZWQgRkhJUiB2YWx1ZSBzZXQgYWxsb3dzLiBGb3IgZXhhbXBsZSwgYSBTTk9NRUQgY29kaW5nIG1pZ2h0IGFsbG93IGZvciBhZGRpdGlvbmFsIHNwZWNpZmljaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyaWZpY2F0aW9uU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHVuY29uZmlybWVkIHwgcHJvdmlzaW9uYWwgfCBkaWZmZXJlbnRpYWwgfCBjb25maXJtZWQgfCByZWZ1dGVkIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iVGhlIHZlcmlmaWNhdGlvbiBzdGF0dXMgdG8gc3VwcG9ydCB0aGUgY2xpbmljYWwgc3RhdHVzIG9mIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJ2ZXJpZmljYXRpb25TdGF0dXMgaXMgbm90IHJlcXVpcmVkLiAgRm9yIGV4YW1wbGUsIHdoZW4gYSBwYXRpZW50IGhhcyBhYmRvbWluYWwgcGFpbiBpbiB0aGUgRUQsIHRoZXJlIGlzIG5vdCBsaWtlbHkgZ29pbmcgdG8gYmUgYSB2ZXJpZmljYXRpb24gc3RhdHVzLiYjMTA7VGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSB2ZXJpZmljYXRpb25TdGF0dXMgaGFzIHNvbWUgY2xpbmljYWwganVkZ21lbnQgaW52b2x2ZWQsIHN1Y2ggdGhhdCB0aGVyZSBtaWdodCBuZWVkIHRvIGJlIG1vcmUgc3BlY2lmaWNpdHkgdGhhbiB0aGUgcmVxdWlyZWQgRkhJUiB2YWx1ZSBzZXQgYWxsb3dzLiBGb3IgZXhhbXBsZSwgYSBTTk9NRUQgY29kaW5nIG1pZ2h0IGFsbG93IGZvciBhZGRpdGlvbmFsIHNwZWNpZmljaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIGNhdGVnb3J5IGNvZGVzIiBkZWZpbml0aW9uPSJBIGNhdGVnb3J5IGFzc2lnbmVkIHRvIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgY2F0ZWdvcml6YXRpb24gaXMgb2Z0ZW4gaGlnaGx5IGNvbnRleHR1YWwgYW5kIG1heSBhcHBlYXIgcG9vcmx5IGRpZmZlcmVudGlhdGVkIG9yIG5vdCB2ZXJ5IHVzZWZ1bCBpbiBvdGhlciBjb250ZXh0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbmRpdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvYmxlbS1saXN0LWl0ZW0gfCBoZWFsdGgtY29uY2VybiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGNhdGVnb3JpemF0aW9uIGlzIG9mdGVuIGhpZ2hseSBjb250ZXh0dWFsIGFuZCBtYXkgYXBwZWFyIHBvb3JseSBkaWZmZXJlbnRpYXRlZCBvciBub3QgdmVyeSB1c2VmdWwgaW4gb3RoZXIgY29udGV4dHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2NyZWVuaW5nLWFzc2Vzc21lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFVTQ0RJIEhlYWx0aCBTdGF0dXMvQXNzZXNzbWVudHMgRGF0YSBDbGFzcyIgZGVmaW5pdGlvbj0iQ2F0ZWdvcmllcyB0aGF0IGEgcHJvdmlkZXIgbWF5IHVzZSBpbiB0aGVpciB3b3JrZmxvdyB0byBjbGFzc2lmeSB0aGF0IHRoaXMgQ29uZGl0aW9uIGlzIHJlbGF0ZWQgdG8gYSBVU0NESSBIZWFsdGggU3RhdHVzL0Fzc2Vzc21lbnRzIERhdGEgQ2xhc3MuIiBjb21tZW50PSJUaGUgY2F0ZWdvcml6YXRpb24gaXMgb2Z0ZW4gaGlnaGx5IGNvbnRleHR1YWwgYW5kIG1heSBhcHBlYXIgcG9vcmx5IGRpZmZlcmVudGlhdGVkIG9yIG5vdCB2ZXJ5IHVzZWZ1bCBpbiBvdGhlciBjb250ZXh0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJOb3RlIHRoYXQgb3RoZXIgY29kZXMgYXJlIHBlcm1pdHRlZCwgc2VlIFtSZXF1aXJlZCBCaW5kaW5ncyBXaGVuIFNsaWNpbmcgYnkgVmFsdWUgU2V0c10oaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL2dlbmVyYWwtcmVxdWlyZW1lbnRzLmh0bWwjcmVxdWlyZWQtYmluZGluZ3Mtd2hlbi1zbGljaW5nLWJ5LXZhbHVlc2V0cykiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXZlcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3ViamVjdGl2ZSBzZXZlcml0eSBvZiBjb25kaXRpb24iIGRlZmluaXRpb249IkEgc3ViamVjdGl2ZSBhc3Nlc3NtZW50IG9mIHRoZSBzZXZlcml0eSBvZiB0aGUgY29uZGl0aW9uIGFzIGV2YWx1YXRlZCBieSB0aGUgY2xpbmljaWFuLiIgY29tbWVudD0iQ29kaW5nIG9mIHRoZSBzZXZlcml0eSB3aXRoIGEgdGVybWlub2xvZ3kgaXMgcHJlZmVycmVkLCB3aGVyZSBwb3NzaWJsZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25TZXZlcml0eSIgZGVzY3JpcHRpb249IkEgc3ViamVjdGl2ZSBhc3Nlc3NtZW50IG9mIHRoZSBzZXZlcml0eSBvZiB0aGUgY29uZGl0aW9uIGFzIGV2YWx1YXRlZCBieSB0aGUgY2xpbmljaWFuLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIElkZW50aWZpY2F0aW9uIG9mIHRoZSBjb25kaXRpb24sIHByb2JsZW0gb3IgZGlhZ25vc2lzIiBkZWZpbml0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgY29uZGl0aW9uLCBwcm9ibGVtIG9yIGRpYWdub3Npcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlZhbHVlc2V0IHRvIGRlc2NyaWJlIHRoZSBhY3R1YWwgcHJvYmxlbSBleHBlcmllbmNlZCBieSB0aGUgcGF0aWVudCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGxvY2F0aW9uLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIGFuYXRvbWljYWwgbG9jYXRpb24gd2hlcmUgdGhpcyBjb25kaXRpb24gbWFuaWZlc3RzIGl0c2VsZi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBDb25kaXRpb24uY29kZS4gSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIGF0dHJpYnV0ZXMgZnJvbSB0aGUgQm9keVNpdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2JvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4gIE1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgYSByZWZlcmVuY2UgdG8gYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgbG9jYXRpb24sIG9yIGJvdGguIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gaGFzIHRoZSBjb25kaXRpb24/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHBhdGllbnQgb3IgZ3JvdXAgd2hvIHRoZSBjb25kaXRpb24gcmVjb3JkIGlzIGFzc29jaWF0ZWQgd2l0aC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29uZGl0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiBUaGlzIHJlY29yZCBpbmRpY2F0ZXMgdGhlIGVuY291bnRlciB0aGlzIHBhcnRpY3VsYXIgcmVjb3JkIGlzIGFzc29jaWF0ZWQgd2l0aC4gIEluIHRoZSBjYXNlIG9mIGEgJnF1b3Q7bmV3JnF1b3Q7IGRpYWdub3NpcyByZWZsZWN0aW5nIG9uZ29pbmcvcmV2aXNlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29uZGl0aW9uLCB0aGlzIG1pZ2h0IGJlIGRpc3RpbmN0IGZyb20gdGhlIGZpcnN0IGVuY291bnRlciBpbiB3aGljaCB0aGUgdW5kZXJseWluZyBjb25kaXRpb24gd2FzIGZpcnN0ICZxdW90O2tub3duJnF1b3Q7LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9uc2V0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlLCBkYXRlLXRpbWUsIG9yIGFnZSIgZGVmaW5pdGlvbj0iRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlIG9yIGRhdGUtdGltZSAgdGhlIGNvbmRpdGlvbiBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYmVnYW4gdG8gb2NjdXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFiYXRlbWVudCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoZW4gaW4gcmVzb2x1dGlvbi9yZW1pc3Npb24iIGRlZmluaXRpb249IlRoZSBkYXRlIG9yIGVzdGltYXRlZCBkYXRlIHRoYXQgdGhlIGNvbmRpdGlvbiByZXNvbHZlZCBvciB3ZW50IGludG8gcmVtaXNzaW9uLiBUaGlzIGlzIGNhbGxlZCAmcXVvdDthYmF0ZW1lbnQmcXVvdDsgYmVjYXVzZSBvZiB0aGUgbWFueSBvdmVybG9hZGVkIGNvbm5vdGF0aW9ucyBhc3NvY2lhdGVkIHdpdGggJnF1b3Q7cmVtaXNzaW9uJnF1b3Q7IG9yICZxdW90O3Jlc29sdXRpb24mcXVvdDsgLSBDb25kaXRpb25zIGFyZSBuZXZlciByZWFsbHkgcmVzb2x2ZWQsIGJ1dCB0aGV5IGNhbiBhYmF0ZS4iIGNvbW1lbnQ9IlRoZXJlIGlzIG5vIGV4cGxpY2l0IGRpc3RpbmN0aW9uIGJldHdlZW4gcmVzb2x1dGlvbiBhbmQgcmVtaXNzaW9uIGJlY2F1c2UgaW4gbWFueSBjYXNlcyB0aGUgZGlzdGluY3Rpb24gaXMgbm90IGNsZWFyLiBBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgQ29uZGl0aW9uIGFiYXRlZC4gIElmIHRoZXJlIGlzIG5vIGFiYXRlbWVudCBlbGVtZW50LCBpdCBpcyB1bmtub3duIHdoZXRoZXIgdGhlIGNvbmRpdGlvbiBoYXMgcmVzb2x2ZWQgb3IgZW50ZXJlZCByZW1pc3Npb247IGFwcGxpY2F0aW9ucyBhbmQgdXNlcnMgc2hvdWxkIGdlbmVyYWxseSBhc3N1bWUgdGhhdCB0aGUgY29uZGl0aW9uIGlzIHN0aWxsIHZhbGlkLiAgV2hlbiBhYmF0ZW1lbnRTdHJpbmcgZXhpc3RzLCBpdCBpbXBsaWVzIHRoZSBjb25kaXRpb24gaXMgYWJhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBEYXRlIHJlY29yZCB3YXMgZmlyc3QgcmVjb3JkZWQiIGRlZmluaXRpb249IlRoZSByZWNvcmRlZERhdGUgcmVwcmVzZW50cyB3aGVuIHRoaXMgcGFydGljdWxhciBDb25kaXRpb24gcmVjb3JkIHdhcyBjcmVhdGVkIGluIHRoZSBzeXN0ZW0sIHdoaWNoIGlzIG9mdGVuIGEgc3lzdGVtLWdlbmVyYXRlZCBkYXRlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjb3JkZWQgdGhlIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gcmVjb3JkZWQgdGhlIHJlY29yZCBhbmQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBjb250ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBjb25kaXRpb24gc3RhdGVtZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YWdlIiBkZXNjcmlwdGlvbj0iU3RhZ2UvZ3JhZGUsIHVzdWFsbHkgYXNzZXNzZWQgZm9ybWFsbHkiIGRlZmluaXRpb249IkNsaW5pY2FsIHN0YWdlIG9yIGdyYWRlIG9mIGEgY29uZGl0aW9uLiBNYXkgaW5jbHVkZSBmb3JtYWwgc2V2ZXJpdHkgYXNzZXNzbWVudHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db25kaXRpb24uU3RhZ2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iY29uLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iU3RhZ2UgU0hBTEwgaGF2ZSBzdW1tYXJ5IG9yIGFzc2Vzc21lbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InN1bW1hcnkuZXhpc3RzKCkgb3IgYXNzZXNzbWVudC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImV2aWRlbmNlIiBkZXNjcmlwdGlvbj0iU3VwcG9ydGluZyBldmlkZW5jZSIgZGVmaW5pdGlvbj0iU3VwcG9ydGluZyBldmlkZW5jZSAvIG1hbmlmZXN0YXRpb25zIHRoYXQgYXJlIHRoZSBiYXNpcyBvZiB0aGUgQ29uZGl0aW9uJ3MgdmVyaWZpY2F0aW9uIHN0YXR1cywgc3VjaCBhcyBldmlkZW5jZSB0aGF0IGNvbmZpcm1lZCBvciByZWZ1dGVkIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgZXZpZGVuY2UgbWF5IGJlIGEgc2ltcGxlIGxpc3Qgb2YgY29kZWQgc3ltcHRvbXMvbWFuaWZlc3RhdGlvbnMsIG9yIHJlZmVyZW5jZXMgdG8gb2JzZXJ2YXRpb25zIG9yIGZvcm1hbCBhc3Nlc3NtZW50cywgb3IgYm90aC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5FdmlkZW5jZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJjb24tMiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJldmlkZW5jZSBTSEFMTCBoYXZlIGNvZGUgb3IgZGV0YWlscyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iY29kZS5leGlzdHMoKSBvciBkZXRhaWwuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29uZGl0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDb25kaXRpb24uIFRoaXMgaXMgYSBnZW5lcmFsIG5vdGVzL2NvbW1lbnRzIGVudHJ5ICBmb3IgZGVzY3JpcHRpb24gb2YgdGhlIENvbmRpdGlvbiwgaXRzIGRpYWdub3NpcyBhbmQgcHJvZ25vc2lzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3REZXRhaWwiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db250YWN0RGV0YWlsIiBsYWJlbD0iQ29udGFjdERldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgYW4gaW5kaXZpZHVhbCB0byBjb250YWN0IiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiBhbiBpbmRpdmlkdWFsIHRvIGNvbnRhY3QuIiBjb21tZW50PSJJZiB0aGVyZSBpcyBubyBuYW1lZCBpbmRpdmlkdWFsLCB0aGUgdGVsZWNvbSBpbmZvcm1hdGlvbiBpcyBmb3IgdGhlIG9yZ2FuaXphdGlvbiBhcyBhIHdob2xlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJDb250YWN0IGRldGFpbHMgZm9yIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJUaGUgY29udGFjdCBkZXRhaWxzIGZvciB0aGUgaW5kaXZpZHVhbCAoaWYgYSBuYW1lIHdhcyBwcm92aWRlZCkgb3IgdGhlIG9yZ2FuaXphdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3RQb2ludCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbnRhY3RQb2ludCIgbGFiZWw9IkNvbnRhY3RQb2ludCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnRTeXN0ZW0iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icGhvbmUgfCBmYXggfCBlbWFpbCB8IHBhZ2VyIHwgdXJsIHwgc21zIHwgb3RoZXIiIGRlZmluaXRpb249IlRlbGVjb21tdW5pY2F0aW9ucyBmb3JtIGZvciBjb250YWN0IHBvaW50IC0gd2hhdCBjb21tdW5pY2F0aW9ucyBzeXN0ZW0gaXMgcmVxdWlyZWQgdG8gbWFrZSB1c2Ugb2YgdGhlIGNvbnRhY3QuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29udGFjdFBvaW50U3lzdGVtIiBkZXNjcmlwdGlvbj0iVGVsZWNvbW11bmljYXRpb25zIGZvcm0gZm9yIGNvbnRhY3QgcG9pbnQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBhY3R1YWwgY29udGFjdCBwb2ludCBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGNvbnRhY3QgcG9pbnQgZGV0YWlscywgaW4gYSBmb3JtIHRoYXQgaXMgbWVhbmluZ2Z1bCB0byB0aGUgZGVzaWduYXRlZCBjb21tdW5pY2F0aW9uIHN5c3RlbSAoaS5lLiBwaG9uZSBudW1iZXIgb3IgZW1haWwgYWRkcmVzcykuIiBjb21tZW50PSJBZGRpdGlvbmFsIHRleHQgZGF0YSBzdWNoIGFzIHBob25lIGV4dGVuc2lvbiBudW1iZXJzLCBvciBub3RlcyBhYm91dCB1c2Ugb2YgdGhlIGNvbnRhY3QgYXJlIHNvbWV0aW1lcyBpbmNsdWRlZCBpbiB0aGUgdmFsdWUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludFVzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJob21lIHwgd29yayB8IHRlbXAgfCBvbGQgfCBtb2JpbGUgLSBwdXJwb3NlIG9mIHRoaXMgY29udGFjdCBwb2ludCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcHVycG9zZSBmb3IgdGhlIGNvbnRhY3QgcG9pbnQuIiBjb21tZW50PSJBcHBsaWNhdGlvbnMgY2FuIGFzc3VtZSB0aGF0IGEgY29udGFjdCBpcyBjdXJyZW50IHVubGVzcyBpdCBleHBsaWNpdGx5IHNheXMgdGhhdCBpdCBpcyB0ZW1wb3Jhcnkgb3Igb2xkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RQb2ludFVzZSIgZGVzY3JpcHRpb249IlVzZSBvZiBjb250YWN0IHBvaW50LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJhbmsiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTcGVjaWZ5IHByZWZlcnJlZCBvcmRlciBvZiB1c2UgKDEgPSBoaWdoZXN0KSIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIGEgcHJlZmVycmVkIG9yZGVyIGluIHdoaWNoIHRvIHVzZSBhIHNldCBvZiBjb250YWN0cy4gQ29udGFjdFBvaW50cyB3aXRoIGxvd2VyIHJhbmsgdmFsdWVzIGFyZSBtb3JlIHByZWZlcnJlZCB0aGFuIHRob3NlIHdpdGggaGlnaGVyIHJhbmsgdmFsdWVzLiIgY29tbWVudD0iTm90ZSB0aGF0IHJhbmsgZG9lcyBub3QgbmVjZXNzYXJpbHkgZm9sbG93IHRoZSBvcmRlciBpbiB3aGljaCB0aGUgY29udGFjdHMgYXJlIHJlcHJlc2VudGVkIGluIHRoZSBpbnN0YW5jZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2Qgd2hlbiB0aGUgY29udGFjdCBwb2ludCB3YXMvaXMgaW4gdXNlIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCB3aGVuIHRoZSBjb250YWN0IHBvaW50IHdhcy9pcyBpbiB1c2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnRTeXN0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50VXNlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29udHJpYnV0b3IiIGxhYmVsPSJDb250cmlidXRvciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udHJpYnV0b3JUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImF1dGhvciB8IGVkaXRvciB8IHJldmlld2VyIHwgZW5kb3JzZXIiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIGNvbnRyaWJ1dG9yLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRyaWJ1dG9yVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGNvbnRyaWJ1dG9yLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldobyBjb250cmlidXRlZCB0aGUgY29udGVudCIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciB0aGUgY29udHJpYnV0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhY3QiIGRlc2NyaXB0aW9uPSJDb250YWN0IGRldGFpbHMgb2YgdGhlIGNvbnRyaWJ1dG9yIiBkZWZpbml0aW9uPSJDb250YWN0IGRldGFpbHMgdG8gYXNzaXN0IGEgdXNlciBpbiBmaW5kaW5nIGFuZCBjb21tdW5pY2F0aW5nIHdpdGggdGhlIGNvbnRyaWJ1dG9yLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdERldGFpbCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb3ZlcmFnZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY292ZXJhZ2UiIGxhYmVsPSJRSUNvcmUgQ292ZXJhZ2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InR5cGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE1lbWJlciBJRCBhbmQgb3RoZXIgaWRlbnRpZmllcnMiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBjb3ZlcmFnZS4iIGNvbW1lbnQ9IlRoZSBtYWluIChhbmQgcG9zc2libHkgb25seSkgaWRlbnRpZmllciBmb3IgdGhlIGNvdmVyYWdlIC0gb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYSBNZW1iZXIgSWQsIENlcnRpZmljYXRlIG51bWJlciwgUGVyc29uYWwgSGVhbHRoIE51bWJlciBvciBDYXNlIElELiBNYXkgYmUgY29uc3RydWN0ZWQgYXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIENvdmVyYWdlLlN1YnNjcmliZXJJRCBhbmQgdGhlIENvdmVyYWdlLmRlcGVuZGFudC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lbWJlcmlkIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE1lbWJlciBJRCIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGNvdmVyYWdlLiIgY29tbWVudD0iVGhlIG1haW4gKGFuZCBwb3NzaWJseSBvbmx5KSBpZGVudGlmaWVyIGZvciB0aGUgY292ZXJhZ2UgLSBvZnRlbiByZWZlcnJlZCB0byBhcyBhIE1lbWJlciBJZCwgQ2VydGlmaWNhdGUgbnVtYmVyLCBQZXJzb25hbCBIZWFsdGggTnVtYmVyIG9yIENhc2UgSUQuIE1heSBiZSBjb25zdHJ1Y3RlZCBhcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgQ292ZXJhZ2UuU3Vic2NyaWJlcklEIGFuZCB0aGUgQ292ZXJhZ2UuZGVwZW5kYW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBhY3RpdmUgfCBjYW5jZWxsZWQgfCBkcmFmdCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgY29tbWVudD0iVGhlIGBDb3ZlcmFnZS5zdGF0dXNgIGFsb25lIGRvZXMgbm90IGluZGljYXRlIHdoZXRoZXIgYW4gaW5kaXZpZHVhbCdzIGNvdmVyYWdlIGlzIHRlcm1pbmF0ZWQgb3IgdGhhdCB0aGUgaW5kaXZpZHVhbCBpcyBub3QgY292ZXJlZC4gVGhlIGBDb3ZlcmFnZS5wZXJpb2RgIG5lZWRzIHRvIGJlIGNvbnNpZGVyZWQgYXMgd2VsbC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ292ZXJhZ2VTdGF0dXMiIGRlc2NyaXB0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ292ZXJhZ2UgY2F0ZWdvcnkgc3VjaCBhcyBtZWRpY2FsIG9yIGFjY2lkZW50IiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBjb3ZlcmFnZTogc29jaWFsIHByb2dyYW0sIG1lZGljYWwgcGxhbiwgYWNjaWRlbnQgY292ZXJhZ2UgKHdvcmtlcnMgY29tcGVuc2F0aW9uLCBhdXRvKSwgZ3JvdXAgaGVhbHRoIG9yIHBheW1lbnQgYnkgYW4gaW5kaXZpZHVhbCBvciBvcmdhbml6YXRpb24uIiBjb21tZW50PSJJZGVudGlmaWVzIGlmIHRoZSBjb3ZlcmFnZSBpcyBQUE8sIEhNTywgUE9TLCBldGMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDYXRlZ29yaWVzIG9mIHR5cGVzIG9mIGhlYWx0aCBjYXJlIHBheW9yIGVudGl0aWVzIGFzIGRlZmluZWQgYnkgdGhlIFVTIFB1YmxpYyBIZWFsdGggRGF0YSBDb25zb3J0aXVtIFNPUCBjb2RlIHN5c3RlbSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icG9saWN5SG9sZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBPd25lciBvZiB0aGUgcG9saWN5IiBkZWZpbml0aW9uPSJUaGUgcGFydHkgd2hvICdvd25zJyB0aGUgaW5zdXJhbmNlIHBvbGljeS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBtYXkgYmUgYW4gaW5kaXZpZHVhbCwgY29ycG9yYXRpb24gb3IgdGhlIHN1YnNjcmliZXIncyBlbXBsb3llci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzY3JpYmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlN1YnNjcmliZXIgdG8gdGhlIHBvbGljeSIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyBoYXMgc2lnbmVkLXVwIGZvciBvciAnb3ducycgdGhlIGNvbnRyYWN0dWFsIHJlbGF0aW9uc2hpcCB0byB0aGUgcG9saWN5IG9yIHRvIHdob20gdGhlIGJlbmVmaXQgb2YgdGhlIHBvbGljeSBmb3Igc2VydmljZXMgcmVuZGVyZWQgdG8gdGhlbSBvciB0aGVpciBmYW1pbHkgaXMgZHVlLiIgY29tbWVudD0iTWF5IGJlIHNlbGYgb3IgYSBwYXJlbnQgaW4gdGhlIGNhc2Ugb2YgZGVwZW5kYW50cy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzY3JpYmVySWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSUQgYXNzaWduZWQgdG8gdGhlIHN1YnNjcmliZXIiIGRlZmluaXRpb249IlRoZSBpbnN1cmVyIGFzc2lnbmVkIElEIGZvciB0aGUgU3Vic2NyaWJlci4iIGNvbW1lbnQ9IlRoZSBpZGVudGlmaWVyIGFzc2lnbmVkIGJ5IHRoZSBQYXllciBvbiB0aGUgc3Vic2NyaWJlcidzIElEIGNhcmQiIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmVuZWZpY2lhcnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBQbGFuIGJlbmVmaWNpYXJ5IiBkZWZpbml0aW9uPSJUaGUgcGFydHkgd2hvIGJlbmVmaXRzIGZyb20gdGhlIGluc3VyYW5jZSBjb3ZlcmFnZTsgdGhlIHBhdGllbnQgd2hlbiBwcm9kdWN0cyBhbmQvb3Igc2VydmljZXMgYXJlIHByb3ZpZGVkLiIgY29tbWVudD0iSWRlbnRpZmllciBmb3IgYSBtZW1iZXIgYXNzaWduZWQgYnkgdGhlIFBheWVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXBlbmRlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRlcGVuZGVudCBudW1iZXIiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIGEgZGVwZW5kZW50IHVuZGVyIHRoZSBjb3ZlcmFnZS4iIGNvbW1lbnQ9IlBlcmlvZGljYWxseSB0aGUgbWVtYmVyIG51bWJlciBpcyBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBzdWJzY3JpYmVySWQgYW5kIHRoZSBkZXBlbmRhbnQgbnVtYmVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0aW9uc2hpcCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBCZW5lZmljaWFyeSByZWxhdGlvbnNoaXAgdG8gdGhlIHN1YnNjcmliZXIiIGRlZmluaXRpb249IlRoZSByZWxhdGlvbnNoaXAgb2YgYmVuZWZpY2lhcnkgKHBhdGllbnQpIHRvIHRoZSBzdWJzY3JpYmVyLiIgY29tbWVudD0iUmVsYXRpb25zaGlwIG9mIHRoZSBtZW1iZXIgdG8gdGhlIHBlcnNvbiBpbnN1cmVkIChzdWJzY3JpYmVyKSIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDb3ZlcmFnZSBzdGFydCBhbmQgZW5kIGRhdGVzIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggdGhlIGNvdmVyYWdlIGlzIGluIGZvcmNlLiBBIG1pc3Npbmcgc3RhcnQgZGF0ZSBpbmRpY2F0ZXMgdGhlIHN0YXJ0IGRhdGUgaXNuJ3Qga25vd24sIGEgbWlzc2luZyBlbmQgZGF0ZSBtZWFucyB0aGUgY292ZXJhZ2UgaXMgY29udGludWluZyB0byBiZSBpbiBmb3JjZS4iIGNvbW1lbnQ9IkRhdGUgdGhhdCB0aGUgY29udHJhY3QgYmVjYW1lIGVmZmVjdGl2ZSBhbmQgRGF0ZSB0aGF0IHRoZSBjb250cmFjdCB3YXMgdGVybWluYXRlZCBvciBjb3ZlcmFnZSBjaGFuZ2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXlvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIElzc3VlciBvZiB0aGUgcG9saWN5IiBkZWZpbml0aW9uPSJUaGUgcHJvZ3JhbSBvciBwbGFuIHVuZGVyd3JpdGVyIG9yIHBheW9yIGluY2x1ZGluZyBib3RoIGluc3VyYW5jZSBhbmQgbm9uLWluc3VyYW5jZSBhZ3JlZW1lbnRzLCBzdWNoIGFzIHBhdGllbnQtcGF5IGFncmVlbWVudHMuIiBjb21tZW50PSJJc3N1ZXIgb2YgdGhlIFBvbGljeSIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjbGFzcyIgZGVzY3JpcHRpb249IihVU0NESSkgQWRkaXRpb25hbCBjb3ZlcmFnZSBjbGFzc2lmaWNhdGlvbnMiIGRlZmluaXRpb249IkEgc3VpdGUgb2YgdW5kZXJ3cml0ZXIgc3BlY2lmaWMgY2xhc3NpZmllcnMuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBtYXkgYmUgdXNlZCB0byBpZGVudGlmeSBhIGNsYXNzIG9mIGNvdmVyYWdlIG9yIGVtcGxveWVyIGdyb3VwLCBQb2xpY3ksIFBsYW4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ2xhc3MiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXAiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ2xhc3MuZ3JvdXAiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEdyb3VwIiBkZWZpbml0aW9uPSJBIHN1aXRlIG9mIHVuZGVyd3JpdGVyIHNwZWNpZmljIGNsYXNzaWZpZXJzLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgbWF5IGJlIHVzZWQgdG8gaWRlbnRpZnkgYSBjbGFzcyBvZiBjb3ZlcmFnZSBvciBlbXBsb3llciBncm91cCwgUG9saWN5LCBQbGFuLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwbGFuIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvdmVyYWdlLkNsYXNzLnBsYW4iIGRlc2NyaXB0aW9uPSIoVVNDREkpIFBsYW4iIGRlZmluaXRpb249IkEgc3VpdGUgb2YgdW5kZXJ3cml0ZXIgc3BlY2lmaWMgY2xhc3NpZmllcnMuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBtYXkgYmUgdXNlZCB0byBpZGVudGlmeSBhIGNsYXNzIG9mIGNvdmVyYWdlIG9yIGVtcGxveWVyIGdyb3VwLCBQb2xpY3ksIFBsYW4uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9yZGVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVsYXRpdmUgb3JkZXIgb2YgdGhlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJUaGUgb3JkZXIgb2YgYXBwbGljYWJpbGl0eSBvZiB0aGlzIGNvdmVyYWdlIHJlbGF0aXZlIHRvIG90aGVyIGNvdmVyYWdlcyB3aGljaCBhcmUgY3VycmVudGx5IGluIGZvcmNlLiBOb3RlLCB0aGVyZSBtYXkgYmUgZ2FwcyBpbiB0aGUgbnVtYmVyaW5nIGFuZCB0aGlzIGRvZXMgbm90IGltcGx5IHByaW1hcnksIHNlY29uZGFyeSBldGMuIGFzIHRoZSBzcGVjaWZpYyBwb3NpdGlvbmluZyBvZiBjb3ZlcmFnZXMgZGVwZW5kcyB1cG9uIHRoZSBlcGlzb2RlIG9mIGNhcmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibmV0d29yayIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdXJlciBuZXR3b3JrIiBkZWZpbml0aW9uPSJUaGUgaW5zdXJlci1zcGVjaWZpYyBpZGVudGlmaWVyIGZvciB0aGUgaW5zdXJlci1kZWZpbmVkIG5ldHdvcmsgb2YgcHJvdmlkZXJzIHRvIHdoaWNoIHRoZSBiZW5lZmljaWFyeSBtYXkgc2VlayB0cmVhdG1lbnQgd2hpY2ggd2lsbCBiZSBjb3ZlcmVkIGF0IHRoZSAnaW4tbmV0d29yaycgcmF0ZSwgb3RoZXJ3aXNlICdvdXQgb2YgbmV0d29yaycgdGVybXMgYW5kIGNvbmRpdGlvbnMgYXBwbHkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29zdFRvQmVuZWZpY2lhcnkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IHBheW1lbnRzIGZvciBzZXJ2aWNlcy9wcm9kdWN0cyIgZGVmaW5pdGlvbj0iQSBzdWl0ZSBvZiBjb2RlcyBpbmRpY2F0aW5nIHRoZSBjb3N0IGNhdGVnb3J5IGFuZCBhc3NvY2lhdGVkIGFtb3VudCB3aGljaCBoYXZlIGJlZW4gZGV0YWlsZWQgaW4gdGhlIHBvbGljeSBhbmQgbWF5IGhhdmUgYmVlbiAgaW5jbHVkZWQgb24gdGhlIGhlYWx0aCBjYXJkLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgYnkga25vd2luZyB0aGUgcGF0aWVudCB2aXNpdCBjby1wYXksIHRoZSBwcm92aWRlciBjYW4gY29sbGVjdCB0aGUgYW1vdW50IHByaW9yIHRvIHVuZGVydGFraW5nIHRyZWF0bWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvdmVyYWdlLkNvc3RUb0JlbmVmaWNpYXJ5Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnJvZ2F0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVpbWJ1cnNlbWVudCB0byBpbnN1cmVyIiBkZWZpbml0aW9uPSJXaGVuICdzdWJyb2dhdGlvbj10cnVlJyB0aGlzIGluc3VyYW5jZSBpbnN0YW5jZSBoYXMgYmVlbiBpbmNsdWRlZCBub3QgZm9yIGFkanVkaWNhdGlvbiBidXQgdG8gcHJvdmlkZSBpbnN1cmVycyB3aXRoIHRoZSBkZXRhaWxzIHRvIHJlY292ZXIgY29zdHMuIiBjb21tZW50PSJUeXBpY2FsbHksIGF1dG9tb3RpdmUgYW5kIHdvcmtlcidzIGNvbXBlbnNhdGlvbiBwb2xpY2llcyB3b3VsZCBiZSBmbGFnZ2VkIHdpdGggJ3N1YnJvZ2F0aW9uPXRydWUnIHRvIGVuYWJsZSBoZWFsdGhjYXJlIHBheW9ycyB0byBjb2xsZWN0IGFnYWluc3QgYWNjaWRlbnQgY2xhaW1zLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyYWN0IiBkZXNjcmlwdGlvbj0iQ29udHJhY3QgZGV0YWlscyIgZGVmaW5pdGlvbj0iVGhlIHBvbGljeShzKSB3aGljaCBjb25zdGl0dXRlIHRoaXMgaW5zdXJhbmNlIGNvdmVyYWdlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwb2xpY3lIb2xkZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3Vic2NyaWJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJiZW5lZmljaWFyeSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXlvciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwb2xpY3lIb2xkZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ic3Vic2NyaWJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXlvciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ292ZXJhZ2UuQ2xhc3MiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgY2xhc3Mgc3VjaCBhcyAnZ3JvdXAnIG9yICdwbGFuJyIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgY2xhc3NpZmljYXRpb24gZm9yIHdoaWNoIGFuIGluc3VyZXItc3BlY2lmaWMgY2xhc3MgbGFiZWwgb3IgbnVtYmVyIGFuZCBvcHRpb25hbCBuYW1lIGlzIHByb3ZpZGVkLCBmb3IgZXhhbXBsZSBtYXkgYmUgdXNlZCB0byBpZGVudGlmeSBhIGNsYXNzIG9mIGNvdmVyYWdlIG9yIGVtcGxveWVyIGdyb3VwLCBQb2xpY3ksIFBsYW4uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ292ZXJhZ2VDbGFzcyIgZGVzY3JpcHRpb249IlRoZSBwb2xpY3kgY2xhc3NpZmljYXRpb25zLCBlZy4gR3JvdXAsIFBsYW4sIENsYXNzLCBldGMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSB0eXBlIiBkZWZpbml0aW9uPSJUaGUgYWxwaGFudW1lcmljIHN0cmluZyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGluc3VyZXIgaXNzdWVkIGxhYmVsLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBHcm91cCBvciBQbGFuIG51bWJlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIdW1hbiByZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgdHlwZSBhbmQgdmFsdWUiIGRlZmluaXRpb249IkEgc2hvcnQgZGVzY3JpcHRpb24gZm9yIHRoZSBjbGFzcy4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlLkNsYXNzLmdyb3VwIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ2xhc3MiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ292ZXJhZ2UuQ2xhc3MucGxhbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkNvdmVyYWdlLkNsYXNzIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlLkNvc3RUb0JlbmVmaWNpYXJ5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3N0IGNhdGVnb3J5IiBkZWZpbml0aW9uPSJUaGUgY2F0ZWdvcnkgb2YgcGF0aWVudCBjZW50cmljIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0cmVhdG1lbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSB2aXNpdCwgc3BlY2lhbGlzdCB2aXNpdHMsIGVtZXJnZW5jeSwgaW5wYXRpZW50IGNhcmUsIGV0Yy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb3BheVR5cGVzIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGVzIG9mIHNlcnZpY2VzIHRvIHdoaWNoIHBhdGllbnQgY29wYXltZW50cyBhcmUgc3BlY2lmaWVkLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGFtb3VudCBvciBwZXJjZW50YWdlIGR1ZSBmcm9tIHRoZSBiZW5lZmljaWFyeSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBkdWUgZnJvbSB0aGUgcGF0aWVudCBmb3IgdGhlIGNvc3QgY2F0ZWdvcnkuIiBjb21tZW50PSJBbW91bnQgbWF5IGJlIGV4cHJlc3NlZCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHNlcnZpY2UvcHJvZHVjdCBjb3N0IG9yIGEgZml4ZWQgYW1vdW50IG9mIGN1cnJlbmN5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleGNlcHRpb24iIGRlc2NyaXB0aW9uPSJFeGNlcHRpb25zIGZvciBwYXRpZW50IHBheW1lbnRzIiBkZWZpbml0aW9uPSJBIHN1aXRlIG9mIGNvZGVzIGluZGljYXRpbmcgZXhjZXB0aW9ucyBvciByZWR1Y3Rpb25zIHRvIHBhdGllbnQgY29zdHMgYW5kIHRoZWlyIGVmZmVjdGl2ZSBwZXJpb2RzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ29zdFRvQmVuZWZpY2lhcnkuRXhjZXB0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ292ZXJhZ2UuQ29zdFRvQmVuZWZpY2lhcnkuRXhjZXB0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeGNlcHRpb24gY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSBjb2RlIGZvciB0aGUgc3BlY2lmaWMgZXhjZXB0aW9uLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvdmVyYWdlRmluYW5jaWFsRXhjZXB0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGVzIG9mIGV4Y2VwdGlvbnMgZnJvbSB0aGUgcGFydCBvciBmdWxsIHZhbHVlIG9mIGZpbmFuY2lhbCBvYmxpZ2F0aW9ucyBzdWNoIGFzIGNvcGF5cy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgZWZmZWN0aXZlIHBlcmlvZCBvZiB0aGUgZXhjZXB0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZWZyYW1lIGR1cmluZyB3aGVuIHRoZSBleGNlcHRpb24gaXMgaW4gZm9yY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb3ZlcmFnZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9EYXRhUmVxdWlyZW1lbnQiIGxhYmVsPSJEYXRhUmVxdWlyZW1lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJBbGxUeXBlcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgcmVxdWlyZWQgZGF0YSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgdGhlIHJlcXVpcmVkIGRhdGEsIHNwZWNpZmllZCBhcyB0aGUgdHlwZSBuYW1lIG9mIGEgcmVzb3VyY2UuIEZvciBwcm9maWxlcywgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gdGhlIHR5cGUgb2YgdGhlIGJhc2UgcmVzb3VyY2Ugb2YgdGhlIHByb2ZpbGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRkhJUkFsbFR5cGVzIiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGFsbCB0aGUgY29uY3JldGUgdHlwZXMgZGVmaW5lZCBpbiB0aGlzIHZlcnNpb24gb2YgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiAtIEFic3RyYWN0IFR5cGVzLCBEYXRhIFR5cGVzIGFuZCBSZXNvdXJjZSBUeXBlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9maWxlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBwcm9maWxlIG9mIHRoZSByZXF1aXJlZCBkYXRhIiBkZWZpbml0aW9uPSJUaGUgcHJvZmlsZSBvZiB0aGUgcmVxdWlyZWQgZGF0YSwgc3BlY2lmaWVkIGFzIHRoZSB1cmkgb2YgdGhlIHByb2ZpbGUgZGVmaW5pdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkUuZy4gUGF0aWVudCwgUHJhY3RpdGlvbmVyLCBSZWxhdGVkUGVyc29uLCBPcmdhbml6YXRpb24sIExvY2F0aW9uLCBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBpbnRlbmRlZCBzdWJqZWN0cyBvZiB0aGUgZGF0YSByZXF1aXJlbWVudC4gSWYgdGhpcyBlbGVtZW50IGlzIG5vdCBwcm92aWRlZCwgYSBQYXRpZW50IHN1YmplY3QgaXMgYXNzdW1lZC4iIGNvbW1lbnQ9IlRoZSBzdWJqZWN0IG9mIGEgZGF0YSByZXF1aXJlbWVudCBpcyBjcml0aWNhbCwgYXMgdGhlIGRhdGEgYmVpbmcgc3BlY2lmaWVkIGlzIGRldGVybWluZWQgd2l0aCByZXNwZWN0IHRvIGEgcGFydGljdWxhciBzdWJqZWN0LiBUaGlzIGNvcnJlc3BvbmRzIHJvdWdobHkgdG8gdGhlIG5vdGlvbiBvZiBhIENvbXBhcnRtZW50IGluIHRoYXQgaXQgbGltaXRzIHdoYXQgZGF0YSBpcyBhdmFpbGFibGUgYmFzZWQgb24gaXRzIHJlbGF0aW9uc2hpcCB0byB0aGUgc3ViamVjdC4gSW4gQ1FMLCB0aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBjb250ZXh0IGRlY2xhcmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3ViamVjdFR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgcG9zc2libGUgdHlwZXMgb2Ygc3ViamVjdHMgZm9yIGEgZGF0YSByZXF1aXJlbWVudCAoRS5nLiwgUGF0aWVudCwgUHJhY3RpdGlvbmVyLCBPcmdhbml6YXRpb24sIExvY2F0aW9uLCBldGMuKS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im11c3RTdXBwb3J0IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkluZGljYXRlcyBzcGVjaWZpYyBzdHJ1Y3R1cmUgZWxlbWVudHMgdGhhdCBhcmUgcmVmZXJlbmNlZCBieSB0aGUga25vd2xlZGdlIG1vZHVsZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoYXQgc3BlY2lmaWMgZWxlbWVudHMgb2YgdGhlIHR5cGUgYXJlIHJlZmVyZW5jZWQgYnkgdGhlIGtub3dsZWRnZSBtb2R1bGUgYW5kIG11c3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBjb25zdW1lciBpbiBvcmRlciB0byBvYnRhaW4gYW4gZWZmZWN0aXZlIGV2YWx1YXRpb24uIFRoaXMgZG9lcyBub3QgbWVhbiB0aGF0IGEgdmFsdWUgaXMgcmVxdWlyZWQgZm9yIHRoaXMgZWxlbWVudCwgb25seSB0aGF0IHRoZSBjb25zdW1pbmcgc3lzdGVtIG11c3QgdW5kZXJzdGFuZCB0aGUgZWxlbWVudCBhbmQgYmUgYWJsZSB0byBwcm92aWRlIHZhbHVlcyBmb3IgaXQgaWYgdGhleSBhcmUgYXZhaWxhYmxlLiAmIzEwOyYjMTA7VGhlIHZhbHVlIG9mIG11c3RTdXBwb3J0IFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHR5cGUgb2YgdGhlIERhdGFSZXF1aXJlbWVudC4gVGhlIHBhdGggU0hBTEwgY29uc2lzdCBvbmx5IG9mIGlkZW50aWZpZXJzLCBjb25zdGFudCBpbmRleGVycywgYW5kIC5yZXNvbHZlKCkgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZUZpbHRlciIgZGVzY3JpcHRpb249IldoYXQgY29kZXMgYXJlIGV4cGVjdGVkIiBkZWZpbml0aW9uPSJDb2RlIGZpbHRlcnMgc3BlY2lmeSBhZGRpdGlvbmFsIGNvbnN0cmFpbnRzIG9uIHRoZSBkYXRhLCBzcGVjaWZ5aW5nIHRoZSB2YWx1ZSBzZXQgb2YgaW50ZXJlc3QgZm9yIGEgcGFydGljdWxhciBlbGVtZW50IG9mIHRoZSBkYXRhLiBFYWNoIGNvZGUgZmlsdGVyIGRlZmluZXMgYW4gYWRkaXRpb25hbCBjb25zdHJhaW50IG9uIHRoZSBkYXRhLCBpLmUuIGNvZGUgZmlsdGVycyBhcmUgQU5EJ2VkLCBub3QgT1InZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXRhUmVxdWlyZW1lbnQuQ29kZUZpbHRlciIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJkcnEtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJFaXRoZXIgYSBwYXRoIG9yIGEgc2VhcmNoUGFyYW0gbXVzdCBiZSBwcm92aWRlZCwgYnV0IG5vdCBib3RoIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJwYXRoLmV4aXN0cygpIHhvciBzZWFyY2hQYXJhbS5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGVGaWx0ZXIiIGRlc2NyaXB0aW9uPSJXaGF0IGRhdGVzL2RhdGUgcmFuZ2VzIGFyZSBleHBlY3RlZCIgZGVmaW5pdGlvbj0iRGF0ZSBmaWx0ZXJzIHNwZWNpZnkgYWRkaXRpb25hbCBjb25zdHJhaW50cyBvbiB0aGUgZGF0YSBpbiB0ZXJtcyBvZiB0aGUgYXBwbGljYWJsZSBkYXRlIHJhbmdlIGZvciBzcGVjaWZpYyBlbGVtZW50cy4gRWFjaCBkYXRlIGZpbHRlciBzcGVjaWZpZXMgYW4gYWRkaXRpb25hbCBjb25zdHJhaW50IG9uIHRoZSBkYXRhLCBpLmUuIGRhdGUgZmlsdGVycyBhcmUgQU5EJ2VkLCBub3QgT1InZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXRhUmVxdWlyZW1lbnQuRGF0ZUZpbHRlciIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJkcnEtMiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJFaXRoZXIgYSBwYXRoIG9yIGEgc2VhcmNoUGFyYW0gbXVzdCBiZSBwcm92aWRlZCwgYnV0IG5vdCBib3RoIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJwYXRoLmV4aXN0cygpIHhvciBzZWFyY2hQYXJhbS5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxpbWl0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIHJlc3VsdHMiIGRlZmluaXRpb249IlNwZWNpZmllcyBhIG1heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgdGhhdCBhcmUgcmVxdWlyZWQgKHVzZXMgdGhlIF9jb3VudCBzZWFyY2ggcGFyYW1ldGVyKS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBzb3J0IGVsZW1lbnQgdG8gc3BlY2lmeSBxdW90YSByZXF1aXJlbWVudHMgc3VjaCBhcyAmcXVvdDt0aGUgbW9zdCByZWNlbnQgNSZxdW90OyBvciAmcXVvdDt0aGUgaGlnaGVzdCA1JnF1b3Q7LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNvcnQiIGRlc2NyaXB0aW9uPSJPcmRlciBvZiB0aGUgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIHRoZSBvcmRlciBvZiB0aGUgcmVzdWx0cyB0byBiZSByZXR1cm5lZC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBzb3J0IGVsZW1lbnQgdG8gc3BlY2lmeSBxdW90YSByZXF1aXJlbWVudHMgc3VjaCBhcyAmcXVvdDt0aGUgbW9zdCByZWNlbnQgNSZxdW90OyBvciAmcXVvdDt0aGUgaGlnaGVzdCA1JnF1b3Q7LiBXaGVuIG11bHRpcGxlIHNvcnRzIGFyZSBzcGVjaWZpZWQsIHRoZXkgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyIGluIHRoZSByZXNvdXJjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRhdGFSZXF1aXJlbWVudC5Tb3J0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF0YVJlcXVpcmVtZW50LkNvZGVGaWx0ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGNvZGUtdmFsdWVkIGF0dHJpYnV0ZSB0byBmaWx0ZXIgb24iIGRlZmluaXRpb249IlRoZSBjb2RlLXZhbHVlZCBhdHRyaWJ1dGUgb2YgdGhlIGZpbHRlci4gVGhlIHNwZWNpZmllZCBwYXRoIFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCBTSEFMTCBjb25zaXN0IG9ubHkgb2YgaWRlbnRpZmllcnMsIGNvbnN0YW50IGluZGV4ZXJzLCBhbmQgLnJlc29sdmUoKS4gVGhlIHBhdGggaXMgYWxsb3dlZCB0byBjb250YWluIHF1YWxpZmllcnMgKC4pIHRvIHRyYXZlcnNlIHN1Yi1lbGVtZW50cywgYXMgd2VsbCBhcyBpbmRleGVycyAoW3hdKSB0byB0cmF2ZXJzZSBtdWx0aXBsZS1jYXJkaW5hbGl0eSBzdWItZWxlbWVudHMgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIE5vdGUgdGhhdCB0aGUgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGNvbnN0YW50LiBUaGUgcGF0aCBtdXN0IHJlc29sdmUgdG8gYW4gZWxlbWVudCBvZiB0eXBlIGNvZGUsIENvZGluZywgb3IgQ29kZWFibGVDb25jZXB0LiIgY29tbWVudD0iVGhlIHBhdGggYXR0cmlidXRlIGNvbnRhaW5zIGEgW1NpbXBsZSBGSElSUGF0aCBTdWJzZXRdKGZoaXJwYXRoLmh0bWwjc2ltcGxlKSB0aGF0IGFsbG93cyBwYXRoIHRyYXZlcnNhbCwgYnV0IG5vdCBjYWxjdWxhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZWFyY2hQYXJhbSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCAodG9rZW4pIHBhcmFtZXRlciB0byBzZWFyY2ggb24iIGRlZmluaXRpb249IkEgdG9rZW4gcGFyYW1ldGVyIHRoYXQgcmVmZXJzIHRvIGEgc2VhcmNoIHBhcmFtZXRlciBkZWZpbmVkIG9uIHRoZSBzcGVjaWZpZWQgdHlwZSBvZiB0aGUgRGF0YVJlcXVpcmVtZW50LCBhbmQgd2hpY2ggc2VhcmNoZXMgb24gZWxlbWVudHMgb2YgdHlwZSBjb2RlLCBDb2RpbmcsIG9yIENvZGVhYmxlQ29uY2VwdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZVNldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmFsdWVzZXQgZm9yIHRoZSBmaWx0ZXIiIGRlZmluaXRpb249IlRoZSB2YWx1ZXNldCBmb3IgdGhlIGNvZGUgZmlsdGVyLiBUaGUgdmFsdWVTZXQgYW5kIGNvZGUgZWxlbWVudHMgYXJlIGFkZGl0aXZlLiBJZiB2YWx1ZVNldCBpcyBzcGVjaWZpZWQsIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIGZvciB3aGljaCB0aGUgdmFsdWUgb2YgdGhlIGNvZGUtdmFsdWVkIGVsZW1lbnQgc3BlY2lmaWVkIGluIHRoZSBwYXRoIGlzIGEgbWVtYmVyIG9mIHRoZSBzcGVjaWZpZWQgdmFsdWVzZXQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgY29kZSBpcyBleHBlY3RlZCIgZGVmaW5pdGlvbj0iVGhlIGNvZGVzIGZvciB0aGUgY29kZSBmaWx0ZXIuIElmIHZhbHVlcyBhcmUgZ2l2ZW4sIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIGZvciB3aGljaCB0aGUgY29kZS12YWx1ZWQgYXR0cmlidXRlIHNwZWNpZmllZCBieSB0aGUgcGF0aCBoYXMgYSB2YWx1ZSB0aGF0IGlzIG9uZSBvZiB0aGUgc3BlY2lmaWVkIGNvZGVzLiBJZiBjb2RlcyBhcmUgc3BlY2lmaWVkIGluIGFkZGl0aW9uIHRvIGEgdmFsdWUgc2V0LCB0aGUgZmlsdGVyIHJldHVybnMgaXRlbXMgbWF0Y2hpbmcgYSBjb2RlIGluIHRoZSB2YWx1ZSBzZXQgb3Igb25lIG9mIHRoZSBzcGVjaWZpZWQgY29kZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF0YVJlcXVpcmVtZW50LkRhdGVGaWx0ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGRhdGUtdmFsdWVkIGF0dHJpYnV0ZSB0byBmaWx0ZXIgb24iIGRlZmluaXRpb249IlRoZSBkYXRlLXZhbHVlZCBhdHRyaWJ1dGUgb2YgdGhlIGZpbHRlci4gVGhlIHNwZWNpZmllZCBwYXRoIFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCBTSEFMTCBjb25zaXN0IG9ubHkgb2YgaWRlbnRpZmllcnMsIGNvbnN0YW50IGluZGV4ZXJzLCBhbmQgLnJlc29sdmUoKS4gVGhlIHBhdGggaXMgYWxsb3dlZCB0byBjb250YWluIHF1YWxpZmllcnMgKC4pIHRvIHRyYXZlcnNlIHN1Yi1lbGVtZW50cywgYXMgd2VsbCBhcyBpbmRleGVycyAoW3hdKSB0byB0cmF2ZXJzZSBtdWx0aXBsZS1jYXJkaW5hbGl0eSBzdWItZWxlbWVudHMgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIE5vdGUgdGhhdCB0aGUgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGNvbnN0YW50LiBUaGUgcGF0aCBtdXN0IHJlc29sdmUgdG8gYW4gZWxlbWVudCBvZiB0eXBlIGRhdGUsIGRhdGVUaW1lLCBQZXJpb2QsIFNjaGVkdWxlLCBvciBUaW1pbmcuIiBjb21tZW50PSJUaGUgcGF0aCBhdHRyaWJ1dGUgY29udGFpbnMgYSBbU2ltcGxlIEZISVIgU3Vic2V0XShmaGlycGF0aC5odG1sI3NpbXBsZSkgdGhhdCBhbGxvd3MgcGF0aCB0cmF2ZXJzYWwsIGJ1dCBub3QgY2FsY3VsYXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VhcmNoUGFyYW0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgZGF0ZSB2YWx1ZWQgcGFyYW1ldGVyIHRvIHNlYXJjaCBvbiIgZGVmaW5pdGlvbj0iQSBkYXRlIHBhcmFtZXRlciB0aGF0IHJlZmVycyB0byBhIHNlYXJjaCBwYXJhbWV0ZXIgZGVmaW5lZCBvbiB0aGUgc3BlY2lmaWVkIHR5cGUgb2YgdGhlIERhdGFSZXF1aXJlbWVudCwgYW5kIHdoaWNoIHNlYXJjaGVzIG9uIGVsZW1lbnRzIG9mIHR5cGUgZGF0ZSwgZGF0ZVRpbWUsIFBlcmlvZCwgU2NoZWR1bGUsIG9yIFRpbWluZy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdmFsdWUgb2YgdGhlIGZpbHRlciwgYXMgYSBQZXJpb2QsIERhdGVUaW1lLCBvciBEdXJhdGlvbiB2YWx1ZSIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBmaWx0ZXIuIElmIHBlcmlvZCBpcyBzcGVjaWZpZWQsIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIHRoYXQgZmFsbCB3aXRoaW4gdGhlIGJvdW5kcyBkZXRlcm1pbmVkIGJ5IHRoZSBQZXJpb2QsIGluY2x1c2l2ZSBvZiB0aGUgcGVyaW9kIGJvdW5kYXJpZXMuIElmIGRhdGVUaW1lIGlzIHNwZWNpZmllZCwgdGhlIGZpbHRlciB3aWxsIHJldHVybiBvbmx5IHRob3NlIGRhdGEgaXRlbXMgdGhhdCBhcmUgZXF1YWwgdG8gdGhlIHNwZWNpZmllZCBkYXRlVGltZS4gSWYgYSBEdXJhdGlvbiBpcyBzcGVjaWZpZWQsIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIHRoYXQgZmFsbCB3aXRoaW4gRHVyYXRpb24gYmVmb3JlIG5vdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQuU29ydCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdG8gcGVyZm9ybSB0aGUgc29ydCIgZGVmaW5pdGlvbj0iVGhlIGF0dHJpYnV0ZSBvZiB0aGUgc29ydC4gVGhlIHNwZWNpZmllZCBwYXRoIG11c3QgYmUgcmVzb2x2YWJsZSBmcm9tIHRoZSB0eXBlIG9mIHRoZSByZXF1aXJlZCBkYXRhLiBUaGUgcGF0aCBpcyBhbGxvd2VkIHRvIGNvbnRhaW4gcXVhbGlmaWVycyAoLikgdG8gdHJhdmVyc2Ugc3ViLWVsZW1lbnRzLCBhcyB3ZWxsIGFzIGluZGV4ZXJzIChbeF0pIHRvIHRyYXZlcnNlIG11bHRpcGxlLWNhcmRpbmFsaXR5IHN1Yi1lbGVtZW50cy4gTm90ZSB0aGF0IHRoZSBpbmRleCBtdXN0IGJlIGFuIGludGVnZXIgY29uc3RhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlyZWN0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNvcnREaXJlY3Rpb24iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYXNjZW5kaW5nIHwgZGVzY2VuZGluZyIgZGVmaW5pdGlvbj0iVGhlIGRpcmVjdGlvbiBvZiB0aGUgc29ydCwgYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU29ydERpcmVjdGlvbiIgZGVzY3JpcHRpb249IlRoZSBwb3NzaWJsZSBzb3J0IGRpcmVjdGlvbnMsIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF5T2ZXZWVrIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRheXNPZldlZWsiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1kZXZpY2UiIGxhYmVsPSJRSUNvcmUgRGV2aWNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iSW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIGluc3RhbmNlIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIGEgZGV2aWNlIGJ5IG1hbnVmYWN0dXJlcnMgb3RoZXIgb3JnYW5pemF0aW9ucyBvciBvd25lcnMuIiBjb21tZW50PSJUaGUgYmFyY29kZSBzdHJpbmcgZnJvbSBhIGJhcmNvZGUgcHJlc2VudCBvbiBhIGRldmljZSBsYWJlbCBvciBwYWNrYWdlIG1heSBpZGVudGlmeSB0aGUgaW5zdGFuY2UsIGluY2x1ZGUgbmFtZXMgZ2l2ZW4gdG8gdGhlIGRldmljZSBpbiBsb2NhbCB1c2FnZSwgb3IgbWF5IGlkZW50aWZ5IHRoZSB0eXBlIG9mIGRldmljZS4gSWYgdGhlIGlkZW50aWZpZXIgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiBkZXZpY2UsIERldmljZS50eXBlIGVsZW1lbnQgc2hvdWxkIGJlIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlZmluaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGlDYXJyaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIERldmljZSBJZGVudGlmaWVyIChVREkpIEJhcmNvZGUgc3RyaW5nIiBkZWZpbml0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIgKFVESSkgYXNzaWduZWQgdG8gZGV2aWNlIGxhYmVsIG9yIHBhY2thZ2UuICBOb3RlIHRoYXQgdGhlIERldmljZSBtYXkgaW5jbHVkZSBtdWx0aXBsZSB1ZGlDYXJyaWVycyBhcyBpdCBlaXRoZXIgbWF5IGluY2x1ZGUganVzdCB0aGUgdWRpQ2FycmllciBmb3IgdGhlIGp1cmlzZGljdGlvbiBpdCBpcyBzb2xkLCBvciBmb3IgbXVsdGlwbGUganVyaXNkaWN0aW9ucyBpdCBjb3VsZCBoYXZlIGJlZW4gc29sZC4iIGNvbW1lbnQ9IlVESSBtYXkgaWRlbnRpZnkgYW4gdW5pcXVlIGluc3RhbmNlIG9mIGEgZGV2aWNlLCBvciBpdCBtYXkgb25seSBpZGVudGlmeSB0aGUgdHlwZSBvZiB0aGUgZGV2aWNlLiAgU2VlIFtVREkgbWFwcGluZ3NdKGRldmljZS1tYXBwaW5ncy5odG1sI3VkaSkgZm9yIGEgY29tcGxldGUgbWFwcGluZyBvZiBVREkgcGFydHMgdG8gRGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLlVkaUNhcnJpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJEZXZpY2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iU3RhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGluYWN0aXZlIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgZGV2aWNlIChyZWNvcmQpYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJvbmxpbmUgfCBwYXVzZWQgfCBzdGFuZGJ5IHwgb2ZmbGluZSB8IG5vdC1yZWFkeSB8IHRyYW5zZHVjLWRpc2NvbiB8IGh3LWRpc2NvbiB8IG9mZiIgZGVmaW5pdGlvbj0iUmVhc29uIGZvciB0aGUgZHRhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgcmVhc29uIG9mIHRoZSBkZXZpY2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXN0aW5jdElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBkaXN0aW5jdCBpZGVudGlmaWNhdGlvbiBzdHJpbmciIGRlZmluaXRpb249IlRoZSBkaXN0aW5jdCBpZGVudGlmaWNhdGlvbiBzdHJpbmcgYXMgcmVxdWlyZWQgYnkgcmVndWxhdGlvbiBmb3IgYSBodW1hbiBjZWxsLCB0aXNzdWUsIG9yIGNlbGx1bGFyIGFuZCB0aXNzdWUtYmFzZWQgcHJvZHVjdC4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCB0aGlzIGFwcGxpZXMgdG8gZGV2aWNlcyBpbiB0aGUgVW5pdGVkIFN0YXRlcyByZWd1bGF0ZWQgdW5kZXIgKkNvZGUgb2YgRmVkZXJhbCBSZWd1bGF0aW9uIDIxQ0ZSwqcxMjcxLjI5MChjKSouIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIGRldmljZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IkEgbmFtZSBvZiB0aGUgbWFudWZhY3R1cmVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlIHdoZW4gdGhlIGRldmljZSB3YXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgZGV2aWNlIHdhcyBtYW51ZmFjdHVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSBhbmQgdGltZSBvZiBleHBpcnkgb2YgdGhpcyBkZXZpY2UgKGlmIGFwcGxpY2FibGUpIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSBiZXlvbmQgd2hpY2ggdGhpcyBkZXZpY2UgaXMgbm8gbG9uZ2VyIHZhbGlkIG9yIHNob3VsZCBub3QgYmUgdXNlZCAoaWYgYXBwbGljYWJsZSkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG90TnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMb3QgbnVtYmVyIG9mIG1hbnVmYWN0dXJlIiBkZWZpbml0aW9uPSJMb3QgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBtYW51ZmFjdHVyZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWFsTnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTZXJpYWwgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IlRoZSBzZXJpYWwgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBvcmdhbml6YXRpb24gd2hlbiB0aGUgZGV2aWNlIHdhcyBtYW51ZmFjdHVyZWQuIiBjb21tZW50PSJBbHBoYW51bWVyaWMgTWF4aW11bSAyMC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2VOYW1lIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZSBhcyBnaXZlbiBieSB0aGUgbWFudWZhY3R1cmVyIiBkZWZpbml0aW9uPSJUaGlzIHJlcHJlc2VudHMgdGhlIG1hbnVmYWN0dXJlcidzIG5hbWUgb2YgdGhlIGRldmljZSBhcyBwcm92aWRlZCBieSB0aGUgZGV2aWNlLCBmcm9tIGEgVURJIGxhYmVsLCBvciBieSBhIHBlcnNvbiBkZXNjcmliaW5nIHRoZSBEZXZpY2UuICBUaGlzIHR5cGljYWxseSB3b3VsZCBiZSB1c2VkIHdoZW4gYSBwZXJzb24gcHJvdmlkZXMgdGhlIG5hbWUocykgb3Igd2hlbiB0aGUgZGV2aWNlIHJlcHJlc2VudHMgb25lIG9mIHRoZSBuYW1lcyBhdmFpbGFibGUgZnJvbSBEZXZpY2VEZWZpbml0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLkRldmljZU5hbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kZWxOdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHBhcnQgbnVtYmVyIG9mIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXJ0IG51bWJlciBvZiB0aGUgZGV2aWNlLiIgY29tbWVudD0iQWxwaGFudW1lcmljIE1heGltdW0gMjAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGtpbmQgb3IgdHlwZSBvZiBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBraW5kIG9yIHR5cGUgb2YgZGV2aWNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSBtZWRpY2FsIGRldmljZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaWFsaXphdGlvbiIgZGVzY3JpcHRpb249IlRoZSBjYXBhYmlsaXRpZXMgc3VwcG9ydGVkIG9uIGEgIGRldmljZSwgdGhlIHN0YW5kYXJkcyB0byB3aGljaCB0aGUgZGV2aWNlIGNvbmZvcm1zIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSwgYW5kIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgY2FwYWJpbGl0aWVzIHN1cHBvcnRlZCBvbiBhICBkZXZpY2UsIHRoZSBzdGFuZGFyZHMgdG8gd2hpY2ggdGhlIGRldmljZSBjb25mb3JtcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UsIGFuZCB1c2VkIGZvciB0aGUgY29tbXVuaWNhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5TcGVjaWFsaXphdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2ZXJzaW9uIiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBkZXNpZ24gb2YgdGhlIGRldmljZSBvciBzb2Z0d2FyZSB2ZXJzaW9uIHJ1bm5pbmcgb24gdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBkZXNpZ24gb2YgdGhlIGRldmljZSBvciBzb2Z0d2FyZSB2ZXJzaW9uIHJ1bm5pbmcgb24gdGhlIGRldmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5WZXJzaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb3BlcnR5IiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBjb25maWd1cmF0aW9uIHNldHRpbmdzIG9mIGEgZGV2aWNlIGFzIGl0IGFjdHVhbGx5IG9wZXJhdGVzLCBlLmcuLCByZWd1bGF0aW9uIHN0YXR1cywgdGltZSBwcm9wZXJ0aWVzIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2YgYSBkZXZpY2UgYXMgaXQgYWN0dWFsbHkgb3BlcmF0ZXMsIGUuZy4sIHJlZ3VsYXRpb24gc3RhdHVzLCB0aW1lIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuUHJvcGVydHkiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUGF0aWVudCB0byB3aG9tIERldmljZSBpcyBhZmZpeGVkIiBkZWZpbml0aW9uPSJQYXRpZW50IGluZm9ybWF0aW9uLCBJZiB0aGUgZGV2aWNlIGlzIGFmZml4ZWQgdG8gYSBwZXJzb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3duZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciBkZXZpY2UiIGRlZmluaXRpb249IkFuIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uIGFuZCBvbmdvaW5nIG1haW50ZW5hbmNlIG9mIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkRldGFpbHMgZm9yIGh1bWFuL29yZ2FuaXphdGlvbiBmb3Igc3VwcG9ydCIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIGZvciBhbiBvcmdhbml6YXRpb24gb3IgYSBwYXJ0aWN1bGFyIGh1bWFuIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBkZXZpY2UuIiBjb21tZW50PSJ1c2VkIGZvciB0cm91Ymxlc2hvb3RpbmcgZXRjLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBkZXZpY2UgaXMgZm91bmQiIGRlZmluaXRpb249IlRoZSBwbGFjZSB3aGVyZSB0aGUgZGV2aWNlIGNhbiBiZSBmb3VuZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5ldHdvcmsgYWRkcmVzcyB0byBjb250YWN0IGRldmljZSIgZGVmaW5pdGlvbj0iQSBuZXR3b3JrIGFkZHJlc3Mgb24gd2hpY2ggdGhlIGRldmljZSBtYXkgYmUgY29udGFjdGVkIGRpcmVjdGx5LiIgY29tbWVudD0iSWYgdGhlIGRldmljZSBpcyBydW5uaW5nIGEgRkhJUiBzZXJ2ZXIsIHRoZSBuZXR3b3JrIGFkZHJlc3Mgc2hvdWxkICBiZSB0aGUgQmFzZSBVUkwgZnJvbSB3aGljaCBhIGNvbmZvcm1hbmNlIHN0YXRlbWVudCBtYXkgYmUgcmV0cmlldmVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJEZXZpY2Ugbm90ZXMgYW5kIGNvbW1lbnRzIiBkZWZpbml0aW9uPSJEZXNjcmlwdGl2ZSBpbmZvcm1hdGlvbiwgdXNhZ2UgaW5mb3JtYXRpb24gb3IgaW1wbGFudGF0aW9uIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IGNhcHR1cmVkIGluIGFuIGV4aXN0aW5nIGVsZW1lbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNhZmV0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNhZmV0eSBDaGFyYWN0ZXJpc3RpY3Mgb2YgRGV2aWNlIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhZGRpdGlvbmFsIHNhZmV0eSBjaGFyYWN0ZXJpc3RpY3MgYWJvdXQgYSBtZWRpY2FsIGRldmljZS4gIEZvciBleGFtcGxlIGRldmljZXMgY29udGFpbmluZyBsYXRleC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFyZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBwYXJlbnQgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgcGFyZW50IGRldmljZS4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZS5EZXZpY2VOYW1lIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgbmFtZSBvZiB0aGUgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgZGV2aWNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlTmFtZVR5cGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0idWRpLWxhYmVsLW5hbWUgfCB1c2VyLWZyaWVuZGx5LW5hbWUgfCBwYXRpZW50LXJlcG9ydGVkLW5hbWUgfCBtYW51ZmFjdHVyZXItbmFtZSB8IG1vZGVsLW5hbWUgfCBvdGhlciIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgZGV2aWNlTmFtZS4mIzEwO1VESUxhYmVsTmFtZSB8IFVzZXJGcmllbmRseU5hbWUgfCBQYXRpZW50UmVwb3J0ZWROYW1lIHwgTWFudWZhY3R1cmVEZXZpY2VOYW1lIHwgTW9kZWxOYW1lLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZU5hbWVUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgbmFtZSB0aGUgZGV2aWNlIGlzIHJlZmVycmVkIGJ5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlLlByb3BlcnR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIHRoYXQgc3BlY2lmaWVzIHRoZSBwcm9wZXJ0eSBEZXZpY2VEZWZpbml0aW9uUHJvcGV0eUNvZGUgKEV4dGVuc2libGUpIiBkZWZpbml0aW9uPSJDb2RlIHRoYXQgc3BlY2lmaWVzIHRoZSBwcm9wZXJ0eSBEZXZpY2VEZWZpbml0aW9uUHJvcGV0eUNvZGUgKEV4dGVuc2libGUpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBxdWFudGl0eSIgZGVmaW5pdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBxdWFudGl0eS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByb3BlcnR5IHZhbHVlIGFzIGEgY29kZSwgZS5nLiwgTlRQNCAoc3luY2VkIHRvIE5UUCkiIGRlZmluaXRpb249IlByb3BlcnR5IHZhbHVlIGFzIGEgY29kZSwgZS5nLiwgTlRQNCAoc3luY2VkIHRvIE5UUCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlLlNwZWNpYWxpemF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW1UeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgc3RhbmRhcmQgdGhhdCBpcyB1c2VkIHRvIG9wZXJhdGUgYW5kIGNvbW11bmljYXRlIiBkZWZpbml0aW9uPSJUaGUgc3RhbmRhcmQgdGhhdCBpcyB1c2VkIHRvIG9wZXJhdGUgYW5kIGNvbW11bmljYXRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB2ZXJzaW9uIG9mIHRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUiIGRlZmluaXRpb249IlRoZSB2ZXJzaW9uIG9mIHRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UuVWRpQ2FycmllciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlSWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBNYW5kYXRvcnkgZml4ZWQgcG9ydGlvbiBvZiBVREkiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgaWRlbnRpZmllciAoREkpIGlzIGEgbWFuZGF0b3J5LCBmaXhlZCBwb3J0aW9uIG9mIGEgVURJIHRoYXQgaWRlbnRpZmllcyB0aGUgbGFiZWxlciBhbmQgdGhlIHNwZWNpZmljIHZlcnNpb24gb3IgbW9kZWwgb2YgYSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVURJIElzc3VpbmcgT3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJPcmdhbml6YXRpb24gdGhhdCBpcyBjaGFyZ2VkIHdpdGggaXNzdWluZyBVRElzIGZvciBkZXZpY2VzLiAgRm9yIGV4YW1wbGUsIHRoZSBVUyBGREEgaXNzdWVycyBpbmNsdWRlIDomIzEwOzEpIEdTMTogJiMxMDtodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9nczEtZGksICYjMTA7MikgSElCQ0M6JiMxMDtodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9oaWJjYy1kSSwgJiMxMDszKSBJQ0NCQkEgZm9yIGJsb29kIGNvbnRhaW5lcnM6JiMxMDtodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9pY2NiYmEtYmxvb2QtZGksICYjMTA7NCkgSUNDQkEgZm9yIG90aGVyIGRldmljZXM6JiMxMDtodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9pY2NiYmEtb3RoZXItZGkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ianVyaXNkaWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZWdpb25hbCBVREkgYXV0aG9yaXR5IiBkZWZpbml0aW9uPSJUaGUgaWRlbnRpdHkgb2YgdGhlIGF1dGhvcml0YXRpdmUgc291cmNlIGZvciBVREkgZ2VuZXJhdGlvbiB3aXRoaW4gYSAganVyaXNkaWN0aW9uLiAgQWxsIFVESXMgYXJlIGdsb2JhbGx5IHVuaXF1ZSB3aXRoaW4gYSBzaW5nbGUgbmFtZXNwYWNlIHdpdGggdGhlIGFwcHJvcHJpYXRlIHJlcG9zaXRvcnkgdXJpIGFzIHRoZSBzeXN0ZW0uICBGb3IgZXhhbXBsZSwgIFVESXMgb2YgZGV2aWNlcyBtYW5hZ2VkIGluIHRoZSBVLlMuIGJ5IHRoZSBGREEsIHRoZSB2YWx1ZSBpcyAgaHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vZmRhLXVkaS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXJyaWVyQUlEQyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVURJIE1hY2hpbmUgUmVhZGFibGUgQmFyY29kZSBTdHJpbmciIGRlZmluaXRpb249IlRoZSBmdWxsIFVESSBjYXJyaWVyIG9mIHRoZSBBdXRvbWF0aWMgSWRlbnRpZmljYXRpb24gYW5kIERhdGEgQ2FwdHVyZSAoQUlEQykgdGVjaG5vbG9neSByZXByZXNlbnRhdGlvbiBvZiB0aGUgYmFyY29kZSBzdHJpbmcgYXMgcHJpbnRlZCBvbiB0aGUgcGFja2FnaW5nIG9mIHRoZSBkZXZpY2UgLSBlLmcuLCBhIGJhcmNvZGUgb3IgUkZJRC4gICBCZWNhdXNlIG9mIGxpbWl0YXRpb25zIG9uIGNoYXJhY3RlciBzZXRzIGluIFhNTCBhbmQgdGhlIG5lZWQgdG8gcm91bmQtdHJpcCBKU09OIGRhdGEgdGhyb3VnaCBYTUwsIEFJREMgRm9ybWF0cyAqU0hBTEwqIGJlIGJhc2U2NCBlbmNvZGVkLiIgY29tbWVudD0iVGhlIEFJREMgZm9ybSBvZiBVRElzIHNob3VsZCBiZSBzY2FubmVkIG9yIG90aGVyd2lzZSB1c2VkIGZvciB0aGUgaWRlbnRpZmljYXRpb24gb2YgdGhlIGRldmljZSB3aGVuZXZlciBwb3NzaWJsZSB0byBtaW5pbWl6ZSBlcnJvcnMgaW4gcmVjb3JkcyByZXN1bHRpbmcgZnJvbSBtYW51YWwgdHJhbnNjcmlwdGlvbnMuIElmIHNlcGFyYXRlIGJhcmNvZGVzIGZvciBESSBhbmQgUEkgYXJlIHByZXNlbnQsIGNvbmNhdGVuYXRlIHRoZSBzdHJpbmcgd2l0aCBESSBmaXJzdCBhbmQgaW4gb3JkZXIgb2YgaHVtYW4gcmVhZGFibGUgZXhwcmVzc2lvbiBvbiBsYWJlbC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXJyaWVySFJGIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFVESSBIdW1hbiBSZWFkYWJsZSBCYXJjb2RlIFN0cmluZyIgZGVmaW5pdGlvbj0iVGhlIGZ1bGwgVURJIGNhcnJpZXIgYXMgdGhlIGh1bWFuIHJlYWRhYmxlIGZvcm0gKEhSRikgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJhcmNvZGUgc3RyaW5nIGFzIHByaW50ZWQgb24gdGhlIHBhY2thZ2luZyBvZiB0aGUgZGV2aWNlLiIgY29tbWVudD0iSWYgc2VwYXJhdGUgYmFyY29kZXMgZm9yIERJIGFuZCBQSSBhcmUgcHJlc2VudCwgY29uY2F0ZW5hdGUgdGhlIHN0cmluZyB3aXRoIERJIGZpcnN0IGFuZCBpbiBvcmRlciBvZiBodW1hbiByZWFkYWJsZSBleHByZXNzaW9uIG9uIGxhYmVsLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbnRyeVR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVURJRW50cnlUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImJhcmNvZGUgfCByZmlkIHwgbWFudWFsICsiIGRlZmluaXRpb249IkEgY29kZWQgZW50cnkgdG8gaW5kaWNhdGUgaG93IHRoZSBkYXRhIHdhcyBlbnRlcmVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVESUVudHJ5VHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IGhvdyBVREkgZGF0YSB3YXMgZW50ZXJlZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZS5WZXJzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgZGV2aWNlIHZlcnNpb24iIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHRoZSBkZXZpY2UgdmVyc2lvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkEgc2luZ2xlIGNvbXBvbmVudCBvZiB0aGUgZGV2aWNlIHZlcnNpb24iIGRlZmluaXRpb249IkEgc2luZ2xlIGNvbXBvbmVudCBvZiB0aGUgZGV2aWNlIHZlcnNpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB2ZXJzaW9uIHRleHQiIGRlZmluaXRpb249IlRoZSB2ZXJzaW9uIHRleHQuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VOYW1lVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VOb3RSZXF1ZXN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRldmljZW5vdHJlcXVlc3RlZCIgbGFiZWw9IlFJQ29yZSBEZXZpY2UgTm90IFJlcXVlc3RlZCIgdGFyZ2V0PSJEZXZpY2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm1SZWFzb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9Ob3RQZXJmb3JtUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRvTm90UGVyZm9ybVJlYXNvbiddLnZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFeHRlbnNpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHRoZSBldmVudCB3YXMgbm90IHBlcmZvcm1lZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIlcGFyZW50Lm1vZGlmaWVyRXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci81LjAvU3RydWN0dXJlRGVmaW5pdGlvbi9leHRlbnNpb24tRGV2aWNlUmVxdWVzdC5kb05vdFBlcmZvcm0nXS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFeHRlbnNpb24iIGRlZmluaXRpb249IkFuIEV4dGVuc2lvbiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBSZXF1ZXN0IGlkZW50aWZpZXIiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgb3JkZXIgYnkgdGhlIG9yZGVyZXIgb3IgYnkgdGhlIHJlY2VpdmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRGV2aWNlUmVxdWVzdC4iIGNvbW1lbnQ9Ik5vdGU6IFRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBEZXZpY2VSZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yUmVxdWVzdCIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCByZXBsYWNlcyIgZGVmaW5pdGlvbj0iVGhlIHJlcXVlc3QgdGFrZXMgdGhlIHBsYWNlIG9mIHRoZSByZWZlcmVuY2VkIGNvbXBsZXRlZCBvciB0ZXJtaW5hdGVkIHJlcXVlc3QocykuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyIG9mIGNvbXBvc2l0ZSByZXF1ZXN0IiBkZWZpbml0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZVJlcXVlc3RTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGRyYWZ0IHwgYWN0aXZlIHwgb24taG9sZCB8IHJldm9rZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBjYW5jZWxsZWQgYW5kIGVudGVyZWQtaW4tZXJyb3IgdGhhdCBtYXJrIHRoZSByZXF1ZXN0IGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlUmVxdWVzdFN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHJlcHJlc2VudGluZyB0aGUgc3RhdHVzIG9mIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBwcm9wb3NhbCB8IHBsYW4gfCBkaXJlY3RpdmUgfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHJlcXVlc3QgaXMgYSBwcm9wb3NhbCwgcGxhbiwgYW4gb3JpZ2luYWwgb3JkZXIgb3IgYSByZWZsZXggb3JkZXIuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVxdWVzdEludGVudCIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIGRpYWdub3N0aWMgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXF1ZXN0UHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIHt7dGl0bGV9fSBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZXF1ZXN0UHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBsZXZlbCBvZiBpbXBvcnRhbmNlIHRvIGJlIGFzc2lnbmVkIHRvIGFjdGlvbmluZyB0aGUgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZVt4XS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRGV2aWNlIHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iVGhlIGRldGFpbHMgb2YgdGhlIGRldmljZSB0byBiZSB1c2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcmFtZXRlciIgZGVzY3JpcHRpb249IkRldmljZSBkZXRhaWxzIiBkZWZpbml0aW9uPSJTcGVjaWZpYyBwYXJhbWV0ZXJzIGZvciB0aGUgb3JkZXJlZCBpdGVtLiAgRm9yIGV4YW1wbGUsIHRoZSBwcmlzbSB2YWx1ZSBmb3IgbGVuc2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlUmVxdWVzdC5QYXJhbWV0ZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRm9jdXMgb2YgcmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQgd2hvIHdpbGwgdXNlIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBtb3RpdmF0aW5nIHJlcXVlc3QiIGRlZmluaXRpb249IkFuIGVuY291bnRlciB0aGF0IHByb3ZpZGVzIGFkZGl0aW9uYWwgY29udGV4dCBpbiB3aGljaCB0aGlzIHJlcXVlc3QgaXMgbWFkZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlbmNlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2lyZWQgdGltZSBvciBzY2hlZHVsZSBmb3IgdXNlIiBkZWZpbml0aW9uPSJUaGUgdGltaW5nIHNjaGVkdWxlIGZvciB0aGUgdXNlIG9mIHRoZSBkZXZpY2UuIFRoZSBTY2hlZHVsZSBkYXRhIHR5cGUgYWxsb3dzIG1hbnkgZGlmZmVyZW50IGV4cHJlc3Npb25zLCBmb3IgZXhhbXBsZS4gJnF1b3Q7RXZlcnkgOCBob3VycyZxdW90OzsgJnF1b3Q7VGhyZWUgdGltZXMgYSBkYXkmcXVvdDs7ICZxdW90OzEvMiBhbiBob3VyIGJlZm9yZSBicmVha2Zhc3QgZm9yIDEwIGRheXMgZnJvbSAyMy1EZWMgMjAxMTomcXVvdDs7ICZxdW90OzE1IE9jdCAyMDEzLCAxNyBPY3QgMjAxMyBhbmQgMSBOb3YgMjAxMyZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gcmVjb3JkZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3RpbmcgZGlhZ25vc3RpY3MiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsIHdobyBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRmlsbGVyIHJvbGUiIGRlZmluaXRpb249IkRlc2lyZWQgdHlwZSBvZiBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSBkaWFnbm9zdGljIHRlc3RpbmcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlUmVxdWVzdFBhcnRpY2lwYW50Um9sZSIgZGVzY3JpcHRpb249IkluZGljYXRlcyBzcGVjaWZpYyByZXNwb25zaWJpbGl0eSBvZiBhbiBpbmRpdmlkdWFsIHdpdGhpbiB0aGUgY2FyZSB0ZWFtLCBzdWNoIGFzICZxdW90O1ByaW1hcnkgcGh5c2ljaWFuJnF1b3Q7LCAmcXVvdDtUZWFtIGNvb3JkaW5hdG9yJnF1b3Q7LCAmcXVvdDtDYXJlZ2l2ZXImcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgRmlsbGVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSBkaWFnbm9zdGljIHRlc3RpbmcuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVkIFJlYXNvbiBmb3IgcmVxdWVzdCIgZGVmaW5pdGlvbj0iUmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSB1c2Ugb2YgdGhpcyBkZXZpY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVJlcXVlc3RSZWFzb24iIGRlc2NyaXB0aW9uPSJEaWFnbm9zaXMgb3IgcHJvYmxlbSBjb2RlcyBqdXN0aWZ5aW5nIHRoZSByZWFzb24gZm9yIHJlcXVlc3RpbmcgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkxpbmtlZCBSZWFzb24gZm9yIHJlcXVlc3QiIGRlZmluaXRpb249IlJlYXNvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIHJlcXVpcmVkIGZvciBkZWxpdmVyaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhdGllbnQgdGhhdCBtYXkgaW5mbHVlbmNlIHRoZSByZXF1ZXN0IGZ1bGZpbG1lbnQuICBGb3IgZXhhbXBsZSwgdGhpcyBtYXkgaW5jbHVkZSB3aGVyZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgdGhlIGRldmljZSB3aWxsIGJlIHVzZWQgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iTm90ZXMgb3IgY29tbWVudHMiIGRlZmluaXRpb249IkRldGFpbHMgYWJvdXQgdGhpcyByZXF1ZXN0IHRoYXQgd2VyZSBub3QgcmVwcmVzZW50ZWQgYXQgYWxsIG9yIHN1ZmZpY2llbnRseSBpbiBvbmUgb2YgdGhlIGF0dHJpYnV0ZXMgcHJvdmlkZWQgaW4gYSBjbGFzcy4gVGhlc2UgbWF5IGluY2x1ZGUgZm9yIGV4YW1wbGUgYSBjb21tZW50LCBhbiBpbnN0cnVjdGlvbiwgb3IgYSBub3RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RhdGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWxldmFudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IHByb3ZlbmFuY2UiIGRlZmluaXRpb249IktleSBldmVudHMgaW4gdGhlIGhpc3Rvcnkgb2YgdGhlIHJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3QgLSBvbmx5IHRob3NlIGRlZW1lZCAmcXVvdDtyZWxldmFudCZxdW90OyBvciBpbXBvcnRhbnQuJiMxMztUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuICAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhICZxdW90O3JlbGV2YW50JnF1b3Q7IGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuICBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUmIzEzO0FsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZVJlcXVlc3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRldmljZXJlcXVlc3QiIGxhYmVsPSJRSUNvcmUgRGV2aWNlUmVxdWVzdCIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXBhcmVudC5tb2RpZmllckV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvNS4wL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLURldmljZVJlcXVlc3QuZG9Ob3RQZXJmb3JtJ10udmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJBbiBFeHRlbnNpb24iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEV4dGVybmFsIFJlcXVlc3QgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciBieSB0aGUgb3JkZXJlciBvciBieSB0aGUgcmVjZWl2ZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBEZXZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIERldmljZVJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IGZ1bGZpbGxzIiBkZWZpbml0aW9uPSJQbGFuL3Byb3Bvc2FsL29yZGVyIGZ1bGZpbGxlZCBieSB0aGlzIHJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgb2YgY29tcG9zaXRlIHJlcXVlc3QiIGRlZmluaXRpb249IkNvbXBvc2l0ZSByZXF1ZXN0IHRoaXMgaXMgcGFydCBvZi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgZHJhZnQgfCBhY3RpdmUgfCBvbi1ob2xkIHwgcmV2b2tlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGNhbmNlbGxlZCBhbmQgZW50ZXJlZC1pbi1lcnJvciB0aGF0IG1hcmsgdGhlIHJlcXVlc3QgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJEZXZpY2VSZXF1ZXN0U3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcmVwcmVzZW50aW5nIHRoZSBzdGF0dXMgb2YgdGhlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlcXVlc3RJbnRlbnQiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIHByb3Bvc2FsIHwgcGxhbiB8IGRpcmVjdGl2ZSB8IG9yZGVyIHwgb3JpZ2luYWwtb3JkZXIgfCByZWZsZXgtb3JkZXIgfCBmaWxsZXItb3JkZXIgfCBpbnN0YW5jZS1vcmRlciB8IG9wdGlvbiIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgcmVxdWVzdCBpcyBhIHByb3Bvc2FsLCBwbGFuLCBhbiBvcmlnaW5hbCBvcmRlciBvciBhIHJlZmxleCBvcmRlci4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZXF1ZXN0SW50ZW50IiBkZXNjcmlwdGlvbj0iVGhlIGtpbmQgb2YgZGlhZ25vc3RpYyByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUge3t0aXRsZX19IHNob3VsZCBiZSBhZGRyZXNzZWQgd2l0aCByZXNwZWN0IHRvIG90aGVyIHJlcXVlc3RzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERldmljZSByZXF1ZXN0ZWQiIGRlZmluaXRpb249IlRoZSBkZXRhaWxzIG9mIHRoZSBkZXZpY2UgdG8gYmUgdXNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFyYW1ldGVyIiBkZXNjcmlwdGlvbj0iRGV2aWNlIGRldGFpbHMiIGRlZmluaXRpb249IlNwZWNpZmljIHBhcmFtZXRlcnMgZm9yIHRoZSBvcmRlcmVkIGl0ZW0uICBGb3IgZXhhbXBsZSwgdGhlIHByaXNtIHZhbHVlIGZvciBsZW5zZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VSZXF1ZXN0LlBhcmFtZXRlciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBGb2N1cyBvZiByZXF1ZXN0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gd2lsbCB1c2UgdGhlIGRldmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIG1vdGl2YXRpbmcgcmVxdWVzdCIgZGVmaW5pdGlvbj0iQW4gZW5jb3VudGVyIHRoYXQgcHJvdmlkZXMgYWRkaXRpb25hbCBjb250ZXh0IGluIHdoaWNoIHRoaXMgcmVxdWVzdCBpcyBtYWRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCB0aW1lIG9yIHNjaGVkdWxlIGZvciB1c2UiIGRlZmluaXRpb249IlRoZSB0aW1pbmcgc2NoZWR1bGUgZm9yIHRoZSB1c2Ugb2YgdGhlIGRldmljZS4gVGhlIFNjaGVkdWxlIGRhdGEgdHlwZSBhbGxvd3MgbWFueSBkaWZmZXJlbnQgZXhwcmVzc2lvbnMsIGZvciBleGFtcGxlLiAmcXVvdDtFdmVyeSA4IGhvdXJzJnF1b3Q7OyAmcXVvdDtUaHJlZSB0aW1lcyBhIGRheSZxdW90OzsgJnF1b3Q7MS8yIGFuIGhvdXIgYmVmb3JlIGJyZWFrZmFzdCBmb3IgMTAgZGF5cyBmcm9tIDIzLURlYyAyMDExOiZxdW90OzsgJnF1b3Q7MTUgT2N0IDIwMTMsIDE3IE9jdCAyMDEzIGFuZCAxIE5vdiAyMDEzJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hlbiByZWNvcmRlZCIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgcmVxdWVzdCB0cmFuc2l0aW9uZWQgdG8gYmVpbmcgYWN0aW9uYWJsZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL3doYXQgaXMgcmVxdWVzdGluZyBkaWFnbm9zdGljcyIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwgd2hvIGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXJUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGaWxsZXIgcm9sZSIgZGVmaW5pdGlvbj0iRGVzaXJlZCB0eXBlIG9mIHBlcmZvcm1lciBmb3IgZG9pbmcgdGhlIGRpYWdub3N0aWMgdGVzdGluZy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJEZXZpY2VSZXF1ZXN0UGFydGljaXBhbnRSb2xlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNwZWNpZmljIHJlc3BvbnNpYmlsaXR5IG9mIGFuIGluZGl2aWR1YWwgd2l0aGluIHRoZSBjYXJlIHRlYW0sIHN1Y2ggYXMgJnF1b3Q7UHJpbWFyeSBwaHlzaWNpYW4mcXVvdDssICZxdW90O1RlYW0gY29vcmRpbmF0b3ImcXVvdDssICZxdW90O0NhcmVnaXZlciZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlcXVlc3RlZCBGaWxsZXIiIGRlZmluaXRpb249IlRoZSBkZXNpcmVkIHBlcmZvcm1lciBmb3IgZG9pbmcgdGhlIGRpYWdub3N0aWMgdGVzdGluZy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgUmVhc29uIGZvciByZXF1ZXN0IiBkZWZpbml0aW9uPSJSZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIHVzZSBvZiB0aGlzIGRldmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlUmVxdWVzdFJlYXNvbiIgZGVzY3JpcHRpb249IkRpYWdub3NpcyBvciBwcm9ibGVtIGNvZGVzIGp1c3RpZnlpbmcgdGhlIHJlYXNvbiBmb3IgcmVxdWVzdGluZyB0aGUgZGV2aWNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iTGlua2VkIFJlYXNvbiBmb3IgcmVxdWVzdCIgZGVmaW5pdGlvbj0iUmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSB1c2Ugb2YgdGhpcyBkZXZpY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVxdWlyZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGF0aWVudCB0aGF0IG1heSBpbmZsdWVuY2UgdGhlIHJlcXVlc3QgZnVsZmlsbWVudC4gIEZvciBleGFtcGxlLCB0aGlzIG1heSBpbmNsdWRlIHdoZXJlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB0aGUgZGV2aWNlIHdpbGwgYmUgdXNlZCAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJOb3RlcyBvciBjb21tZW50cyIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCB0aGlzIHJlcXVlc3QgdGhhdCB3ZXJlIG5vdCByZXByZXNlbnRlZCBhdCBhbGwgb3Igc3VmZmljaWVudGx5IGluIG9uZSBvZiB0aGUgYXR0cmlidXRlcyBwcm92aWRlZCBpbiBhIGNsYXNzLiBUaGVzZSBtYXkgaW5jbHVkZSBmb3IgZXhhbXBsZSBhIGNvbW1lbnQsIGFuIGluc3RydWN0aW9uLCBvciBhIG5vdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdGF0ZW1lbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IlJlcXVlc3QgcHJvdmVuYW5jZSIgZGVmaW5pdGlvbj0iS2V5IGV2ZW50cyBpbiB0aGUgaGlzdG9yeSBvZiB0aGUgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgbm90IGluY2x1ZGUgcHJvdmVuYW5jZXMgZm9yIGFsbCB2ZXJzaW9ucyBvZiB0aGUgcmVxdWVzdCAtIG9ubHkgdGhvc2UgZGVlbWVkICZxdW90O3JlbGV2YW50JnF1b3Q7IG9yIGltcG9ydGFudC4mIzEzO1RoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gIChJZiB0aGF0IHByb3ZlbmFuY2UgaXMgZGVlbWVkIHRvIGJlIGEgJnF1b3Q7cmVsZXZhbnQmcXVvdDsgY2hhbmdlLCBpdCB3aWxsIG5lZWQgdG8gYmUgYWRkZWQgYXMgcGFydCBvZiBhIGxhdGVyIHVwZGF0ZS4gIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSYjMTM7QWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlcXVlc3RlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImNvZGUgYXMgUmVmZXJlbmNlKSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZVJlcXVlc3QuUGFyYW1ldGVyIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEZXZpY2UgZGV0YWlsIiBkZWZpbml0aW9uPSJBIGNvZGUgb3Igc3RyaW5nIHRoYXQgaWRlbnRpZmllcyB0aGUgZGV2aWNlIGRldGFpbCBiZWluZyBhc3NlcnRlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQYXJhbWV0ZXJDb2RlIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgZGV2aWNlIGRldGFpbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZhbHVlIG9mIGRldGFpbCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBkZXZpY2UgZGV0YWlsLiIgY29tbWVudD0iUmFuZ2UgbWVhbnMgZGV2aWNlIHNob3VsZCBoYXZlIGEgdmFsdWUgdGhhdCBmYWxscyBzb21ld2hlcmUgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmFuZ2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VSZXF1ZXN0U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZVVzZVN0YXRlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGV2aWNldXNlc3RhdGVtZW50IiBsYWJlbD0iUUlDb3JlIERldmljZVVzZVN0YXRlbWVudCIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iZGV2aWNlLnR5cGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBpZGVudGlmaWVyIGZvciB0aGlzIHJlY29yZCIgZGVmaW5pdGlvbj0iQW4gZXh0ZXJuYWwgaWRlbnRpZmllciBmb3IgdGhpcyBzdGF0ZW1lbnQgc3VjaCBhcyBhbiBJUkkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRGV2aWNlVXNlU3RhdGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGFjdGl2ZSB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgKyIgZGVmaW5pdGlvbj0iQSBjb2RlIHJlcHJlc2VudGluZyB0aGUgcGF0aWVudCBvciBvdGhlciBzb3VyY2UncyBqdWRnbWVudCBhYm91dCB0aGUgc3RhdGUgb2YgdGhlIGRldmljZSB1c2VkIHRoYXQgdGhpcyBzdGF0ZW1lbnQgaXMgYWJvdXQuICBHZW5lcmFsbHkgdGhpcyB3aWxsIGJlIGFjdGl2ZSBvciBjb21wbGV0ZWQuIiBjb21tZW50PSJEZXZpY2VVc2VTdGF0bWVudCBpcyBhIHN0YXRlbWVudCBhdCBhIHBvaW50IGluIHRpbWUuICBUaGUgc3RhdHVzIGlzIG9ubHkgcmVwcmVzZW50YXRpdmUgYXQgdGhlIHBvaW50IHdoZW4gaXQgd2FzIGFzc2VydGVkLiAgVGhlIHZhbHVlIHNldCBmb3IgY29udGFpbnMgY29kZXMgdGhhdCBhc3NlcnQgdGhlIHN0YXR1cyBvZiB0aGUgdXNlICBieSB0aGUgcGF0aWVudCAoZm9yIGV4YW1wbGUsIHN0b3BwZWQgb3Igb24gaG9sZCkgYXMgd2VsbCBhcyBjb2RlcyB0aGF0IGFzc2VydCB0aGUgc3RhdHVzIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgKGZvciBleGFtcGxlLCBlbnRlcmVkIGluIGVycm9yKS4mIzEzOyYjMTM7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIHRoYXQgbWFyayB0aGUgc3RhdGVtZW50IGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBEZXZpY2UgVXNhZ2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUGF0aWVudCB1c2luZyBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IHdobyB1c2VkIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBbGxvd3MgbGlua2luZyB0aGUgRGV2aWNlVXNlU3RhdGVtZW50IHRvIHRoZSB1bmRlcmx5aW5nIFJlcXVlc3QsIG9yIHRvIG90aGVyIGluZm9ybWF0aW9uIHRoYXQgc3VwcG9ydHMgb3IgaXMgdXNlZCB0byBkZXJpdmUgdGhlIERldmljZVVzZVN0YXRlbWVudC4iIGNvbW1lbnQ9IlRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgZm9yIGRlcml2aW5nIGEgRGV2aWNlVXNlU3RhdGVtZW50IGNvbWVzIGZyb20gY3JlYXRpbmcgaXQgZnJvbSBhIHJlcXVlc3Qgb3IgZnJvbSBhbiBvYnNlcnZhdGlvbiBvciBhIGNsYWltLiBpdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0aGUgYW1vdW50IG9mIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIHZhcmllcyBmcm9tIHRoZSB0eXBlIHJlc291cmNlIHRoYXQgeW91IGRlcml2ZSB0aGUgRGV2aWNlVXNlU3RhdGVtZW50IGZyb20uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGltaW5nIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIb3cgb2Z0ZW4gdGhlIGRldmljZSB3YXMgdXNlZCIgZGVmaW5pdGlvbj0iSG93IG9mdGVuIHRoZSBkZXZpY2Ugd2FzIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGVuIHN0YXRlbWVudCB3YXMgcmVjb3JkZWQiIGRlZmluaXRpb249IlRoZSB0aW1lIGF0IHdoaWNoIHRoZSBzdGF0ZW1lbnQgd2FzIG1hZGUvcmVjb3JkZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBtYWRlIHRoZSBzdGF0ZW1lbnQiIGRlZmluaXRpb249IldobyByZXBvcnRlZCB0aGUgZGV2aWNlIHdhcyBiZWluZyB1c2VkIGJ5IHRoZSBwYXRpZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVmZXJlbmNlIHRvIGRldmljZSB1c2VkIiBkZWZpbml0aW9uPSJUaGUgZGV0YWlscyBvZiB0aGUgZGV2aWNlIHVzZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBkZXZpY2Ugd2FzIHVzZWQiIGRlZmluaXRpb249IlJlYXNvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB0aGUgdXNlIG9mIHRoZSBkZXZpY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB3YXMgRGV2aWNlVXNlU3RhdGVtZW50IHBlcmZvcm1lZD8iIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlIHdob3NlIGV4aXN0ZW5jZSBqdXN0aWZpZXMgdGhpcyBEZXZpY2VVc2VTdGF0ZW1lbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUYXJnZXQgYm9keSBzaXRlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGFub3RvbWljIGxvY2F0aW9uIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgZGV2aWNlIHdhcyB1c2VkICggaS5lLiB0aGUgdGFyZ2V0KS4iPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uIGRldGFpbHMgKGNvbW1lbnRzLCBpbnN0cnVjdGlvbnMpIiBkZWZpbml0aW9uPSJEZXRhaWxzIGFib3V0IHRoZSBkZXZpY2Ugc3RhdGVtZW50IHRoYXQgd2VyZSBub3QgcmVwcmVzZW50ZWQgYXQgYWxsIG9yIHN1ZmZpY2llbnRseSBpbiBvbmUgb2YgdGhlIGF0dHJpYnV0ZXMgcHJvdmlkZWQgaW4gYSBjbGFzcy4gVGhlc2UgbWF5IGluY2x1ZGUgZm9yIGV4YW1wbGUgYSBjb21tZW50LCBhbiBpbnN0cnVjdGlvbiwgb3IgYSBub3RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RhdGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImRldmljZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRpYWdub3N0aWNSZXBvcnQuTWVkaWEiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbW1lbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNvbW1lbnQgYWJvdXQgdGhlIGltYWdlIChlLmcuIGV4cGxhbmF0aW9uKSIgZGVmaW5pdGlvbj0iQSBjb21tZW50IGFib3V0IHRoZSBpbWFnZS4gVHlwaWNhbGx5LCB0aGlzIGlzIHVzZWQgdG8gcHJvdmlkZSBhbiBleHBsYW5hdGlvbiBmb3Igd2h5IHRoZSBpbWFnZSBpcyBpbmNsdWRlZCwgb3IgdG8gZHJhdyB0aGUgdmlld2VyJ3MgYXR0ZW50aW9uIHRvIGltcG9ydGFudCBmZWF0dXJlcy4iIGNvbW1lbnQ9IlRoZSBjb21tZW50IHNob3VsZCBiZSBkaXNwbGF5ZWQgd2l0aCB0aGUgaW1hZ2UuIEl0IHdvdWxkIGJlIGNvbW1vbiBmb3IgdGhlIHJlcG9ydCB0byBpbmNsdWRlIGFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGUgaW1hZ2UgY29udGVudHMgaW4gb3RoZXIgc2VjdGlvbnMgc3VjaCBhcyB0aGUgY29uY2x1c2lvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsaW5rIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgUmVmZXJlbmNlIHRvIHRoZSBpbWFnZSBzb3VyY2UiIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgaW1hZ2Ugc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRpYWdub3N0aWNSZXBvcnRMYWIiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRpYWdub3N0aWNyZXBvcnQtbGFiIiBsYWJlbD0iUUlDb3JlIERpYWdub3N0aWNSZXBvcnQgUHJvZmlsZSBmb3IgTGFib3JhdG9yeSBSZXN1bHRzIFJlcG9ydGluZyIgdGFyZ2V0PSJEaWFnbm9zdGljUmVwb3J0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciBmb3IgcmVwb3J0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlcG9ydCBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMuIiBjb21tZW50PSJVc3VhbGx5IGFzc2lnbmVkIGJ5IHRoZSBJbmZvcm1hdGlvbiBTeXN0ZW0gb2YgdGhlIGRpYWdub3N0aWMgc2VydmljZSBwcm92aWRlciAoZmlsbGVyIGlkKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgd2FzIHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iRGV0YWlscyBjb25jZXJuaW5nIGEgc2VydmljZSByZXF1ZXN0ZWQuIiBjb21tZW50PSJOb3RlOiBVc3VhbGx5IHRoZXJlIGlzIG9uZSB0ZXN0IHJlcXVlc3QgZm9yIGVhY2ggcmVzdWx0LCBob3dldmVyIGluIHNvbWUgY2lyY3Vtc3RhbmNlcyBtdWx0aXBsZSB0ZXN0IHJlcXVlc3RzIG1heSBiZSByZXByZXNlbnRlZCB1c2luZyBhIHNpbmdsZSB0ZXN0IHJlc3VsdCByZXNvdXJjZS4gTm90ZSB0aGF0IHRoZXJlIGFyZSBhbHNvIGNhc2VzIHdoZXJlIG9uZSByZXF1ZXN0IGxlYWRzIHRvIG11bHRpcGxlIHJlcG9ydHMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHBhcnRpYWwgfCBwcmVsaW1pbmFyeSB8IGZpbmFsICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGRpYWdub3N0aWMgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFNlcnZpY2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGNsaW5pY2FsIGRpc2NpcGxpbmUsIGRlcGFydG1lbnQgb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgY3JlYXRlZCB0aGUgcmVwb3J0IChlLmcuIGNhcmRpb2xvZ3ksIGJpb2NoZW1pc3RyeSwgaGVtYXRvbG9neSwgTVJJKS4gVGhpcyBpcyB1c2VkIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJNdWx0aXBsZSBjYXRlZ29yaWVzIGFyZSBhbGxvd2VkIHVzaW5nIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcy4gICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gRGlhZ25vc3RpY1JlcG9ydC5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc3RpY1NlcnZpY2VTZWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGRpYWdub3N0aWMgc2VydmljZSBzZWN0aW9ucy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iTGFib3JhdG9yeVNsaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFNlcnZpY2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGNsaW5pY2FsIGRpc2NpcGxpbmUsIGRlcGFydG1lbnQgb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgY3JlYXRlZCB0aGUgcmVwb3J0IChlLmcuIGNhcmRpb2xvZ3ksIGJpb2NoZW1pc3RyeSwgaGVtYXRvbG9neSwgTVJJKS4gVGhpcyBpcyB1c2VkIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJNdWx0aXBsZSBjYXRlZ29yaWVzIGFyZSBhbGxvd2VkIHVzaW5nIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcy4gICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gRGlhZ25vc3RpY1JlcG9ydC5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJEaWFnbm9zdGljU2VydmljZVNlY3Rpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHNlY3Rpb25zLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFVTIENvcmUgTGFib3JhdG9yeSBSZXBvcnQgT3JkZXIgQ29kZSIgZGVmaW5pdGlvbj0iVGhlIHRlc3QsIHBhbmVsIG9yIGJhdHRlcnkgdGhhdCB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlVzYWdlTm90ZT0gVGhlIHR5cGljYWwgcGF0dGVybnMgZm9yIGNvZGVzIGFyZTogIDEpICBhIExPSU5DIGNvZGUgZWl0aGVyIGFzIGEgIHRyYW5zbGF0aW9uIGZyb20gYSAmcXVvdDtsb2NhbCZxdW90OyBjb2RlIG9yIGFzIGEgcHJpbWFyeSBjb2RlLCBvciAyKSAgYSBsb2NhbCBjb2RlIG9ubHkgaWYgbm8gc3VpdGFibGUgTE9JTkMgZXhpc3RzLCAgb3IgMykgIGJvdGggdGhlIGxvY2FsIGFuZCB0aGUgTE9JTkMgdHJhbnNsYXRpb24uICAgU3lzdGVtcyBTSEFMTCBiZSBjYXBhYmxlIG9mIHNlbmRpbmcgdGhlIGxvY2FsIGNvZGUgaWYgb25lIGV4aXN0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkxPSU5DIGNvZGVzIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCAtIHVzdWFsbHksIGJ1dCBub3QgYWx3YXlzLCB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydC4gVXN1YWxseSwgYnV0IG5vdCBhbHdheXMsIHRoaXMgaXMgYSBwYXRpZW50LiBIb3dldmVyLCBkaWFnbm9zdGljIHNlcnZpY2VzIGFsc28gcGVyZm9ybSBhbmFseXNlcyBvbiBzcGVjaW1lbnMgY29sbGVjdGVkIGZyb20gYSB2YXJpZXR5IG9mIG90aGVyIHNvdXJjZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGggY2FyZSBldmVudCB3aGVuIHRlc3Qgb3JkZXJlZCIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgd2hpY2ggdGhpcyBEaWFnbm9zdGljUmVwb3J0IGlzIGFib3V0LiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciAgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBEaWFnbm9zdGljYWxseSByZWxldmFudCB0aW1lICh0eXBpY2FsbHkgdGhlIHRpbWUgb2Ygc3BlY2ltZW4gY29sbGVjdGlvbikiIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZXMgYXJlIHJlbGF0ZWQgdG8uIFdoZW4gdGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCBpcyBhIHBhdGllbnQsIHRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uKHMpLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iSWYgdGhlIGRpYWdub3N0aWMgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24gdGhlIHBhdGllbnQsIHRoaXMgaXMgdGhlIHRpbWUgaXQgd2FzIHBlcmZvcm1lZC4gSWYgdGhlcmUgYXJlIHNwZWNpbWVucywgdGhlIGRpYWdub3N0aWNhbGx5IHJlbGV2YW50IHRpbWUgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbiB0aW1lcywgYnV0IHRoZSBzcGVjaW1lbiBpbmZvcm1hdGlvbiBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZSwgYW5kIHRoZSBleGFjdCByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlY2ltZW5zIGFuZCB0aGUgZGlhZ25vc3RpY2FsbHkgcmVsZXZhbnQgdGltZSBpcyBub3QgYWx3YXlzIGF1dG9tYXRpYy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hlbiB0aGUgcmVwb3J0IHdhcyByZWxlYXNlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhhdCB0aGlzIHZlcnNpb24gb2YgdGhlIHJlcG9ydCB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlcG9ydCB3YXMgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iTWF5IGJlIGRpZmZlcmVudCBmcm9tIHRoZSB1cGRhdGUgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLCBiZWNhdXNlIHRoYXQgaXMgdGhlIHN0YXR1cyBvZiB0aGUgcmVjb3JkIChwb3RlbnRpYWxseSBhIHNlY29uZGFyeSBjb3B5KSwgbm90IHRoZSBhY3R1YWwgcmVsZWFzZSB0aW1lIG9mIHRoZSByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVzcG9uc2libGUgRGlhZ25vc3RpYyBTZXJ2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGlzc3VpbmcgdGhlIHJlcG9ydC4iIGNvbW1lbnQ9IlRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzb3VyY2Ugb2YgdGhlIGF0b21pYyBkYXRhIGl0ZW1zIG9yIHRoZSBlbnRpdHkgdGhhdCBpbnRlcnByZXRlZCB0aGUgcmVzdWx0cy4gSXQgaXMgdGhlIGVudGl0eSB0aGF0IHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY2xpbmljYWwgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHRzSW50ZXJwcmV0ZXIiIGRlc2NyaXB0aW9uPSJQcmltYXJ5IHJlc3VsdCBpbnRlcnByZXRlciIgZGVmaW5pdGlvbj0iVGhlIHByYWN0aXRpb25lciBvciBvcmdhbml6YXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHJlcG9ydCdzIGNvbmNsdXNpb25zIGFuZCBpbnRlcnByZXRhdGlvbnMuIiBjb21tZW50PSJNaWdodCBub3QgYmUgdGhlIHNhbWUgZW50aXR5IHRoYXQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIHRoZSBjbGluaWNhbCByZXBvcnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGRlc2NyaXB0aW9uPSJTcGVjaW1lbnMgdGhpcyByZXBvcnQgaXMgYmFzZWQgb24iIGRlZmluaXRpb249IkRldGFpbHMgYWJvdXQgdGhlIHNwZWNpbWVucyBvbiB3aGljaCB0aGlzIGRpYWdub3N0aWMgcmVwb3J0IGlzIGJhc2VkLiIgY29tbWVudD0iSWYgdGhlIHNwZWNpbWVuIGlzIHN1ZmZpY2llbnRseSBzcGVjaWZpZWQgd2l0aCBhIGNvZGUgaW4gdGhlIHRlc3QgcmVzdWx0IG5hbWUsIHRoZW4gdGhpcyBhZGRpdGlvbmFsIGRhdGEgbWF5IGJlIHJlZHVuZGFudC4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIHNwZWNpbWVucywgdGhlc2UgbWF5IGJlIHJlcHJlc2VudGVkIHBlciBvYnNlcnZhdGlvbiBvciBncm91cC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHQiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIE9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iW09ic2VydmF0aW9uc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sKSAgdGhhdCBhcmUgcGFydCBvZiB0aGlzIGRpYWdub3N0aWMgcmVwb3J0LiIgY29tbWVudD0iT2JzZXJ2YXRpb25zIGNhbiBjb250YWluIG9ic2VydmF0aW9ucy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW1hZ2luZ1N0dWR5IiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHRvIGZ1bGwgZGV0YWlscyBvZiBpbWFnaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlhZ25vc3RpYyByZXBvcnQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIGxpbmtzIHRvIGZ1bGwgZGV0YWlscyBvZiBhbnkgaW1hZ2luZyBwZXJmb3JtZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIGludmVzdGlnYXRpb24uIFR5cGljYWxseSwgdGhpcyBpcyBpbWFnaW5nIHBlcmZvcm1lZCBieSBESUNPTSBlbmFibGVkIG1vZGFsaXRpZXMsIGJ1dCB0aGlzIGlzIG5vdCByZXF1aXJlZC4gQSBmdWxseSBlbmFibGVkIFBBQ1Mgdmlld2VyIGNhbiB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBwcm92aWRlIHZpZXdzIG9mIHRoZSBzb3VyY2UgaW1hZ2VzLiIgY29tbWVudD0iSW1hZ2luZ1N0dWR5IGFuZCB0aGUgaW1hZ2UgZWxlbWVudCBhcmUgc29tZXdoYXQgb3ZlcmxhcHBpbmcgLSB0eXBpY2FsbHksIHRoZSBsaXN0IG9mIGltYWdlIHJlZmVyZW5jZXMgaW4gdGhlIGltYWdlIGVsZW1lbnQgd2lsbCBhbHNvIGJlIGZvdW5kIGluIG9uZSBvZiB0aGUgaW1hZ2luZyBzdHVkeSByZXNvdXJjZXMuIEhvd2V2ZXIsIGVhY2ggY2F0ZXJzIHRvIGRpZmZlcmVudCB0eXBlcyBvZiBkaXNwbGF5cyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIHB1cnBvc2VzLiBOZWl0aGVyLCBlaXRoZXIsIG9yIGJvdGggbWF5IGJlIHByb3ZpZGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGlhIiBkZXNjcmlwdGlvbj0iS2V5IGltYWdlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnQiIGRlZmluaXRpb249IkEgbGlzdCBvZiBrZXkgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydC4gVGhlIGltYWdlcyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIHByb2Nlc3MsIGFuZCBtYXkgYmUgZGlyZWN0bHkgb2YgdGhlIHBhdGllbnQsIG9yIG9mIHRyZWF0ZWQgc3BlY2ltZW5zIChpLmUuIHNsaWRlcyBvZiBpbnRlcmVzdCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EaWFnbm9zdGljUmVwb3J0Lk1lZGlhIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmNsdXNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uKSBvZiB0ZXN0IHJlc3VsdHMiIGRlZmluaXRpb249IkNvbmNpc2UgYW5kIGNsaW5pY2FsbHkgY29udGV4dHVhbGl6ZWQgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29uY2x1c2lvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdGhlIGNsaW5pY2FsIGNvbmNsdXNpb24gb2YgdGVzdCByZXN1bHRzIiBkZWZpbml0aW9uPSJPbmUgb3IgbW9yZSBjb2RlcyB0aGF0IHJlcHJlc2VudCB0aGUgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVuY3REaWFnbm9zaXMiIGRlc2NyaXB0aW9uPSJEaWFnbm9zaXMgY29kZXMgcHJvdmlkZWQgYXMgYWRqdW5jdHMgdG8gdGhlIHJlcG9ydC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByZXNlbnRlZEZvcm0iIGRlc2NyaXB0aW9uPSJFbnRpcmUgcmVwb3J0IGFzIGlzc3VlZCIgZGVmaW5pdGlvbj0iUmljaCB0ZXh0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBlbnRpcmUgcmVzdWx0IGFzIGlzc3VlZCBieSB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlLiBNdWx0aXBsZSBmb3JtYXRzIGFyZSBhbGxvd2VkIGJ1dCB0aGV5IFNIQUxMIGJlIHNlbWFudGljYWxseSBlcXVpdmFsZW50LiIgY29tbWVudD0iJnF1b3Q7YXBwbGljYXRpb24vcGRmJnF1b3Q7IGlzIHJlY29tbWVuZGVkIGFzIHRoZSBtb3N0IHJlbGlhYmxlIGFuZCBpbnRlcm9wZXJhYmxlIGluIHRoaXMgY29udGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEaWFnbm9zdGljUmVwb3J0Tm90ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGlhZ25vc3RpY3JlcG9ydC1ub3RlIiBsYWJlbD0iUUlDb3JlIERpYWdub3N0aWNSZXBvcnQgUHJvZmlsZSBmb3IgUmVwb3J0IGFuZCBOb3RlIEV4Y2hhbmdlIiB0YXJnZXQ9IkRpYWdub3N0aWNSZXBvcnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciByZXBvcnQiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVwb3J0IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcy4iIGNvbW1lbnQ9IlVzdWFsbHkgYXNzaWduZWQgYnkgdGhlIEluZm9ybWF0aW9uIFN5c3RlbSBvZiB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHByb3ZpZGVyIChmaWxsZXIgaWQpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iV2hhdCB3YXMgcmVxdWVzdGVkIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgYSBzZXJ2aWNlIHJlcXVlc3RlZC4iIGNvbW1lbnQ9Ik5vdGU6IFVzdWFsbHkgdGhlcmUgaXMgb25lIHRlc3QgcmVxdWVzdCBmb3IgZWFjaCByZXN1bHQsIGhvd2V2ZXIgaW4gc29tZSBjaXJjdW1zdGFuY2VzIG11bHRpcGxlIHRlc3QgcmVxdWVzdHMgbWF5IGJlIHJlcHJlc2VudGVkIHVzaW5nIGEgc2luZ2xlIHRlc3QgcmVzdWx0IHJlc291cmNlLiBOb3RlIHRoYXQgdGhlcmUgYXJlIGFsc28gY2FzZXMgd2hlcmUgb25lIHJlcXVlc3QgbGVhZHMgdG8gbXVsdGlwbGUgcmVwb3J0cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHBhcnRpYWwgfCBwcmVsaW1pbmFyeSB8IGZpbmFsICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGRpYWdub3N0aWMgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFNlcnZpY2UgQ2F0ZWdvcnkiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGNsaW5pY2FsIGRpc2NpcGxpbmUsIGRlcGFydG1lbnQgb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgY3JlYXRlZCB0aGUgcmVwb3J0IChlLmcuIGNhcmRpb2xvZ3ksIGJpb2NoZW1pc3RyeSwgaGVtYXRvbG9neSwgTVJJKS4gVGhpcyBpcyB1c2VkIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJNdWx0aXBsZSBjYXRlZ29yaWVzIGFyZSBhbGxvd2VkIHVzaW5nIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcy4gICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gRGlhZ25vc3RpY1JlcG9ydC5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc3RpY1NlcnZpY2VTZWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGRpYWdub3N0aWMgc2VydmljZSBzZWN0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFNlcnZpY2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGNsaW5pY2FsIGRpc2NpcGxpbmUsIGRlcGFydG1lbnQgb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgY3JlYXRlZCB0aGUgcmVwb3J0IChlLmcuIGNhcmRpb2xvZ3ksIGJpb2NoZW1pc3RyeSwgaGVtYXRvbG9neSwgTVJJKS4gVGhpcyBpcyB1c2VkIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJNdWx0aXBsZSBjYXRlZ29yaWVzIGFyZSBhbGxvd2VkIHVzaW5nIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcy4gICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gRGlhZ25vc3RpY1JlcG9ydC5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249Ik5vdGUgdGhhdCBvdGhlciBjb2RlcyBhcmUgcGVybWl0dGVkLCBzZWUgW1JlcXVpcmVkIEJpbmRpbmdzIFdoZW4gU2xpY2luZyBieSBWYWx1ZSBTZXRzXShodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvZ2VuZXJhbC1yZXF1aXJlbWVudHMuaHRtbCNyZXF1aXJlZC1iaW5kaW5ncy13aGVuLXNsaWNpbmctYnktdmFsdWVzZXRzKSIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUUktQ29yZSBSZXBvcnQgQ29kZSIgZGVmaW5pdGlvbj0iVGhlIHRlc3QsIHBhbmVsLCByZXBvcnQsIG9yIG5vdGUgdGhhdCB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoZSB0eXBpY2FsIHBhdHRlcm5zIGZvciBjb2RlcyBhcmU6ICAxKSAgYSBMT0lOQyBjb2RlIGVpdGhlciBhcyBhIHRyYW5zbGF0aW9uIGZyb20gYSAmcXVvdDtsb2NhbCZxdW90OyBjb2RlIG9yIGFzIGEgcHJpbWFyeSBjb2RlLCBvciAyKSAgYSBsb2NhbCBjb2RlIG9ubHkgaWYgbm8gc3VpdGFibGUgTE9JTkMgZXhpc3RzLCAgb3IgMykgIGJvdGggdGhlIGxvY2FsIGFuZCB0aGUgTE9JTkMgdHJhbnNsYXRpb24uICAgU3lzdGVtcyBTSEFMTCBiZSBjYXBhYmxlIG9mIHNlbmRpbmcgdGhlIGxvY2FsIGNvZGUgaWYgb25lIGV4aXN0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkxPSU5DIGNvZGVzIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCAtIHVzdWFsbHksIGJ1dCBub3QgYWx3YXlzLCB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydC4gVXN1YWxseSwgYnV0IG5vdCBhbHdheXMsIHRoaXMgaXMgYSBwYXRpZW50LiBIb3dldmVyLCBkaWFnbm9zdGljIHNlcnZpY2VzIGFsc28gcGVyZm9ybSBhbmFseXNlcyBvbiBzcGVjaW1lbnMgY29sbGVjdGVkIGZyb20gYSB2YXJpZXR5IG9mIG90aGVyIHNvdXJjZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEhlYWx0aCBjYXJlIGV2ZW50IHdoZW4gdGVzdCBvcmRlcmVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSB3aGljaCB0aGlzIERpYWdub3N0aWNSZXBvcnQgaXMgYWJvdXQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyICBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyICAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBEaWFnbm9zdGljYWxseSByZWxldmFudCB0aW1lICh0eXBpY2FsbHkgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSkiIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZXMgYXJlIHJlbGF0ZWQgdG8uIFdoZW4gdGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCBpcyBhIHBhdGllbnQsIHRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uKHMpLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iSWYgdGhlIGRpYWdub3N0aWMgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24gdGhlIHBhdGllbnQsIHRoaXMgaXMgdGhlIHRpbWUgaXQgd2FzIHBlcmZvcm1lZC4gSWYgdGhlcmUgYXJlIHNwZWNpbWVucywgdGhlIGRpYWdub3N0aWNhbGx5IHJlbGV2YW50IHRpbWUgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbiB0aW1lcywgYnV0IHRoZSBzcGVjaW1lbiBpbmZvcm1hdGlvbiBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZSwgYW5kIHRoZSBleGFjdCByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlY2ltZW5zIGFuZCB0aGUgZGlhZ25vc3RpY2FsbHkgcmVsZXZhbnQgdGltZSBpcyBub3QgYWx3YXlzIGF1dG9tYXRpYy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRGF0ZVRpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgcmVwb3J0IHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVwb3J0IHdhcyByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJNYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHVwZGF0ZSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYsIGJlY2F1c2UgdGhhdCBpcyB0aGUgc3RhdHVzIG9mIHRoZSByZWNvcmQgKHBvdGVudGlhbGx5IGEgc2Vjb25kYXJ5IGNvcHkpLCBub3QgdGhlIGFjdHVhbCByZWxlYXNlIHRpbWUgb2YgdGhlIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBSZXNwb25zaWJsZSBEaWFnbm9zdGljIFNlcnZpY2UiIGRlZmluaXRpb249IlRoZSBkaWFnbm9zdGljIHNlcnZpY2UgdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgaXNzdWluZyB0aGUgcmVwb3J0LiIgY29tbWVudD0iVGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNvdXJjZSBvZiB0aGUgYXRvbWljIGRhdGEgaXRlbXMgb3IgdGhlIGVudGl0eSB0aGF0IGludGVycHJldGVkIHRoZSByZXN1bHRzLiBJdCBpcyB0aGUgZW50aXR5IHRoYXQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIHRoZSBjbGluaWNhbCByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdHNJbnRlcnByZXRlciIgZGVzY3JpcHRpb249IlByaW1hcnkgcmVzdWx0IGludGVycHJldGVyIiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgcmVwb3J0J3MgY29uY2x1c2lvbnMgYW5kIGludGVycHJldGF0aW9ucy4iIGNvbW1lbnQ9Ik1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBlbnRpdHkgdGhhdCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGNsaW5pY2FsIHJlcG9ydC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlNwZWNpbWVucyB0aGlzIHJlcG9ydCBpcyBiYXNlZCBvbiIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCB0aGUgc3BlY2ltZW5zIG9uIHdoaWNoIHRoaXMgZGlhZ25vc3RpYyByZXBvcnQgaXMgYmFzZWQuIiBjb21tZW50PSJJZiB0aGUgc3BlY2ltZW4gaXMgc3VmZmljaWVudGx5IHNwZWNpZmllZCB3aXRoIGEgY29kZSBpbiB0aGUgdGVzdCByZXN1bHQgbmFtZSwgdGhlbiB0aGlzIGFkZGl0aW9uYWwgZGF0YSBtYXkgYmUgcmVkdW5kYW50LiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgc3BlY2ltZW5zLCB0aGVzZSBtYXkgYmUgcmVwcmVzZW50ZWQgcGVyIG9ic2VydmF0aW9uIG9yIGdyb3VwLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdCIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgT2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJbT2JzZXJ2YXRpb25zXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwpICB0aGF0IGFyZSBwYXJ0IG9mIHRoaXMgZGlhZ25vc3RpYyByZXBvcnQuIiBjb21tZW50PSJPYnNlcnZhdGlvbnMgY2FuIGNvbnRhaW4gb2JzZXJ2YXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbWFnaW5nU3R1ZHkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVmZXJlbmNlIHRvIGZ1bGwgZGV0YWlscyBvZiBpbWFnaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlhZ25vc3RpYyByZXBvcnQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIGxpbmtzIHRvIGZ1bGwgZGV0YWlscyBvZiBhbnkgaW1hZ2luZyBwZXJmb3JtZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIGludmVzdGlnYXRpb24uIFR5cGljYWxseSwgdGhpcyBpcyBpbWFnaW5nIHBlcmZvcm1lZCBieSBESUNPTSBlbmFibGVkIG1vZGFsaXRpZXMsIGJ1dCB0aGlzIGlzIG5vdCByZXF1aXJlZC4gQSBmdWxseSBlbmFibGVkIFBBQ1Mgdmlld2VyIGNhbiB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBwcm92aWRlIHZpZXdzIG9mIHRoZSBzb3VyY2UgaW1hZ2VzLiIgY29tbWVudD0iSW1hZ2luZ1N0dWR5IGFuZCB0aGUgaW1hZ2UgZWxlbWVudCBhcmUgc29tZXdoYXQgb3ZlcmxhcHBpbmcgLSB0eXBpY2FsbHksIHRoZSBsaXN0IG9mIGltYWdlIHJlZmVyZW5jZXMgaW4gdGhlIGltYWdlIGVsZW1lbnQgd2lsbCBhbHNvIGJlIGZvdW5kIGluIG9uZSBvZiB0aGUgaW1hZ2luZyBzdHVkeSByZXNvdXJjZXMuIEhvd2V2ZXIsIGVhY2ggY2F0ZXJzIHRvIGRpZmZlcmVudCB0eXBlcyBvZiBkaXNwbGF5cyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIHB1cnBvc2VzLiBOZWl0aGVyLCBlaXRoZXIsIG9yIGJvdGggbWF5IGJlIHByb3ZpZGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGlhIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBLZXkgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydCIgZGVmaW5pdGlvbj0iQSBsaXN0IG9mIGtleSBpbWFnZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVwb3J0LiBUaGUgaW1hZ2VzIGFyZSBnZW5lcmFsbHkgY3JlYXRlZCBkdXJpbmcgdGhlIGRpYWdub3N0aWMgcHJvY2VzcywgYW5kIG1heSBiZSBkaXJlY3RseSBvZiB0aGUgcGF0aWVudCwgb3Igb2YgdHJlYXRlZCBzcGVjaW1lbnMgKGkuZS4gc2xpZGVzIG9mIGludGVyZXN0KS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EaWFnbm9zdGljUmVwb3J0Lk1lZGlhIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmNsdXNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uKSBvZiB0ZXN0IHJlc3VsdHMiIGRlZmluaXRpb249IkNvbmNpc2UgYW5kIGNsaW5pY2FsbHkgY29udGV4dHVhbGl6ZWQgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29uY2x1c2lvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdGhlIGNsaW5pY2FsIGNvbmNsdXNpb24gb2YgdGVzdCByZXN1bHRzIiBkZWZpbml0aW9uPSJPbmUgb3IgbW9yZSBjb2RlcyB0aGF0IHJlcHJlc2VudCB0aGUgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVuY3REaWFnbm9zaXMiIGRlc2NyaXB0aW9uPSJEaWFnbm9zaXMgY29kZXMgcHJvdmlkZWQgYXMgYWRqdW5jdHMgdG8gdGhlIHJlcG9ydC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByZXNlbnRlZEZvcm0iIGRlc2NyaXB0aW9uPSIoVVNDREkpIEVudGlyZSByZXBvcnQgYXMgaXNzdWVkIiBkZWZpbml0aW9uPSJSaWNoIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGVudGlyZSByZXN1bHQgYXMgaXNzdWVkIGJ5IHRoZSBkaWFnbm9zdGljIHNlcnZpY2UuIE11bHRpcGxlIGZvcm1hdHMgYXJlIGFsbG93ZWQgYnV0IHRoZXkgU0hBTEwgYmUgc2VtYW50aWNhbGx5IGVxdWl2YWxlbnQuIiBjb21tZW50PSImcXVvdDthcHBsaWNhdGlvbi9wZGYmcXVvdDsgaXMgcmVjb21tZW5kZWQgYXMgdGhlIG1vc3QgcmVsaWFibGUgYW5kIGludGVyb3BlcmFibGUgaW4gdGhpcyBjb250ZXh0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEaXNwbGF5IE5hbWUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9kaXNwbGF5IiBsYWJlbD0iRGlzcGxheSBOYW1lIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRvTm90UGVyZm9ybVJlYXNvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZG9Ob3RQZXJmb3JtUmVhc29uIiBsYWJlbD0iUUlDb3JlIERvIE5vdCBQZXJmb3JtIFJlYXNvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRG9tYWluUmVzb3VyY2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Eb21haW5SZXNvdXJjZSIgbGFiZWw9IkRvbWFpblJlc291cmNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgYmFzZVR5cGU9IlFJQ29yZS5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlFJQ29yZS5OYXJyYXRpdmUiIGRlc2NyaXB0aW9uPSJUZXh0IHN1bW1hcnkgb2YgdGhlIHJlc291cmNlLCBmb3IgaHVtYW4gaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249IkEgaHVtYW4tcmVhZGFibGUgbmFycmF0aXZlIHRoYXQgY29udGFpbnMgYSBzdW1tYXJ5IG9mIHRoZSByZXNvdXJjZSBhbmQgY2FuIGJlIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb250ZW50IG9mIHRoZSByZXNvdXJjZSB0byBhIGh1bWFuLiBUaGUgbmFycmF0aXZlIG5lZWQgbm90IGVuY29kZSBhbGwgdGhlIHN0cnVjdHVyZWQgZGF0YSwgYnV0IGlzIHJlcXVpcmVkIHRvIGNvbnRhaW4gc3VmZmljaWVudCBkZXRhaWwgdG8gbWFrZSBpdCAmcXVvdDtjbGluaWNhbGx5IHNhZmUmcXVvdDsgZm9yIGEgaHVtYW4gdG8ganVzdCByZWFkIHRoZSBuYXJyYXRpdmUuIFJlc291cmNlIGRlZmluaXRpb25zIG1heSBkZWZpbmUgd2hhdCBjb250ZW50IHNob3VsZCBiZSByZXByZXNlbnRlZCBpbiB0aGUgbmFycmF0aXZlIHRvIGVuc3VyZSBjbGluaWNhbCBzYWZldHkuIiBjb21tZW50PSJDb250YWluZWQgcmVzb3VyY2VzIGRvIG5vdCBoYXZlIG5hcnJhdGl2ZS4gUmVzb3VyY2VzIHRoYXQgYXJlIG5vdCBjb250YWluZWQgU0hPVUxEIGhhdmUgYSBuYXJyYXRpdmUuIEluIHNvbWUgY2FzZXMsIGEgcmVzb3VyY2UgbWF5IG9ubHkgaGF2ZSB0ZXh0IHdpdGggbGl0dGxlIG9yIG5vIGFkZGl0aW9uYWwgZGlzY3JldGUgZGF0YSAoYXMgbG9uZyBhcyBhbGwgbWluT2NjdXJzPTEgZWxlbWVudHMgYXJlIHNhdGlzZmllZCkuICBUaGlzIG1heSBiZSBuZWNlc3NhcnkgZm9yIGRhdGEgZnJvbSBsZWdhY3kgc3lzdGVtcyB3aGVyZSBpbmZvcm1hdGlvbiBpcyBjYXB0dXJlZCBhcyBhICZxdW90O3RleHQgYmxvYiZxdW90OyBvciB3aGVyZSB0ZXh0IGlzIGFkZGl0aW9uYWxseSBlbnRlcmVkIHJhdyBvciBuYXJyYXRlZCBhbmQgZW5jb2RlZCBpbmZvcm1hdGlvbiBpcyBhZGRlZCBsYXRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWluZWQiIGRlc2NyaXB0aW9uPSJDb250YWluZWQsIGlubGluZSBSZXNvdXJjZXMiIGRlZmluaXRpb249IlRoZXNlIHJlc291cmNlcyBkbyBub3QgaGF2ZSBhbiBpbmRlcGVuZGVudCBleGlzdGVuY2UgYXBhcnQgZnJvbSB0aGUgcmVzb3VyY2UgdGhhdCBjb250YWlucyB0aGVtIC0gdGhleSBjYW5ub3QgYmUgaWRlbnRpZmllZCBpbmRlcGVuZGVudGx5LCBhbmQgbm9yIGNhbiB0aGV5IGhhdmUgdGhlaXIgb3duIGluZGVwZW5kZW50IHRyYW5zYWN0aW9uIHNjb3BlLiIgY29tbWVudD0iVGhpcyBzaG91bGQgbmV2ZXIgYmUgZG9uZSB3aGVuIHRoZSBjb250ZW50IGNhbiBiZSBpZGVudGlmaWVkIHByb3Blcmx5LCBhcyBvbmNlIGlkZW50aWZpY2F0aW9uIGlzIGxvc3QsIGl0IGlzIGV4dHJlbWVseSBkaWZmaWN1bHQgKGFuZCBjb250ZXh0IGRlcGVuZGVudCkgdG8gcmVzdG9yZSBpdCBhZ2Fpbi4gQ29udGFpbmVkIHJlc291cmNlcyBtYXkgaGF2ZSBwcm9maWxlcyBhbmQgdGFncyBJbiB0aGVpciBtZXRhIGVsZW1lbnRzLCBidXQgU0hBTEwgTk9UIGhhdmUgc2VjdXJpdHkgbGFiZWxzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVzb3VyY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXh0ZW5zaW9uIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjb250ZW50IGRlZmluZWQgYnkgaW1wbGVtZW50YXRpb25zIiBkZWZpbml0aW9uPSJNYXkgYmUgdXNlZCB0byByZXByZXNlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBiYXNpYyBkZWZpbml0aW9uIG9mIHRoZSByZXNvdXJjZS4gVG8gbWFrZSB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgc2FmZSBhbmQgbWFuYWdlYWJsZSwgdGhlcmUgaXMgYSBzdHJpY3Qgc2V0IG9mIGdvdmVybmFuY2UgIGFwcGxpZWQgdG8gdGhlIGRlZmluaXRpb24gYW5kIHVzZSBvZiBleHRlbnNpb25zLiBUaG91Z2ggYW55IGltcGxlbWVudGVyIGNhbiBkZWZpbmUgYW4gZXh0ZW5zaW9uLCB0aGVyZSBpcyBhIHNldCBvZiByZXF1aXJlbWVudHMgdGhhdCBTSEFMTCBiZSBtZXQgYXMgcGFydCBvZiB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgZXh0ZW5zaW9uLiIgY29tbWVudD0iVGhlcmUgY2FuIGJlIG5vIHN0aWdtYSBhc3NvY2lhdGVkIHdpdGggdGhlIHVzZSBvZiBleHRlbnNpb25zIGJ5IGFueSBhcHBsaWNhdGlvbiwgcHJvamVjdCwgb3Igc3RhbmRhcmQgLSByZWdhcmRsZXNzIG9mIHRoZSBpbnN0aXR1dGlvbiBvciBqdXJpc2RpY3Rpb24gdGhhdCB1c2VzIG9yIGRlZmluZXMgdGhlIGV4dGVuc2lvbnMuICBUaGUgdXNlIG9mIGV4dGVuc2lvbnMgaXMgd2hhdCBhbGxvd3MgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiB0byByZXRhaW4gYSBjb3JlIGxldmVsIG9mIHNpbXBsaWNpdHkgZm9yIGV2ZXJ5b25lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyRXh0ZW5zaW9uIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9ucyB0aGF0IGNhbm5vdCBiZSBpZ25vcmVkIiBkZWZpbml0aW9uPSJNYXkgYmUgdXNlZCB0byByZXByZXNlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBiYXNpYyBkZWZpbml0aW9uIG9mIHRoZSByZXNvdXJjZSBhbmQgdGhhdCBtb2RpZmllcyB0aGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgZWxlbWVudCB0aGF0IGNvbnRhaW5zIGl0IGFuZC9vciB0aGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgY29udGFpbmluZyBlbGVtZW50J3MgZGVzY2VuZGFudHMuIFVzdWFsbHkgbW9kaWZpZXIgZWxlbWVudHMgcHJvdmlkZSBuZWdhdGlvbiBvciBxdWFsaWZpY2F0aW9uLiBUbyBtYWtlIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBzYWZlIGFuZCBtYW5hZ2VhYmxlLCB0aGVyZSBpcyBhIHN0cmljdCBzZXQgb2YgZ292ZXJuYW5jZSBhcHBsaWVkIHRvIHRoZSBkZWZpbml0aW9uIGFuZCB1c2Ugb2YgZXh0ZW5zaW9ucy4gVGhvdWdoIGFueSBpbXBsZW1lbnRlciBpcyBhbGxvd2VkIHRvIGRlZmluZSBhbiBleHRlbnNpb24sIHRoZXJlIGlzIGEgc2V0IG9mIHJlcXVpcmVtZW50cyB0aGF0IFNIQUxMIGJlIG1ldCBhcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpb24uIEFwcGxpY2F0aW9ucyBwcm9jZXNzaW5nIGEgcmVzb3VyY2UgYXJlIHJlcXVpcmVkIHRvIGNoZWNrIGZvciBtb2RpZmllciBleHRlbnNpb25zLiYjMTA7JiMxMDtNb2RpZmllciBleHRlbnNpb25zIFNIQUxMIE5PVCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgYW55IGVsZW1lbnRzIG9uIFJlc291cmNlIG9yIERvbWFpblJlc291cmNlIChpbmNsdWRpbmcgY2Fubm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiBtb2RpZmllckV4dGVuc2lvbiBpdHNlbGYpLiIgY29tbWVudD0iVGhlcmUgY2FuIGJlIG5vIHN0aWdtYSBhc3NvY2lhdGVkIHdpdGggdGhlIHVzZSBvZiBleHRlbnNpb25zIGJ5IGFueSBhcHBsaWNhdGlvbiwgcHJvamVjdCwgb3Igc3RhbmRhcmQgLSByZWdhcmRsZXNzIG9mIHRoZSBpbnN0aXR1dGlvbiBvciBqdXJpc2RpY3Rpb24gdGhhdCB1c2VzIG9yIGRlZmluZXMgdGhlIGV4dGVuc2lvbnMuICBUaGUgdXNlIG9mIGV4dGVuc2lvbnMgaXMgd2hhdCBhbGxvd3MgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiB0byByZXRhaW4gYSBjb3JlIGxldmVsIG9mIHNpbXBsaWNpdHkgZm9yIGV2ZXJ5b25lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRG9zYWdlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRG9zYWdlIiBsYWJlbD0iRG9zYWdlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBvcmRlciBvZiB0aGUgZG9zYWdlIGluc3RydWN0aW9ucyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgZG9zYWdlIGluc3RydWN0aW9ucyBzaG91bGQgYmUgYXBwbGllZCBvciBpbnRlcnByZXRlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGcmVlIHRleHQgZG9zYWdlIGluc3RydWN0aW9ucyBlLmcuIFNJRyIgZGVmaW5pdGlvbj0iRnJlZSB0ZXh0IGRvc2FnZSBpbnN0cnVjdGlvbnMgZS5nLiBTSUcuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkaXRpb25hbEluc3RydWN0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3VwcGxlbWVudGFsIGluc3RydWN0aW9uIG9yIHdhcm5pbmdzIHRvIHRoZSBwYXRpZW50IC0gZS5nLiAmcXVvdDt3aXRoIG1lYWxzJnF1b3Q7LCAmcXVvdDttYXkgY2F1c2UgZHJvd3NpbmVzcyZxdW90OyIgZGVmaW5pdGlvbj0iU3VwcGxlbWVudGFsIGluc3RydWN0aW9ucyB0byB0aGUgcGF0aWVudCBvbiBob3cgdG8gdGFrZSB0aGUgbWVkaWNhdGlvbiAgKGUuZy4gJnF1b3Q7d2l0aCBtZWFscyZxdW90OyBvciZxdW90O3Rha2UgaGFsZiB0byBvbmUgaG91ciBiZWZvcmUgZm9vZCZxdW90Oykgb3Igd2FybmluZ3MgZm9yIHRoZSBwYXRpZW50IGFib3V0IHRoZSBtZWRpY2F0aW9uIChlLmcuICZxdW90O21heSBjYXVzZSBkcm93c2luZXNzJnF1b3Q7IG9yICZxdW90O2F2b2lkIGV4cG9zdXJlIG9mIHNraW4gdG8gZGlyZWN0IHN1bmxpZ2h0IG9yIHN1bmxhbXBzJnF1b3Q7KS4iIGNvbW1lbnQ9IkluZm9ybWF0aW9uIGFib3V0IGFkbWluaXN0cmF0aW9uIG9yIHByZXBhcmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uIChlLmcuICZxdW90O2luZnVzZSBhcyByYXBpZGx5IGFzIHBvc3NpYmx5IHZpYSBpbnRyYXBlcml0b25lYWwgcG9ydCZxdW90OyBvciAmcXVvdDtpbW1lZGlhdGVseSBmb2xsb3dpbmcgZHJ1ZyB4JnF1b3Q7KSBzaG91bGQgYmUgcG9wdWxhdGVkIGluIGRvc2FnZS50ZXh0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRpdGlvbmFsSW5zdHJ1Y3Rpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgc3VjaCBhcyAmcXVvdDt0YWtlIHdpdGggd2F0ZXImcXVvdDsgb3IgJnF1b3Q7YXZvaWQgb3BlcmF0aW5nIGhlYXZ5IG1hY2hpbmVyeSZxdW90Oy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnRJbnN0cnVjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBvciBjb25zdW1lciBvcmllbnRlZCBpbnN0cnVjdGlvbnMiIGRlZmluaXRpb249Ikluc3RydWN0aW9ucyBpbiB0ZXJtcyB0aGF0IGFyZSB1bmRlcnN0b29kIGJ5IHRoZSBwYXRpZW50IG9yIGNvbnN1bWVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciIGRlc2NyaXB0aW9uPSJXaGVuIG1lZGljYXRpb24gc2hvdWxkIGJlIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iV2hlbiBtZWRpY2F0aW9uIHNob3VsZCBiZSBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGF0dHJpYnV0ZSBtaWdodCBub3QgYWx3YXlzIGJlIHBvcHVsYXRlZCB3aGlsZSB0aGUgRG9zYWdlLnRleHQgaXMgZXhwZWN0ZWQgdG8gYmUgcG9wdWxhdGVkLiAgSWYgYm90aCBhcmUgcG9wdWxhdGVkLCB0aGVuIHRoZSBEb3NhZ2UudGV4dCBzaG91bGQgcmVmbGVjdCB0aGUgY29udGVudCBvZiB0aGUgRG9zYWdlLnRpbWluZy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc05lZWRlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUYWtlICZxdW90O2FzIG5lZWRlZCZxdW90OyAoZm9yIHgpIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgTWVkaWNhdGlvbiBpcyBvbmx5IHRha2VuIHdoZW4gbmVlZGVkIHdpdGhpbiBhIHNwZWNpZmljIGRvc2luZyBzY2hlZHVsZSAoQm9vbGVhbiBvcHRpb24pLCBvciBpdCBpbmRpY2F0ZXMgdGhlIHByZWNvbmRpdGlvbiBmb3IgdGFraW5nIHRoZSBNZWRpY2F0aW9uIChDb2RlYWJsZUNvbmNlcHQpLiIgY29tbWVudD0iQ2FuIGV4cHJlc3MgJnF1b3Q7YXMgbmVlZGVkJnF1b3Q7IHdpdGhvdXQgYSByZWFzb24gYnkgc2V0dGluZyB0aGUgQm9vbGVhbiA9IFRydWUuICBJbiB0aGlzIGNhc2UgdGhlIENvZGVhYmxlQ29uY2VwdCBpcyBub3QgcG9wdWxhdGVkLiAgT3IgeW91IGNhbiBleHByZXNzICZxdW90O2FzIG5lZWRlZCZxdW90OyB3aXRoIGEgcmVhc29uIGJ5IGluY2x1ZGluZyB0aGUgQ29kZWFibGVDb25jZXB0LiAgSW4gdGhpcyBjYXNlIHRoZSBCb29sZWFuIGlzIGFzc3VtZWQgdG8gYmUgVHJ1ZS4gIElmIHlvdSBzZXQgdGhlIEJvb2xlYW4gdG8gRmFsc2UsIHRoZW4gdGhlIGRvc2UgaXMgZ2l2ZW4gYWNjb3JkaW5nIHRvIHRoZSBzY2hlZHVsZSBhbmQgaXMgbm90ICZxdW90O3BybiZxdW90OyBvciAmcXVvdDthcyBuZWVkZWQmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFzTmVlZGVkUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGlkZW50aWZ5aW5nIHRoZSBwcmVjb25kaXRpb24gdGhhdCBzaG91bGQgYmUgbWV0IG9yIGV2YWx1YXRlZCBwcmlvciB0byBjb25zdW1pbmcgb3IgYWRtaW5pc3RlcmluZyBhIG1lZGljYXRpb24gZG9zZS4gIEZvciBleGFtcGxlICZxdW90O3BhaW4mcXVvdDssICZxdW90OzMwIG1pbnV0ZXMgcHJpb3IgdG8gc2V4dWFsIGludGVyY291cnNlJnF1b3Q7LCAmcXVvdDtvbiBmbGFyZS11cCZxdW90OyBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHNpdGUgdG8gYWRtaW5pc3RlciB0byIgZGVmaW5pdGlvbj0iQm9keSBzaXRlIHRvIGFkbWluaXN0ZXIgdG8uIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGV4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4gIE1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgYSByZWZlcmVuY2UgdG8gYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgbG9jYXRpb24sIG9yIGJvdGguIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU2l0ZSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHRoZSBzaXRlIGxvY2F0aW9uIHRoZSBtZWRpY2luZSBlbnRlcnMgaW50byBvciBvbnRvIHRoZSBib2R5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icm91dGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBkcnVnIHNob3VsZCBlbnRlciBib2R5IiBkZWZpbml0aW9uPSJIb3cgZHJ1ZyBzaG91bGQgZW50ZXIgYm9keS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSb3V0ZU9mQWRtaW5pc3RyYXRpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcm91dGUgb3IgcGh5c2lvbG9naWNhbCBwYXRoIG9mIGFkbWluaXN0cmF0aW9uIG9mIGEgdGhlcmFwZXV0aWMgYWdlbnQgaW50byBvciBvbnRvIHRoZSBib2R5IG9mIGEgc3ViamVjdC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGVjaG5pcXVlIGZvciBhZG1pbmlzdGVyaW5nIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRlY2huaXF1ZSBmb3IgYWRtaW5pc3RlcmluZyBtZWRpY2F0aW9uLiIgY29tbWVudD0iVGVybWlub2xvZ2llcyB1c2VkIG9mdGVuIHByZS1jb29yZGluYXRlIHRoaXMgdGVybSB3aXRoIHRoZSByb3V0ZSBhbmQgb3IgZm9ybSBvZiBhZG1pbmlzdHJhdGlvbi4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgdGVjaG5pcXVlIGJ5IHdoaWNoIHRoZSBtZWRpY2luZSBpcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlQW5kUmF0ZSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZS5Eb3NlQW5kUmF0ZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYXhEb3NlUGVyUGVyaW9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIHVuaXQgb2YgdGltZSIgZGVmaW5pdGlvbj0iVXBwZXIgbGltaXQgb24gbWVkaWNhdGlvbiBwZXIgdW5pdCBvZiB0aW1lLiIgY29tbWVudD0iVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGFzIGFuIGFkanVuY3QgdG8gdGhlIGRvc2FnZSB3aGVuIHRoZXJlIGlzIGFuIHVwcGVyIGNhcC4gIEZvciBleGFtcGxlICZxdW90OzIgdGFibGV0cyBldmVyeSA0IGhvdXJzIHRvIGEgbWF4aW11bSBvZiA4L2RheSZxdW90Oy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYXhEb3NlUGVyQWRtaW5pc3RyYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVXBwZXIgbGltaXQgb24gbWVkaWNhdGlvbiBwZXIgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIGFkbWluaXN0cmF0aW9uLiIgY29tbWVudD0iVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGFzIGFuIGFkanVuY3QgdG8gdGhlIGRvc2FnZSB3aGVuIHRoZXJlIGlzIGFuIHVwcGVyIGNhcC4gIEZvciBleGFtcGxlLCBhIGJvZHkgc3VyZmFjZSBhcmVhIHJlbGF0ZWQgZG9zZSB3aXRoIGEgbWF4aW11bSBhbW91bnQsIHN1Y2ggYXMgMS41IG1nL20yIChtYXhpbXVtIDIgbWcpIElWIG92ZXIgNSDigJMgMTAgbWludXRlcyB3b3VsZCBoYXZlIGRvc2VRdWFudGl0eSBvZiAxLjUgbWcvbTIgYW5kIG1heERvc2VQZXJBZG1pbmlzdHJhdGlvbiBvZiAyIG1nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1heERvc2VQZXJMaWZldGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJVcHBlciBsaW1pdCBvbiBtZWRpY2F0aW9uIHBlciBsaWZldGltZSBvZiB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iVXBwZXIgbGltaXQgb24gbWVkaWNhdGlvbiBwZXIgbGlmZXRpbWUgb2YgdGhlIHBhdGllbnQuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UuRG9zZUFuZFJhdGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBkb3NlIG9yIHJhdGUgc3BlY2lmaWVkIiBkZWZpbml0aW9uPSJUaGUga2luZCBvZiBkb3NlIG9yIHJhdGUgc3BlY2lmaWVkLCBmb3IgZXhhbXBsZSwgb3JkZXJlZCBvciBjYWxjdWxhdGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRvc2VBbmRSYXRlVHlwZSIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIGRvc2Ugb3IgcmF0ZSBzcGVjaWZpZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciBkb3NlIiBkZWZpbml0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBwZXIgZG9zZS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIHNwZWNpZmllcyB0aGUgcXVhbnRpdHkgb2YgdGhlIHNwZWNpZmllZCBtZWRpY2F0aW9uLCBub3QgdGhlIHF1YW50aXR5IGZvciBlYWNoIGFjdGl2ZSBpbmdyZWRpZW50KHMpLiBFYWNoIGluZ3JlZGllbnQgYW1vdW50IGNhbiBiZSBjb21tdW5pY2F0ZWQgaW4gdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIEZvciBleGFtcGxlLCBpZiBvbmUgd2FudHMgdG8gY29tbXVuaWNhdGUgdGhhdCBhIHRhYmxldCB3YXMgMzc1IG1nLCB3aGVyZSB0aGUgZG9zZSB3YXMgb25lIHRhYmxldCwgeW91IGNhbiB1c2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UgdG8gZG9jdW1lbnQgdGhhdCB0aGUgdGFibGV0IHdhcyBjb21wcmlzZWQgb2YgMzc1IG1nIG9mIGRydWcgWFlaLiBBbHRlcm5hdGl2ZWx5IGlmIHRoZSBkb3NlIHdhcyAzNzUgbWcsIHRoZW4geW91IG1heSBvbmx5IG5lZWQgdG8gdXNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlIHRvIGluZGljYXRlIHRoaXMgd2FzIGEgdGFibGV0LiBJZiB0aGUgZXhhbXBsZSB3ZXJlIGFuIElWIHN1Y2ggYXMgZG9wYW1pbmUgYW5kIHlvdSB3YW50ZWQgdG8gY29tbXVuaWNhdGUgdGhhdCA0MDBtZyBvZiBkb3BhbWluZSB3YXMgbWl4ZWQgaW4gNTAwIG1sIG9mIHNvbWUgSVYgc29sdXRpb24sIHRoZW4gdGhpcyB3b3VsZCBhbGwgYmUgY29tbXVuaWNhdGVkIGluIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiBJZiB0aGUgYWRtaW5pc3RyYXRpb24gaXMgbm90IGludGVuZGVkIHRvIGJlIGluc3RhbnRhbmVvdXMgKHJhdGUgaXMgcHJlc2VudCBvciB0aW1pbmcgaGFzIGEgZHVyYXRpb24pLCB0aGlzIGNhbiBiZSBzcGVjaWZpZWQgdG8gY29udmV5IHRoZSB0b3RhbCBhbW91bnQgdG8gYmUgYWRtaW5pc3RlcmVkIG92ZXIgdGhlIHBlcmlvZCBvZiB0aW1lIGFzIGluZGljYXRlZCBieSB0aGUgc2NoZWR1bGUgZS5nLiA1MDAgbWwgaW4gZG9zZSwgd2l0aCB0aW1pbmcgdXNlZCB0byBjb252ZXkgdGhhdCB0aGlzIHNob3VsZCBiZSBkb25lIG92ZXIgNCBob3Vycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyYXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciB1bml0IG9mIHRpbWUiIGRlZmluaXRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciB1bml0IG9mIHRpbWUuIiBjb21tZW50PSJJdCBpcyBwb3NzaWJsZSB0byBzdXBwbHkgYm90aCBhIHJhdGUgYW5kIGEgZG9zZVF1YW50aXR5IHRvIHByb3ZpZGUgZnVsbCBkZXRhaWxzIGFib3V0IGhvdyB0aGUgbWVkaWNhdGlvbiBpcyB0byBiZSBhZG1pbmlzdGVyZWQgYW5kIHN1cHBsaWVkLiBJZiB0aGUgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aW1lLCBkZXBlbmRpbmcgb24gbG9jYWwgcnVsZXMvcmVndWxhdGlvbnMsIGVhY2ggY2hhbmdlIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBhIG5ldyB2ZXJzaW9uIG9mIHRoZSBNZWRpY2F0aW9uUmVxdWVzdCB3aXRoIGFuIHVwZGF0ZWQgcmF0ZSwgb3IgY2FwdHVyZWQgd2l0aCBhIG5ldyBNZWRpY2F0aW9uUmVxdWVzdCB3aXRoIHRoZSBuZXcgcmF0ZS4mIzEzOyYjMTM7SXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBhIHJhdGUgb3ZlciB0aW1lIChmb3IgZXhhbXBsZSwgMTAwIG1sL2hvdXIpIHVzaW5nIGVpdGhlciB0aGUgcmF0ZVJhdGlvIGFuZCByYXRlUXVhbnRpdHkuICBUaGUgcmF0ZVF1YW50aXR5IGFwcHJvYWNoIHJlcXVpcmVzIHN5c3RlbXMgdG8gaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBwYXJzZSBVQ1VNIGdyYW1tZXIgd2hlcmUgbWwvaG91ciBpcyBpbmNsdWRlZCByYXRoZXIgdGhhbiBhIHNwZWNpZmljIHJhdGlvIHdoZXJlIHRoZSB0aW1lIGlzIHNwZWNpZmllZCBhcyB0aGUgZGVub21pbmF0b3IuICBXaGVyZSBhIHJhdGUgc3VjaCBhcyA1MDBtbCBvdmVyIDIgaG91cnMgaXMgc3BlY2lmaWVkLCB0aGUgdXNlIG9mIHJhdGVSYXRpbyBtYXkgYmUgbW9yZSBzZW1hbnRpY2FsbHkgY29ycmVjdCB0aGFuIHNwZWNpZnlpbmcgdXNpbmcgYSByYXRlUXVhbnRpdHkgb2YgMjUwIG1nL2hvdXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRWxlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0VsZW1lbnQiIGxhYmVsPSJFbGVtZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uQW55Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciBpbnRlci1lbGVtZW50IHJlZmVyZW5jaW5nIiBkZWZpbml0aW9uPSJVbmlxdWUgaWQgZm9yIHRoZSBlbGVtZW50IHdpdGhpbiBhIHJlc291cmNlIChmb3IgaW50ZXJuYWwgcmVmZXJlbmNlcykuIFRoaXMgbWF5IGJlIGFueSBzdHJpbmcgdmFsdWUgdGhhdCBkb2VzIG5vdCBjb250YWluIHNwYWNlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHRlbnNpb24iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNvbnRlbnQgZGVmaW5lZCBieSBpbXBsZW1lbnRhdGlvbnMiIGRlZmluaXRpb249Ik1heSBiZSB1c2VkIHRvIHJlcHJlc2VudCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGJhc2ljIGRlZmluaXRpb24gb2YgdGhlIGVsZW1lbnQuIFRvIG1ha2UgdGhlIHVzZSBvZiBleHRlbnNpb25zIHNhZmUgYW5kIG1hbmFnZWFibGUsIHRoZXJlIGlzIGEgc3RyaWN0IHNldCBvZiBnb3Zlcm5hbmNlICBhcHBsaWVkIHRvIHRoZSBkZWZpbml0aW9uIGFuZCB1c2Ugb2YgZXh0ZW5zaW9ucy4gVGhvdWdoIGFueSBpbXBsZW1lbnRlciBjYW4gZGVmaW5lIGFuIGV4dGVuc2lvbiwgdGhlcmUgaXMgYSBzZXQgb2YgcmVxdWlyZW1lbnRzIHRoYXQgU0hBTEwgYmUgbWV0IGFzIHBhcnQgb2YgdGhlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2lvbi4iIGNvbW1lbnQ9IlRoZXJlIGNhbiBiZSBubyBzdGlnbWEgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBieSBhbnkgYXBwbGljYXRpb24sIHByb2plY3QsIG9yIHN0YW5kYXJkIC0gcmVnYXJkbGVzcyBvZiB0aGUgaW5zdGl0dXRpb24gb3IganVyaXNkaWN0aW9uIHRoYXQgdXNlcyBvciBkZWZpbmVzIHRoZSBleHRlbnNpb25zLiAgVGhlIHVzZSBvZiBleHRlbnNpb25zIGlzIHdoYXQgYWxsb3dzIHRoZSBGSElSIHNwZWNpZmljYXRpb24gdG8gcmV0YWluIGEgY29yZSBsZXZlbCBvZiBzaW1wbGljaXR5IGZvciBldmVyeW9uZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkV4dGVuc2lvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuYWJsZVdoZW5CZWhhdmlvciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXIiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWVuY291bnRlciIgbGFiZWw9IlFJQ29yZSBFbmNvdW50ZXIiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InR5cGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIElkZW50aWZpZXIocykgYnkgd2hpY2ggdGhpcyBlbmNvdW50ZXIgaXMga25vd24iIGRlZmluaXRpb249IklkZW50aWZpZXIocykgYnkgd2hpY2ggdGhpcyBlbmNvdW50ZXIgaXMga25vd24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcGxhbm5lZCB8IGFycml2ZWQgfCB0cmlhZ2VkIHwgaW4tcHJvZ3Jlc3MgfCBvbmxlYXZlIHwgZmluaXNoZWQgfCBjYW5jZWxsZWQgKyIgZGVmaW5pdGlvbj0icGxhbm5lZCB8IGFycml2ZWQgfCB0cmlhZ2VkIHwgaW4tcHJvZ3Jlc3MgfCBvbmxlYXZlIHwgZmluaXNoZWQgfCBjYW5jZWxsZWQgKy4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCBpbnRlcm5hbCBidXNpbmVzcyBydWxlcyB3aWxsIGRldGVybWluZSB0aGUgYXBwcm9wcmlhdGUgdHJhbnNpdGlvbnMgdGhhdCBtYXkgb2NjdXIgYmV0d2VlbiBzdGF0dXNlcyAoYW5kIGFsc28gY2xhc3NlcykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlclN0YXR1cyIgZGVzY3JpcHRpb249IkN1cnJlbnQgc3RhdGUgb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNIaXN0b3J5IiBkZXNjcmlwdGlvbj0iTGlzdCBvZiBwYXN0IGVuY291bnRlciBzdGF0dXNlcyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBoaXN0b3J5IHBlcm1pdHMgdGhlIGVuY291bnRlciByZXNvdXJjZSB0byBjb250YWluIHRoZSBzdGF0dXMgaGlzdG9yeSB3aXRob3V0IG5lZWRpbmcgdG8gcmVhZCB0aHJvdWdoIHRoZSBoaXN0b3JpY2FsIHZlcnNpb25zIG9mIHRoZSByZXNvdXJjZSwgb3IgZXZlbiBoYXZlIHRoZSBzZXJ2ZXIgc3RvcmUgdGhlbS4iIGNvbW1lbnQ9IlRoZSBjdXJyZW50IHN0YXR1cyBpcyBhbHdheXMgZm91bmQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UsIG5vdCB0aGUgc3RhdHVzIGhpc3RvcnkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmNvdW50ZXIuU3RhdHVzSGlzdG9yeSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjbGFzcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiBwYXRpZW50IGVuY291bnRlciIgZGVmaW5pdGlvbj0iQ29uY2VwdHMgcmVwcmVzZW50aW5nIGNsYXNzaWZpY2F0aW9uIG9mIHBhdGllbnQgZW5jb3VudGVyIHN1Y2ggYXMgYW1idWxhdG9yeSAob3V0cGF0aWVudCksIGlucGF0aWVudCwgZW1lcmdlbmN5LCBob21lIGhlYWx0aCBvciBvdGhlcnMgZHVlIHRvIGxvY2FsIHZhcmlhdGlvbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlckNsYXNzIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNsYXNzSGlzdG9yeSIgZGVzY3JpcHRpb249Ikxpc3Qgb2YgcGFzdCBlbmNvdW50ZXIgY2xhc3NlcyIgZGVmaW5pdGlvbj0iVGhlIGNsYXNzIGhpc3RvcnkgcGVybWl0cyB0aGUgdHJhY2tpbmcgb2YgdGhlIGVuY291bnRlcnMgdHJhbnNpdGlvbnMgd2l0aG91dCBuZWVkaW5nIHRvIGdvICB0aHJvdWdoIHRoZSByZXNvdXJjZSBoaXN0b3J5LiAgVGhpcyB3b3VsZCBiZSB1c2VkIGZvciBhIGNhc2Ugd2hlcmUgYW4gYWRtaXNzaW9uIHN0YXJ0cyBvZiBhcyBhbiBlbWVyZ2VuY3kgZW5jb3VudGVyLCB0aGVuIHRyYW5zaXRpb25zIGludG8gYW4gaW5wYXRpZW50IHNjZW5hcmlvLiBEb2luZyB0aGlzIGFuZCBub3QgcmVzdGFydGluZyBhIG5ldyBlbmNvdW50ZXIgZW5zdXJlcyB0aGF0IGFueSBsYWIvZGlhZ25vc3RpYyByZXN1bHRzIGNhbiBtb3JlIGVhc2lseSBmb2xsb3cgdGhlIHBhdGllbnQgYW5kIG5vdCByZXF1aXJlIHJlLXByb2Nlc3NpbmcgYW5kIG5vdCBnZXQgbG9zdCBvciBjYW5jZWxsZWQgZHVyaW5nIGEga2luZCBvZiBkaXNjaGFyZ2UgZnJvbSBlbWVyZ2VuY3kgdG8gaW5wYXRpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkNsYXNzSGlzdG9yeSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBTcGVjaWZpYyB0eXBlIG9mIGVuY291bnRlciIgZGVmaW5pdGlvbj0iU3BlY2lmaWMgdHlwZSBvZiBlbmNvdW50ZXIgKGUuZy4gZS1tYWlsIGNvbnN1bHRhdGlvbiwgc3VyZ2ljYWwgZGF5LWNhcmUsIHNraWxsZWQgbnVyc2luZywgcmVoYWJpbGl0YXRpb24pLiIgY29tbWVudD0iU2luY2UgdGhlcmUgYXJlIG1hbnkgd2F5cyB0byBmdXJ0aGVyIGNsYXNzaWZ5IGVuY291bnRlcnMsIHRoaXMgZWxlbWVudCBpcyAwLi4qLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlZhbHVlc2V0IHRvIGRlc2NyaWJlIHRoZSBFbmNvdW50ZXIgVHlwZSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VydmljZVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNwZWNpZmljIHR5cGUgb2Ygc2VydmljZSIgZGVmaW5pdGlvbj0iQnJvYWQgY2F0ZWdvcml6YXRpb24gb2YgdGhlIHNlcnZpY2UgdGhhdCBpcyB0byBiZSBwcm92aWRlZCAoZS5nLiBjYXJkaW9sb2d5KS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJFbmNvdW50ZXJTZXJ2aWNlVHlwZSIgZGVzY3JpcHRpb249IkJyb2FkIGNhdGVnb3JpemF0aW9uIG9mIHRoZSBzZXJ2aWNlIHRoYXQgaXMgdG8gYmUgcHJvdmlkZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSB1cmdlbmN5IG9mIHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdXJnZW5jeSBvZiB0aGUgZW5jb3VudGVyLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByaW9yaXR5IiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSB1cmdlbmN5IG9mIHRoZSBlbmNvdW50ZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIHBhdGllbnQgb3IgZ3JvdXAgcHJlc2VudCBhdCB0aGUgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCBwcmVzZW50IGF0IHRoZSBlbmNvdW50ZXIuIiBjb21tZW50PSJXaGlsZSB0aGUgZW5jb3VudGVyIGlzIGFsd2F5cyBhYm91dCB0aGUgcGF0aWVudCwgdGhlIHBhdGllbnQgbWlnaHQgbm90IGFjdHVhbGx5IGJlIGtub3duIGluIGFsbCBjb250ZXh0cyBvZiB1c2UsIGFuZCB0aGVyZSBtYXkgYmUgYSBncm91cCBvZiBwYXRpZW50cyB0aGF0IGNvdWxkIGJlIGFub255bW91cyAoc3VjaCBhcyBpbiBhIGdyb3VwIHRoZXJhcHkgZm9yIEFsY29ob2xpY3MgQW5vbnltb3VzIC0gd2hlcmUgdGhlIHJlY29yZGluZyBvZiB0aGUgZW5jb3VudGVyIGNvdWxkIGJlIHVzZWQgZm9yIGJpbGxpbmcgb24gdGhlIG51bWJlciBvZiBwZW9wbGUvc3RhZmYgYW5kIG5vdCBpbXBvcnRhbnQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIHNwZWNpZmljIHBhdGllbnRzKSBvciBhbHRlcm5hdGVseSBpbiB2ZXRlcmluYXJ5IGNhcmUgYSBoZXJkIG9mIHNoZWVwIHJlY2VpdmluZyB0cmVhdG1lbnQgKHdoZXJlIHRoZSBhbmltYWxzIGFyZSBub3QgaW5kaXZpZHVhbGx5IHRyYWNrZWQpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlcGlzb2RlT2ZDYXJlIiBkZXNjcmlwdGlvbj0iRXBpc29kZShzKSBvZiBjYXJlIHRoYXQgdGhpcyBlbmNvdW50ZXIgc2hvdWxkIGJlIHJlY29yZGVkIGFnYWluc3QiIGRlZmluaXRpb249IldoZXJlIGEgc3BlY2lmaWMgZW5jb3VudGVyIHNob3VsZCBiZSBjbGFzc2lmaWVkIGFzIGEgcGFydCBvZiBhIHNwZWNpZmljIGVwaXNvZGUocykgb2YgY2FyZSB0aGlzIGZpZWxkIHNob3VsZCBiZSB1c2VkLiBUaGlzIGFzc29jaWF0aW9uIGNhbiBmYWNpbGl0YXRlIGdyb3VwaW5nIG9mIHJlbGF0ZWQgZW5jb3VudGVycyB0b2dldGhlciBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLCBzdWNoIGFzIGdvdmVybm1lbnQgcmVwb3J0aW5nLCBpc3N1ZSB0cmFja2luZywgYXNzb2NpYXRpb24gdmlhIGEgY29tbW9uIHByb2JsZW0uICBUaGUgYXNzb2NpYXRpb24gaXMgcmVjb3JkZWQgb24gdGhlIGVuY291bnRlciBhcyB0aGVzZSBhcmUgdHlwaWNhbGx5IGNyZWF0ZWQgYWZ0ZXIgdGhlIGVwaXNvZGUgb2YgY2FyZSBhbmQgZ3JvdXBlZCBvbiBlbnRyeSByYXRoZXIgdGhhbiBlZGl0aW5nIHRoZSBlcGlzb2RlIG9mIGNhcmUgdG8gYXBwZW5kIGFub3RoZXIgZW5jb3VudGVyIHRvIGl0ICh0aGUgZXBpc29kZSBvZiBjYXJlIGNvdWxkIHNwYW4geWVhcnMpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJUaGUgU2VydmljZVJlcXVlc3QgdGhhdCBpbml0aWF0ZWQgdGhpcyBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IHRoaXMgZW5jb3VudGVyIHNhdGlzZmllcyAoZS5nLiBpbmNvbWluZyByZWZlcnJhbCBvciBwcm9jZWR1cmUgcmVxdWVzdCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydGljaXBhbnQiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIExpc3Qgb2YgcGFydGljaXBhbnRzIGludm9sdmVkIGluIHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIHBlb3BsZSByZXNwb25zaWJsZSBmb3IgcHJvdmlkaW5nIHRoZSBzZXJ2aWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkVuY291bnRlci5QYXJ0aWNpcGFudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhcHBvaW50bWVudCIgZGVzY3JpcHRpb249IlRoZSBhcHBvaW50bWVudCB0aGF0IHNjaGVkdWxlZCB0aGlzIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIGFwcG9pbnRtZW50IHRoYXQgc2NoZWR1bGVkIHRoaXMgZW5jb3VudGVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFRoZSBzdGFydCBhbmQgZW5kIHRpbWUgb2YgdGhlIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIHN0YXJ0IGFuZCBlbmQgdGltZSBvZiB0aGUgZW5jb3VudGVyLiIgY29tbWVudD0iSWYgbm90ICh5ZXQpIGtub3duLCB0aGUgZW5kIG9mIHRoZSBQZXJpb2QgbWF5IGJlIG9taXR0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxlbmd0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJRdWFudGl0eSBvZiB0aW1lIHRoZSBlbmNvdW50ZXIgbGFzdGVkIChsZXNzIHRpbWUgYWJzZW50KSIgZGVmaW5pdGlvbj0iUXVhbnRpdHkgb2YgdGltZSB0aGUgZW5jb3VudGVyIGxhc3RlZC4gVGhpcyBleGNsdWRlcyB0aGUgdGltZSBkdXJpbmcgbGVhdmVzIG9mIGFic2VuY2UuIiBjb21tZW50PSJNYXkgZGlmZmVyIGZyb20gdGhlIHRpbWUgdGhlIEVuY291bnRlci5wZXJpb2QgbGFzdGVkIGJlY2F1c2Ugb2YgbGVhdmUgb2YgYWJzZW5jZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb2RlZCByZWFzb24gdGhlIGVuY291bnRlciB0YWtlcyBwbGFjZSIgZGVmaW5pdGlvbj0iUmVhc29uIHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UsIGV4cHJlc3NlZCBhcyBhIGNvZGUuIEZvciBhZG1pc3Npb25zLCB0aGlzIGNhbiBiZSB1c2VkIGZvciBhIGNvZGVkIGFkbWlzc2lvbiBkaWFnbm9zaXMuIiBjb21tZW50PSJGb3Igc3lzdGVtcyB0aGF0IG5lZWQgdG8ga25vdyB3aGljaCB3YXMgdGhlIHByaW1hcnkgZGlhZ25vc2lzLCB0aGVzZSB3aWxsIGJlIG1hcmtlZCB3aXRoIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gcHJpbWFyeURpYWdub3NpcyAod2hpY2ggaXMgYSBzZXF1ZW5jZSB2YWx1ZSByYXRoZXIgdGhhbiBhIGZsYWcsIDEgPSBwcmltYXJ5IGRpYWdub3NpcykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJFbmNvdW50ZXJSZWFzb24iIGRlc2NyaXB0aW9uPSJSZWFzb24gd2h5IHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVhc29uIHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UgKHJlZmVyZW5jZSkiIGRlZmluaXRpb249IlJlYXNvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLCBleHByZXNzZWQgYXMgYSBjb2RlLiBGb3IgYWRtaXNzaW9ucywgdGhpcyBjYW4gYmUgdXNlZCBmb3IgYSBjb2RlZCBhZG1pc3Npb24gZGlhZ25vc2lzLiIgY29tbWVudD0iRm9yIHN5c3RlbXMgdGhhdCBuZWVkIHRvIGtub3cgd2hpY2ggd2FzIHRoZSBwcmltYXJ5IGRpYWdub3NpcywgdGhlc2Ugd2lsbCBiZSBtYXJrZWQgd2l0aCB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIHByaW1hcnlEaWFnbm9zaXMgKHdoaWNoIGlzIGEgc2VxdWVuY2UgdmFsdWUgcmF0aGVyIHRoYW4gYSBmbGFnLCAxID0gcHJpbWFyeSBkaWFnbm9zaXMpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXMiIGRlc2NyaXB0aW9uPSJUaGUgbGlzdCBvZiBkaWFnbm9zaXMgcmVsZXZhbnQgdG8gdGhpcyBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIGRpYWdub3NpcyByZWxldmFudCB0byB0aGlzIGVuY291bnRlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkVuY291bnRlci5EaWFnbm9zaXMiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWNjb3VudCIgZGVzY3JpcHRpb249IlRoZSBzZXQgb2YgYWNjb3VudHMgdGhhdCBtYXkgYmUgdXNlZCBmb3IgYmlsbGluZyBmb3IgdGhpcyBFbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBzZXQgb2YgYWNjb3VudHMgdGhhdCBtYXkgYmUgdXNlZCBmb3IgYmlsbGluZyBmb3IgdGhpcyBFbmNvdW50ZXIuIiBjb21tZW50PSJUaGUgYmlsbGluZyBzeXN0ZW0gbWF5IGNob29zZSB0byBhbGxvY2F0ZSBiaWxsYWJsZSBpdGVtcyBhc3NvY2lhdGVkIHdpdGggdGhlIEVuY291bnRlciB0byBkaWZmZXJlbnQgcmVmZXJlbmNlZCBBY2NvdW50cyBiYXNlZCBvbiBpbnRlcm5hbCBidXNpbmVzcyBydWxlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJob3NwaXRhbGl6YXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkhvc3BpdGFsaXphdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRGV0YWlscyBhYm91dCB0aGUgYWRtaXNzaW9uIHRvIGEgaGVhbHRoY2FyZSBzZXJ2aWNlIiBkZWZpbml0aW9uPSJEZXRhaWxzIGFib3V0IHRoZSBhZG1pc3Npb24gdG8gYSBoZWFsdGhjYXJlIHNlcnZpY2UuIiBjb21tZW50PSJBbiBFbmNvdW50ZXIgbWF5IGNvdmVyIG1vcmUgdGhhbiBqdXN0IHRoZSBpbnBhdGllbnQgc3RheS4gQ29udGV4dHMgc3VjaCBhcyBvdXRwYXRpZW50cywgY29tbXVuaXR5IGNsaW5pY3MsIGFuZCBhZ2VkIGNhcmUgZmFjaWxpdGllcyBhcmUgYWxzbyBpbmNsdWRlZC4mIzEzOyYjMTM7VGhlIGR1cmF0aW9uIHJlY29yZGVkIGluIHRoZSBwZXJpb2Qgb2YgdGhpcyBlbmNvdW50ZXIgY292ZXJzIHRoZSBlbnRpcmUgc2NvcGUgb2YgdGhpcyBob3NwaXRhbGl6YXRpb24gcmVjb3JkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgTGlzdCBvZiBsb2NhdGlvbnMgd2hlcmUgdGhlIHBhdGllbnQgaGFzIGJlZW4iIGRlZmluaXRpb249Ikxpc3Qgb2YgbG9jYXRpb25zIHdoZXJlICB0aGUgcGF0aWVudCBoYXMgYmVlbiBkdXJpbmcgdGhpcyBlbmNvdW50ZXIuIiBjb21tZW50PSJWaXJ0dWFsIGVuY291bnRlcnMgY2FuIGJlIHJlY29yZGVkIGluIHRoZSBFbmNvdW50ZXIgYnkgc3BlY2lmeWluZyBhIGxvY2F0aW9uIHJlZmVyZW5jZSB0byBhIGxvY2F0aW9uIG9mIHR5cGUgJnF1b3Q7a2luZCZxdW90OyBzdWNoIGFzICZxdW90O2NsaWVudCdzIGhvbWUmcXVvdDsgYW5kIGFuIGVuY291bnRlci5jbGFzcyA9ICZxdW90O3ZpcnR1YWwmcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkxvY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcnZpY2VQcm92aWRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFRoZSBvcmdhbml6YXRpb24gKGZhY2lsaXR5KSByZXNwb25zaWJsZSBmb3IgdGhpcyBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBvcmdhbml6YXRpb24gdGhhdCBpcyBwcmltYXJpbHkgcmVzcG9uc2libGUgZm9yIHRoaXMgRW5jb3VudGVyJ3Mgc2VydmljZXMuIFRoaXMgTUFZIGJlIHRoZSBzYW1lIGFzIHRoZSBvcmdhbml6YXRpb24gb24gdGhlIFBhdGllbnQgcmVjb3JkLCBob3dldmVyIGl0IGNvdWxkIGJlIGRpZmZlcmVudCwgc3VjaCBhcyBpZiB0aGUgYWN0b3IgcGVyZm9ybWluZyB0aGUgc2VydmljZXMgd2FzIGZyb20gYW4gZXh0ZXJuYWwgb3JnYW5pemF0aW9uICh3aGljaCBtYXkgYmUgYmlsbGVkIHNlcGVyYXRlbHkpIGZvciBhbiBleHRlcm5hbCBjb25zdWx0YXRpb24uICBSZWZlciB0byB0aGUgZXhhbXBsZSBidW5kbGUgc2hvd2luZyBhbiBhYmJyZXZpYXRlZCBzZXQgb2YgRW5jb3VudGVycyBmb3IgYSBjb2xvbm9zY29weS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFub3RoZXIgRW5jb3VudGVyIHRoaXMgZW5jb3VudGVyIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkFub3RoZXIgRW5jb3VudGVyIG9mIHdoaWNoIHRoaXMgZW5jb3VudGVyIGlzIGEgcGFydCBvZiAoYWRtaW5pc3RyYXRpdmVseSBvciBpbiB0aW1lKS4iIGNvbW1lbnQ9IlRoaXMgaXMgYWxzbyB1c2VkIGZvciBhc3NvY2lhdGluZyBhIGNoaWxkJ3MgZW5jb3VudGVyIGJhY2sgdG8gdGhlIG1vdGhlcidzIGVuY291bnRlci4mIzEzOyYjMTM7UmVmZXIgdG8gdGhlIE5vdGVzIHNlY3Rpb24gaW4gdGhlIFBhdGllbnQgcmVzb3VyY2UgZm9yIGZ1cnRoZXIgZGV0YWlscy4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9IndoZXJlKHJlc29sdmUoKSBpcyBQcmFjdGl0aW9uZXIpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iaW5kaXZpZHVhbCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9ImluZGl2aWR1YWwiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5DbGFzc0hpc3RvcnkiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNsYXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJpbnBhdGllbnQgfCBvdXRwYXRpZW50IHwgYW1idWxhdG9yeSB8IGVtZXJnZW5jeSArIiBkZWZpbml0aW9uPSJpbnBhdGllbnQgfCBvdXRwYXRpZW50IHwgYW1idWxhdG9yeSB8IGVtZXJnZW5jeSArLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlckNsYXNzIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB0aGF0IHRoZSBlcGlzb2RlIHdhcyBpbiB0aGUgc3BlY2lmaWVkIGNsYXNzIiBkZWZpbml0aW9uPSJUaGUgdGltZSB0aGF0IHRoZSBlcGlzb2RlIHdhcyBpbiB0aGUgc3BlY2lmaWVkIGNsYXNzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyLkRpYWdub3NpcyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29uZGl0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBkaWFnbm9zaXMgb3IgcHJvY2VkdXJlIHJlbGV2YW50IHRvIHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IlJlYXNvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLCBhcyBzcGVjaWZpZWQgdXNpbmcgaW5mb3JtYXRpb24gZnJvbSBhbm90aGVyIHJlc291cmNlLiBGb3IgYWRtaXNzaW9ucywgdGhpcyBpcyB0aGUgYWRtaXNzaW9uIGRpYWdub3Npcy4gVGhlIGluZGljYXRpb24gd2lsbCB0eXBpY2FsbHkgYmUgYSBDb25kaXRpb24gKHdpdGggb3RoZXIgcmVzb3VyY2VzIHJlZmVyZW5jZWQgaW4gdGhlIGV2aWRlbmNlLmRldGFpbCksIG9yIGEgUHJvY2VkdXJlLiIgY29tbWVudD0iRm9yIHN5c3RlbXMgdGhhdCBuZWVkIHRvIGtub3cgd2hpY2ggd2FzIHRoZSBwcmltYXJ5IGRpYWdub3NpcywgdGhlc2Ugd2lsbCBiZSBtYXJrZWQgd2l0aCB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIHByaW1hcnlEaWFnbm9zaXMgKHdoaWNoIGlzIGEgc2VxdWVuY2UgdmFsdWUgcmF0aGVyIHRoYW4gYSBmbGFnLCAxID0gcHJpbWFyeSBkaWFnbm9zaXMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUm9sZSB0aGF0IHRoaXMgZGlhZ25vc2lzIGhhcyB3aXRoaW4gdGhlIGVuY291bnRlciAoZS5nLiBhZG1pc3Npb24sIGJpbGxpbmcsIGRpc2NoYXJnZSDigKYpIiBkZWZpbml0aW9uPSJSb2xlIHRoYXQgdGhpcyBkaWFnbm9zaXMgaGFzIHdpdGhpbiB0aGUgZW5jb3VudGVyIChlLmcuIGFkbWlzc2lvbiwgYmlsbGluZywgZGlzY2hhcmdlIOKApikuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc2lzUm9sZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGRpYWdub3NpcyB0aGlzIGNvbmRpdGlvbiByZXByZXNlbnRzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyYW5rIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmFua2luZyBvZiB0aGUgZGlhZ25vc2lzIChmb3IgZWFjaCByb2xlIHR5cGUpIiBkZWZpbml0aW9uPSJSYW5raW5nIG9mIHRoZSBkaWFnbm9zaXMgKGZvciBlYWNoIHJvbGUgdHlwZSkuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXIuSG9zcGl0YWxpemF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBZG1pc3Npb25JZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJQcmUtYWRtaXNzaW9uIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlByZS1hZG1pc3Npb24gaWRlbnRpZmllci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvcmlnaW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIGxvY2F0aW9uL29yZ2FuaXphdGlvbiBmcm9tIHdoaWNoIHRoZSBwYXRpZW50IGNhbWUgYmVmb3JlIGFkbWlzc2lvbiIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uL29yZ2FuaXphdGlvbiBmcm9tIHdoaWNoIHRoZSBwYXRpZW50IGNhbWUgYmVmb3JlIGFkbWlzc2lvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkbWl0U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGcm9tIHdoZXJlIHBhdGllbnQgd2FzIGFkbWl0dGVkIChwaHlzaWNpYW4gcmVmZXJyYWwsIHRyYW5zZmVyKSIgZGVmaW5pdGlvbj0iRnJvbSB3aGVyZSBwYXRpZW50IHdhcyBhZG1pdHRlZCAocGh5c2ljaWFuIHJlZmVycmFsLCB0cmFuc2ZlcikuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWRtaXRTb3VyY2UiIGRlc2NyaXB0aW9uPSJGcm9tIHdoZXJlIHRoZSBwYXRpZW50IHdhcyBhZG1pdHRlZC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVBZG1pc3Npb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGhvc3BpdGFsIHJlLWFkbWlzc2lvbiB0aGF0IGhhcyBvY2N1cnJlZCAoaWYgYW55KS4gSWYgdGhlIHZhbHVlIGlzIGFic2VudCwgdGhlbiB0aGlzIGlzIG5vdCBpZGVudGlmaWVkIGFzIGEgcmVhZG1pc3Npb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBob3NwaXRhbGl6YXRpb24gaXMgYSByZWFkbWlzc2lvbiBhbmQgd2h5IGlmIGtub3duLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlQWRtaXNzaW9uVHlwZSIgZGVzY3JpcHRpb249IlRoZSByZWFzb24gZm9yIHJlLWFkbWlzc2lvbiBvZiB0aGlzIGhvc3BpdGFsaXphdGlvbiBlbmNvdW50ZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaWV0UHJlZmVyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRpZXQgcHJlZmVyZW5jZXMgcmVwb3J0ZWQgYnkgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IkRpZXQgcHJlZmVyZW5jZXMgcmVwb3J0ZWQgYnkgdGhlIHBhdGllbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgYSBwYXRpZW50IG1heSByZXF1ZXN0IGJvdGggYSBkYWlyeS1mcmVlIGFuZCBudXQtZnJlZSBkaWV0IHByZWZlcmVuY2UgKG5vdCBtdXR1YWxseSBleGNsdXNpdmUpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQYXRpZW50RGlldCIgZGVzY3JpcHRpb249Ik1lZGljYWwsIGN1bHR1cmFsIG9yIGV0aGljYWwgZm9vZCBwcmVmZXJlbmNlcyB0byBoZWxwIHdpdGggY2F0ZXJpbmcgcmVxdWlyZW1lbnRzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2lhbENvdXJ0ZXN5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBjb3VydGVzaWVzIChWSVAsIGJvYXJkIG1lbWJlcikiIGRlZmluaXRpb249IlNwZWNpYWwgY291cnRlc2llcyAoVklQLCBib2FyZCBtZW1iZXIpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb3VydGVzaWVzIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBjb3VydGVzaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaWFsQXJyYW5nZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVlbGNoYWlyLCB0cmFuc2xhdG9yLCBzdHJldGNoZXIsIGV0Yy4iIGRlZmluaXRpb249IkFueSBzcGVjaWFsIHJlcXVlc3RzIHRoYXQgaGF2ZSBiZWVuIG1hZGUgZm9yIHRoaXMgaG9zcGl0YWxpemF0aW9uIGVuY291bnRlciwgc3VjaCBhcyB0aGUgcHJvdmlzaW9uIG9mIHNwZWNpZmljIGVxdWlwbWVudCBvciBvdGhlciB0aGluZ3MuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFycmFuZ2VtZW50cyIgZGVzY3JpcHRpb249IlNwZWNpYWwgYXJyYW5nZW1lbnRzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXN0aW5hdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbi9vcmdhbml6YXRpb24gdG8gd2hpY2ggdGhlIHBhdGllbnQgaXMgZGlzY2hhcmdlZCIgZGVmaW5pdGlvbj0iTG9jYXRpb24vb3JnYW5pemF0aW9uIHRvIHdoaWNoIHRoZSBwYXRpZW50IGlzIGRpc2NoYXJnZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDYXRlZ29yeSBvciBraW5kIG9mIGxvY2F0aW9uIGFmdGVyIGRpc2NoYXJnZSIgZGVmaW5pdGlvbj0iQ2F0ZWdvcnkgb3Iga2luZCBvZiBsb2NhdGlvbiBhZnRlciBkaXNjaGFyZ2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyLkxvY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIExvY2F0aW9uIHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UiIGRlZmluaXRpb249IlRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icGxhbm5lZCB8IGFjdGl2ZSB8IHJlc2VydmVkIHwgY29tcGxldGVkIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBwYXJ0aWNpcGFudHMnIHByZXNlbmNlIGF0IHRoZSBzcGVjaWZpZWQgbG9jYXRpb24gZHVyaW5nIHRoZSBwZXJpb2Qgc3BlY2lmaWVkLiBJZiB0aGUgcGFydGljaXBhbnQgaXMgbm8gbG9uZ2VyIGF0IHRoZSBsb2NhdGlvbiwgdGhlbiB0aGUgcGVyaW9kIHdpbGwgaGF2ZSBhbiBlbmQgZGF0ZS90aW1lLiIgY29tbWVudD0iV2hlbiB0aGUgcGF0aWVudCBpcyBubyBsb25nZXIgYWN0aXZlIGF0IGEgbG9jYXRpb24sIHRoZW4gdGhlIHBlcmlvZCBlbmQgZGF0ZSBpcyBlbnRlcmVkLCBhbmQgdGhlIHN0YXR1cyBtYXkgYmUgY2hhbmdlZCB0byBjb21wbGV0ZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBsb2NhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwaHlzaWNhbFR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBwaHlzaWNhbCB0eXBlIG9mIHRoZSBsb2NhdGlvbiAodXN1YWxseSB0aGUgbGV2ZWwgaW4gdGhlIGxvY2F0aW9uIGhpZXJhY2h5IC0gYmVkIHJvb20gd2FyZCBldGMuKSIgZGVmaW5pdGlvbj0iVGhpcyB3aWxsIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgcmVxdWlyZWQgbGV2ZWxzIChiZWQvd2FyZC9yb29tL2V0Yy4pIGRlc2lyZWQgdG8gYmUgcmVjb3JkZWQgdG8gc2ltcGxpZnkgZWl0aGVyIG1lc3NhZ2luZyBvciBxdWVyeS4iIGNvbW1lbnQ9IlRoaXMgaW5mb3JtYXRpb24gaXMgZGUtbm9ybWFsaXplZCBmcm9tIHRoZSBMb2NhdGlvbiByZXNvdXJjZSB0byBzdXBwb3J0IHRoZSBlYXNpZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgZW5jb3VudGVyIHJlc291cmNlIGFuZCBwcm9jZXNzaW5nIGluIG1lc3NhZ2luZyBvciBxdWVyeS4mIzEwOyYjMTA7VGhlcmUgbWF5IGJlIG1hbnkgbGV2ZWxzIGluIHRoZSBoaWVyYWNoeSwgYW5kIHRoaXMgbWF5IG9ubHkgcGljIHNwZWNpZmljIGxldmVscyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgYSBzcGVjaWZpYyB1c2FnZSBzY2VuYXJpby4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQaHlzaWNhbFR5cGUiIGRlc2NyaXB0aW9uPSJQaHlzaWNhbCBmb3JtIG9mIHRoZSBsb2NhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGltZSBwZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBwYXRpZW50IHdhcyBwcmVzZW50IGF0IHRoZSBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGltZSBwZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBwYXRpZW50IHdhcyBwcmVzZW50IGF0IHRoZSBsb2NhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5QYXJ0aWNpcGFudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgUm9sZSBvZiBwYXJ0aWNpcGFudCBpbiBlbmNvdW50ZXIiIGRlZmluaXRpb249IlJvbGUgb2YgcGFydGljaXBhbnQgaW4gZW5jb3VudGVyLiIgY29tbWVudD0iVGhlIHBhcnRpY2lwYW50IHR5cGUgaW5kaWNhdGVzIGhvdyBhbiBpbmRpdmlkdWFsIHBhcnRpY2lwYXRlcyBpbiBhbiBlbmNvdW50ZXIuIEl0IGluY2x1ZGVzIG5vbi1wcmFjdGl0aW9uZXIgcGFydGljaXBhbnRzLCBhbmQgZm9yIHByYWN0aXRpb25lcnMgdGhpcyBpcyB0byBkZXNjcmliZSB0aGUgYWN0aW9uIHR5cGUgaW4gdGhlIGNvbnRleHQgb2YgdGhpcyBlbmNvdW50ZXIgKGUuZy4gQWRtaXR0aW5nIERyLCBBdHRlbmRpbmcgRHIsIFRyYW5zbGF0b3IsIENvbnN1bHRpbmcgRHIpLiBUaGlzIGlzIGRpZmZlcmVudCB0byB0aGUgcHJhY3RpdGlvbmVyIHJvbGVzIHdoaWNoIGFyZSBmdW5jdGlvbmFsIHJvbGVzLCBkZXJpdmVkIGZyb20gdGVybXMgb2YgZW1wbG95bWVudCwgZWR1Y2F0aW9uLCBsaWNlbnNpbmcsIGV0Yy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBhcnRpY2lwYW50VHlwZSIgZGVzY3JpcHRpb249IlJvbGUgb2YgcGFydGljaXBhbnQgaW4gZW5jb3VudGVyLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgUGVyaW9kIG9mIHRpbWUgZHVyaW5nIHRoZSBlbmNvdW50ZXIgdGhhdCB0aGUgcGFydGljaXBhbnQgcGFydGljaXBhdGVkIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIG9mIHRpbWUgdGhhdCB0aGUgc3BlY2lmaWVkIHBhcnRpY2lwYW50IHBhcnRpY2lwYXRlZCBpbiB0aGUgZW5jb3VudGVyLiBUaGVzZSBjYW4gb3ZlcmxhcCBvciBiZSBzdWItc2V0cyBvZiB0aGUgb3ZlcmFsbCBlbmNvdW50ZXIncyBwZXJpb2QuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImluZGl2aWR1YWwiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBQZXJzb25zIGludm9sdmVkIGluIHRoZSBlbmNvdW50ZXIgb3RoZXIgdGhhbiB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iUGVyc29ucyBpbnZvbHZlZCBpbiB0aGUgZW5jb3VudGVyIG90aGVyIHRoYW4gdGhlIHBhdGllbnQuIiBjb21tZW50PSJTaG91bGQgaW5jbHVkZSBRSUNvcmUtUmVsYXRlZFBlcnNvbiBhcyBhIHBvc3NpYmxlIHBhcnRpY2lwYW50LCBidXQgVVNDb3JlLUVuY291bnRlciBvbmx5IGFsbG93cyBVU0NvcmUtUHJhY3RpdGlvbmVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5TdGF0dXNIaXN0b3J5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InBsYW5uZWQgfCBhcnJpdmVkIHwgdHJpYWdlZCB8IGluLXByb2dyZXNzIHwgb25sZWF2ZSB8IGZpbmlzaGVkIHwgY2FuY2VsbGVkICsiIGRlZmluaXRpb249InBsYW5uZWQgfCBhcnJpdmVkIHwgdHJpYWdlZCB8IGluLXByb2dyZXNzIHwgb25sZWF2ZSB8IGZpbmlzaGVkIHwgY2FuY2VsbGVkICsuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW5jb3VudGVyU3RhdHVzIiBkZXNjcmlwdGlvbj0iQ3VycmVudCBzdGF0ZSBvZiB0aGUgZW5jb3VudGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB0aGF0IHRoZSBlcGlzb2RlIHdhcyBpbiB0aGUgc3BlY2lmaWVkIHN0YXR1cyIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgdGhhdCB0aGUgZXBpc29kZSB3YXMgaW4gdGhlIHNwZWNpZmllZCBzdGF0dXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXJMb2NhdGlvblN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXJTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXZlbnRUaW1pbmciIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXhwcmVzc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0V4cHJlc3Npb24iIGxhYmVsPSJFeHByZXNzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hdHVyYWwgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gb2YgdGhlIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iQSBicmllZiwgbmF0dXJhbCBsYW5ndWFnZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29uZGl0aW9uIHRoYXQgZWZmZWN0aXZlbHkgY29tbXVuaWNhdGVzIHRoZSBpbnRlbmRlZCBzZW1hbnRpY3MuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU2hvcnQgbmFtZSBhc3NpZ25lZCB0byBleHByZXNzaW9uIGZvciByZXVzZSIgZGVmaW5pdGlvbj0iQSBzaG9ydCBuYW1lIGFzc2lnbmVkIHRvIHRoZSBleHByZXNzaW9uIHRvIGFsbG93IGZvciBtdWx0aXBsZSByZXVzZSBvZiB0aGUgZXhwcmVzc2lvbiBpbiB0aGUgY29udGV4dCB3aGVyZSBpdCBpcyBkZWZpbmVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ0ZXh0L2NxbCB8IHRleHQvZmhpcnBhdGggfCBhcHBsaWNhdGlvbi94LWZoaXItcXVlcnkgfCBldGMuIiBkZWZpbml0aW9uPSJUaGUgbWVkaWEgdHlwZSBvZiB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBleHByZXNzaW9uLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkV4cHJlc3Npb25MYW5ndWFnZSIgZGVzY3JpcHRpb249IlRoZSBtZWRpYSB0eXBlIG9mIHRoZSBleHByZXNzaW9uIGxhbmd1YWdlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwcmVzc2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXhwcmVzc2lvbiBpbiBzcGVjaWZpZWQgbGFuZ3VhZ2UiIGRlZmluaXRpb249IkFuIGV4cHJlc3Npb24gaW4gdGhlIHNwZWNpZmllZCBsYW5ndWFnZSB0aGF0IHJldHVybnMgYSB2YWx1ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBleHByZXNzaW9uIGlzIGZvdW5kIiBkZWZpbml0aW9uPSJBIFVSSSB0aGF0IGRlZmluZXMgd2hlcmUgdGhlIGV4cHJlc3Npb24gaXMgZm91bmQuIiBjb21tZW50PSJJZiBib3RoIGEgcmVmZXJlbmNlIGFuZCBhbiBleHByZXNzaW9uIGlzIGZvdW5kLCB0aGUgcmVmZXJlbmNlIFNIQUxMIHBvaW50IHRvIHRoZSBzYW1lIGV4cHJlc3Npb24uIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9FeHRlbnNpb24iIGxhYmVsPSJFeHRlbnNpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImlkZW50aWZpZXMgdGhlIG1lYW5pbmcgb2YgdGhlIGV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iU291cmNlIG9mIHRoZSBkZWZpbml0aW9uIGZvciB0aGUgZXh0ZW5zaW9uIGNvZGUgLSBhIGxvZ2ljYWwgbmFtZSBvciBhIFVSTC4iIGNvbW1lbnQ9IlRoZSBkZWZpbml0aW9uIG1heSBwb2ludCBkaXJlY3RseSB0byBhIGNvbXB1dGFibGUgb3IgaHVtYW4tcmVhZGFibGUgZGVmaW5pdGlvbiBvZiB0aGUgZXh0ZW5zaWJpbGl0eSBjb2Rlcywgb3IgaXQgbWF5IGJlIGEgbG9naWNhbCBVUkkgYXMgZGVjbGFyZWQgaW4gc29tZSBvdGhlciBzcGVjaWZpY2F0aW9uLiBUaGUgZGVmaW5pdGlvbiBTSEFMTCBiZSBhIFVSSSBmb3IgdGhlIFN0cnVjdHVyZSBEZWZpbml0aW9uIGRlZmluaW5nIHRoZSBleHRlbnNpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFsdWUgb2YgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJWYWx1ZSBvZiBleHRlbnNpb24gLSBtdXN0IGJlIG9uZSBvZiBhIGNvbnN0cmFpbmVkIHNldCBvZiB0aGUgZGF0YSB0eXBlcyAoc2VlIFtFeHRlbnNpYmlsaXR5XShleHRlbnNpYmlsaXR5Lmh0bWwpIGZvciBhIGxpc3QpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzcyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkF0dGFjaG1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3RQb2ludCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSHVtYW5OYW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNhbXBsZWREYXRhIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTaWduYXR1cmUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdERldGFpbCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udHJpYnV0b3IiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXhwcmVzc2lvbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGFyYW1ldGVyRGVmaW5pdGlvbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZEFydGlmYWN0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUcmlnZ2VyRGVmaW5pdGlvbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVXNhZ2VDb250ZXh0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1ldGEiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGSElSQWxsVHlwZXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRkhJUkRldmljZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGSElSU3Vic3RhbmNlU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkZhbWlseUhpc3RvcnlTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmFtaWx5TWVtYmVySGlzdG9yeSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZmFtaWx5bWVtYmVyaGlzdG9yeSIgbGFiZWw9IlFJQ29yZSBGYW1pbHlNZW1iZXJIaXN0b3J5IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJyZWxhdGlvbnNoaXAiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZChzKSBmb3IgdGhpcyByZWNvcmQiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgZmFtaWx5IG1lbWJlciBoaXN0b3J5IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRmFtaWx5TWVtYmVySGlzdG9yeS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBGYW1pbHlNZW1iZXJIaXN0b3J5LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZhbWlseUhpc3RvcnlTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icGFydGlhbCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBoZWFsdGgtdW5rbm93biIgZGVmaW5pdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXR1cyBvZiB0aGUgcmVjb3JkIG9mIHRoZSBmYW1pbHkgaGlzdG9yeSBvZiBhIHNwZWNpZmljIGZhbWlseSBtZW1iZXIuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRmFtaWx5SGlzdG9yeVN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIHN0YXR1cyBvZiB0aGUgZmFtaWx5IGhpc3RvcnkgcmVjb3JkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249InN1YmplY3QtdW5rbm93biB8IHdpdGhoZWxkIHwgdW5hYmxlLXRvLW9idGFpbiB8IGRlZmVycmVkIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2h5IHRoZSBmYW1pbHkgbWVtYmVyJ3MgaGlzdG9yeSBpcyBub3QgYXZhaWxhYmxlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZhbWlseUhpc3RvcnlBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSByZWFzb24gd2h5IGEgZmFtaWx5IG1lbWJlcidzIGhpc3RvcnkgaXMgbm90IGF2YWlsYWJsZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFBhdGllbnQgaGlzdG9yeSBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiB3aG8gdGhpcyBoaXN0b3J5IGNvbmNlcm5zLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gaGlzdG9yeSB3YXMgcmVjb3JkZWQgb3IgbGFzdCB1cGRhdGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSAoYW5kIHBvc3NpYmx5IHRpbWUpIHdoZW4gdGhlIGZhbWlseSBtZW1iZXIgaGlzdG9yeSB3YXMgcmVjb3JkZWQgb3IgbGFzdCB1cGRhdGVkLiIgY29tbWVudD0iVGhpcyBzaG91bGQgYmUgY2FwdHVyZWQgZXZlbiBpZiB0aGUgc2FtZSBhcyB0aGUgZGF0ZSBvbiB0aGUgTGlzdCBhZ2dyZWdhdGluZyB0aGUgZnVsbCBmYW1pbHkgaGlzdG9yeS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZmFtaWx5IG1lbWJlciBkZXNjcmliZWQiIGRlZmluaXRpb249IlRoaXMgd2lsbCBlaXRoZXIgYmUgYSBuYW1lIG9yIGEgZGVzY3JpcHRpb247IGUuZy4gJnF1b3Q7QXVudCBTdXNhbiZxdW90OywgJnF1b3Q7bXkgY291c2luIHdpdGggdGhlIHJlZCBoYWlyJnF1b3Q7LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0aW9uc2hpcCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFJlbGF0aW9uc2hpcCB0byB0aGUgc3ViamVjdCIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgcmVsYXRpb25zaGlwIHRoaXMgcGVyc29uIGhhcyB0byB0aGUgcGF0aWVudCAoZmF0aGVyLCBtb3RoZXIsIGJyb3RoZXIgZXRjLikuIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBiaXJ0aCBzZXggb2YgdGhlIGZhbWlseSBtZW1iZXIuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgc2hvdWxkIGlkZWFsbHkgcmVmbGVjdCB3aGV0aGVyIHRoZSBpbmRpdmlkdWFsIGlzIGdlbmV0aWNhbGx5IG1hbGUgb3IgZmVtYWxlLiAgSG93ZXZlciwgYXMgcmVwb3J0ZWQgaW5mb3JtYXRpb24gYmFzZWQgb24gdGhlIGtub3dsZWRnZSBvZiB0aGUgcGF0aWVudCBvciByZXBvcnRpbmcgZnJpZW5kL3JlbGF0aXZlLCB0aGVyZSBtYXkgYmUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgcmVwb3J0ZWQgc2V4IG1pZ2h0IG5vdCBiZSB0b3RhbGx5IGFjY3VyYXRlLiAgRS5nLiAnQXVudCBTdWUnIG1pZ2h0IGJlIFhZIHJhdGhlciB0aGFuIFhYLiAgUXVlc3Rpb25zIHNvbGljaXRpbmcgdGhpcyBpbmZvcm1hdGlvbiBzaG91bGQgYmUgcGhyYXNlZCB0byBlbmNvdXJhZ2UgY2FwdHVyZSBvZiBnZW5ldGljIHNleCB3aGVyZSBrbm93bi4gIEhvd2V2ZXIsIHN5c3RlbXMgcGVyZm9ybWluZyBhbmFseXNpcyBzaG91bGQgYWxzbyBhbGxvdyBmb3IgdGhlIHBvc3NpYmlsaXR5IG9mIGltcHJlY2lzaW9uIHdpdGggdGhpcyBlbGVtZW50LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNleCIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIHNleCBhc3NpZ25lZCBhdCBiaXJ0aCBhcyBkb2N1bWVudGVkIG9uIHRoZSBiaXJ0aCByZWdpc3RyYXRpb24uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib3JuIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihhcHByb3hpbWF0ZSkgZGF0ZSBvZiBiaXJ0aCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBvciBhcHByb3hpbWF0ZSBkYXRlIG9mIGJpcnRoIG9mIHRoZSByZWxhdGl2ZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWdlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSAoYXBwcm94aW1hdGUpIGFnZSIgZGVmaW5pdGlvbj0iVGhlIGFnZSBvZiB0aGUgcmVsYXRpdmUgYXQgdGhlIHRpbWUgdGhlIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBpcyByZWNvcmRlZC4iIGNvbW1lbnQ9InVzZSBlc3RpbWF0ZWRBZ2UgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgYWdlIGlzIGFjdHVhbCBvciBub3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlc3RpbWF0ZWRBZ2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBZ2UgaXMgZXN0aW1hdGVkPyIgZGVmaW5pdGlvbj0iSWYgdHJ1ZSwgaW5kaWNhdGVzIHRoYXQgdGhlIGFnZSB2YWx1ZSBzcGVjaWZpZWQgaXMgYW4gZXN0aW1hdGVkIHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBmYWN0IHRoYXQgYWdlIGlzIGVzdGltYXRlZCBjYW4vc2hvdWxkIGNoYW5nZSB0aGUgcmVzdWx0cyBvZiBhbnkgYWxnb3JpdGhtIHRoYXQgY2FsY3VsYXRlcyBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIGFnZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZWNlYXNlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRGVhZD8gSG93IG9sZC93aGVuPyIgZGVmaW5pdGlvbj0iRGVjZWFzZWQgZmxhZyBvciB0aGUgYWN0dWFsIG9yIGFwcHJveGltYXRlIGFnZSBvZiB0aGUgcmVsYXRpdmUgYXQgdGhlIHRpbWUgb2YgZGVhdGggZm9yIHRoZSBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgcmVjb3JkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB3YXMgZmFtaWx5IG1lbWJlciBoaXN0b3J5IHBlcmZvcm1lZD8iIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aHkgdGhlIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBvY2N1cnJlZCBpbiBjb2RlZCBvciB0ZXh0dWFsIGZvcm0uIiBjb21tZW50PSJUZXh0dWFsIHJlYXNvbnMgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHJlYXNvbkNvZGUudGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRmFtaWx5SGlzdG9yeVJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGluZGljYXRpbmcgd2h5IHRoZSBmYW1pbHkgbWVtYmVyIGhpc3Rvcnkgd2FzIGRvbmUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBwZXJmb3JtZWQ/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYSBDb25kaXRpb24sIE9ic2VydmF0aW9uLCBBbGxlcmd5SW50b2xlcmFuY2UsIG9yIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSB0aGF0IGp1c3RpZmllcyB0aGlzIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iR2VuZXJhbCBub3RlIGFib3V0IHJlbGF0ZWQgcGVyc29uIiBkZWZpbml0aW9uPSJUaGlzIHByb3BlcnR5IGFsbG93cyBhIG5vbiBjb25kaXRpb24tc3BlY2lmaWMgbm90ZSB0byB0aGUgbWFkZSBhYm91dCB0aGUgcmVsYXRlZCBwZXJzb24uIElkZWFsbHksIHRoZSBub3RlIHdvdWxkIGJlIGluIHRoZSBjb25kaXRpb24gcHJvcGVydHksIGJ1dCB0aGlzIGlzIG5vdCBhbHdheXMgcG9zc2libGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbiIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiB0aGF0IHRoZSByZWxhdGVkIHBlcnNvbiBoYWQiIGRlZmluaXRpb249IlRoZSBzaWduaWZpY2FudCBDb25kaXRpb25zIChvciBjb25kaXRpb24pIHRoYXQgdGhlIGZhbWlseSBtZW1iZXIgaGFkLiBUaGlzIGlzIGEgcmVwZWF0aW5nIHNlY3Rpb24gdG8gYWxsb3cgYSBzeXN0ZW0gdG8gcmVwcmVzZW50IG1vcmUgdGhhbiBvbmUgY29uZGl0aW9uIHBlciByZXNvdXJjZSwgdGhvdWdoIHRoZXJlIGlzIG5vdGhpbmcgc3RvcHBpbmcgbXVsdGlwbGUgcmVzb3VyY2VzIC0gb25lIHBlciBjb25kaXRpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZhbWlseU1lbWJlckhpc3RvcnkuQ29uZGl0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGYW1pbHlNZW1iZXJIaXN0b3J5LkNvbmRpdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENvbmRpdGlvbiBzdWZmZXJlZCBieSByZWxhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBjb25kaXRpb24gc3BlY2lmaWVkLiBDb3VsZCBiZSBhIGNvZGVkIGNvbmRpdGlvbiAobGlrZSBNSSBvciBEaWFiZXRlcykgb3IgYSBsZXNzIHNwZWNpZmljIHN0cmluZyBsaWtlICdjYW5jZXInIGRlcGVuZGluZyBvbiBob3cgbXVjaCBpcyBrbm93biBhYm91dCB0aGUgY29uZGl0aW9uIGFuZCB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSBjcmVhdGluZyBzeXN0ZW0uIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBDb25kaXRpb24gb3IgZGlhZ25vc2lzLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iZGVjZWFzZWQgfCBwZXJtYW5lbnQgZGlzYWJpbGl0eSB8IGV0Yy4iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGF0IGhhcHBlbmVkIGZvbGxvd2luZyB0aGUgY29uZGl0aW9uLiAgSWYgdGhlIGNvbmRpdGlvbiByZXN1bHRlZCBpbiBkZWF0aCwgZGVjZWFzZWQgZGF0ZSBpcyBjYXB0dXJlZCBvbiB0aGUgcmVsYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uT3V0Y29tZSIgZGVzY3JpcHRpb249IlRoZSByZXN1bHQgb2YgdGhlIGNvbmRpdGlvbiBmb3IgdGhlIHBhdGllbnQ7IGUuZy4gZGVhdGgsIHBlcm1hbmVudCBkaXNhYmlsaXR5LCB0ZW1wb3JhcnkgZGlzYWJpbGl0eSwgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udHJpYnV0ZWRUb0RlYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgY29uZGl0aW9uIGNvbnRyaWJ1dGVkIHRvIHRoZSBjYXVzZSBvZiBkZWF0aCIgZGVmaW5pdGlvbj0iVGhpcyBjb25kaXRpb24gY29udHJpYnV0ZWQgdG8gdGhlIGNhdXNlIG9mIGRlYXRoIG9mIHRoZSByZWxhdGVkIHBlcnNvbi4gSWYgY29udHJpYnV0ZWRUb0RlYXRoIGlzIG5vdCBwb3B1bGF0ZWQsIHRoZW4gaXQgaXMgdW5rbm93bi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbnNldCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIGNvbmRpdGlvbiBmaXJzdCBtYW5pZmVzdGVkIiBkZWZpbml0aW9uPSJFaXRoZXIgdGhlIGFnZSBvZiBvbnNldCwgcmFuZ2Ugb2YgYXBwcm94aW1hdGUgYWdlIG9yIGRlc2NyaXB0aXZlIHN0cmluZyBjYW4gYmUgcmVjb3JkZWQuICBGb3IgY29uZGl0aW9ucyB3aXRoIG11bHRpcGxlIG9jY3VycmVuY2VzLCB0aGlzIGRlc2NyaWJlcyB0aGUgZmlyc3Qga25vd24gb2NjdXJyZW5jZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBbiBhcmVhIHdoZXJlIGdlbmVyYWwgbm90ZXMgY2FuIGJlIHBsYWNlZCBhYm91dCB0aGlzIHNwZWNpZmljIGNvbmRpdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29uZGl0aW9uLWFiYXRlbWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5hYmF0ZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSglcGFyZW50LmNvbmRpdGlvbi5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZmFtaWx5bWVtYmVyaGlzdG9yeS1hYmF0ZW1lbnQnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIChvciBpZikgdGhlIGZhbWlseSBtZW1iZXIncyBjb25kaXRpb24gcmVzb2x2ZWQiIGRlZmluaXRpb249IlRoZSBhcHByb3hpbWF0ZSBkYXRlLCBhZ2UsIG9yIGZsYWcgaW5kaWNhdGluZyB0aGF0IHRoZSBjb25kaXRpb24gb2YgdGhlIGZhbWlseSBtZW1iZXIgcmVzb2x2ZWQuIFRoZSBhYmF0ZW1lbnQgc2hvdWxkIG9ubHkgYmUgc3BlY2lmaWVkIGlmIHRoZSBjb25kaXRpb24gaXMgc3RhdGVkIGluIHRoZSBwb3NpdGl2ZSBzZW5zZSwgaS5lLiwgdGhlIGRpZE5vdEhhdmUgZmxhZyBpcyBmYWxzZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbi1zZXZlcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5zZXZlcml0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jb25kaXRpb24uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2ZhbWlseW1lbWJlcmhpc3Rvcnktc2V2ZXJpdHknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgc2VyaW91c25lc3Mgb2YgdGhlIGZhbWlseSBtZW1iZXIgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIHF1YWxpZmljYXRpb24gb2YgdGhlIHNlcmlvdXNuZXNzIG9yIGltcGFjdCBvbiBoZWFsdGggb2YgdGhlIGZhbWlseSBtZW1iZXIgY29uZGl0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGbGFnIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1mbGFnIiBsYWJlbD0iUUlDb3JlIEZsYWciIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGZsYWcgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5GbGFnU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBhY3RpdmUgfCBpbmFjdGl2ZSB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlN1cHBvcnRzIGJhc2ljIHdvcmtmbG93LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZsYWdTdGF0dXMiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGlzIGZsYWcgaXMgYWN0aXZlIGFuZCBuZWVkcyB0byBiZSBkaXNwbGF5ZWQgdG8gYSB1c2VyLCBvciB3aGV0aGVyIGl0IGlzIG5vIGxvbmdlciBuZWVkZWQgb3Igd2FzIGVudGVyZWQgaW4gZXJyb3IuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ2xpbmljYWwsIGFkbWluaXN0cmF0aXZlLCBldGMuIiBkZWZpbml0aW9uPSJBbGxvd3MgYSBmbGFnIHRvIGJlIGRpdmlkZWQgaW50byBkaWZmZXJlbnQgY2F0ZWdvcmllcyBsaWtlIGNsaW5pY2FsLCBhZG1pbmlzdHJhdGl2ZSBldGMuIEludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSBtZWFucyBvZiBmaWx0ZXJpbmcgd2hpY2ggZmxhZ3MgYXJlIGRpc3BsYXllZCB0byBwYXJ0aWN1bGFyIHVzZXIgb3IgaW4gYSBnaXZlbiBjb250ZXh0LiIgY29tbWVudD0iVGhlIHZhbHVlIHNldCB3aWxsIG9mdGVuIG5lZWQgdG8gYmUgYWRqdXN0ZWQgYmFzZWQgb24gbG9jYWwgYnVzaW5lc3MgcnVsZXMgYW5kIHVzYWdlIGNvbnRleHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENvZGVkIG9yIHRleHR1YWwgbWVzc2FnZSB0byBkaXNwbGF5IHRvIHVzZXIiIGRlZmluaXRpb249IlRoZSBjb2RlZCB2YWx1ZSBvciB0ZXh0dWFsIGNvbXBvbmVudCBvZiB0aGUgZmxhZyB0byBkaXNwbGF5IHRvIHRoZSB1c2VyLiIgY29tbWVudD0iSWYgbm9uLWNvZGVkLCB1c2UgQ29kZWFibGVDb25jZXB0LnRleHQuICBUaGlzIGVsZW1lbnQgc2hvdWxkIGFsd2F5cyBiZSBpbmNsdWRlZCBpbiB0aGUgbmFycmF0aXZlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvL1doYXQgaXMgZmxhZyBhYm91dD8iIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBsb2NhdGlvbiwgZ3JvdXAsIG9yZ2FuaXphdGlvbiwgb3IgcHJhY3RpdGlvbmVyIGV0Yy4gdGhpcyBpcyBhYm91dCByZWNvcmQgdGhpcyBmbGFnIGlzIGFzc29jaWF0ZWQgd2l0aC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRpbWUgcGVyaW9kIHdoZW4gZmxhZyBpcyBhY3RpdmUiIGRlZmluaXRpb249IlRoZSBwZXJpb2Qgb2YgdGltZSBmcm9tIHRoZSBhY3RpdmF0aW9uIG9mIHRoZSBmbGFnIHRvIGluYWN0aXZhdGlvbiBvZiB0aGUgZmxhZy4gSWYgdGhlIGZsYWcgaXMgYWN0aXZlLCB0aGUgZW5kIG9mIHRoZSBwZXJpb2Qgc2hvdWxkIGJlIHVuc3BlY2lmaWVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBbGVydCByZWxldmFudCBkdXJpbmcgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJUaGlzIGFsZXJ0IGlzIG9ubHkgcmVsZXZhbnQgZHVyaW5nIHRoZSBlbmNvdW50ZXIuIiBjb21tZW50PSJJZiBib3RoIEZsYWcuZW5jb3VudGVyIGFuZCBGbGFnLnBlcmlvZCBhcmUgdmFsdWVkLCB0aGVuIEZsYWcucGVyaW9kLnN0YXJ0IHNoYWxsIG5vdCBiZSBiZWZvcmUgRW5jb3VudGVyLnBlcmlvZC5zdGFydCBhbmQgRmxhZy5wZXJpb2QuZW5kIHNoYWxsIG5vdCBiZSBhZnRlciBFbmNvdW50ZXIucGVyaW9kLmVuZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRmxhZyBjcmVhdG9yIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uLCBvcmdhbml6YXRpb24gb3IgZGV2aWNlIHRoYXQgY3JlYXRlZCB0aGUgZmxhZy4iLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhdXRob3IiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmxhZ1N0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJHb2FsIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1nb2FsIiBsYWJlbD0iUUlDb3JlIEdvYWwiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNhdGVnb3J5IiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWRzIGZvciB0aGlzIGdvYWwiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgZ29hbCBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibGlmZWN5Y2xlU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHByb3Bvc2VkIHwgcGxhbm5lZCB8IGFjY2VwdGVkIHwgYWN0aXZlIHwgb24taG9sZCB8IGNvbXBsZXRlZCB8IGNhbmNlbGxlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCByZWplY3RlZCIgZGVmaW5pdGlvbj0iVGhlIHN0YXRlIG9mIHRoZSBnb2FsIHRocm91Z2hvdXQgaXRzIGxpZmVjeWNsZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgbGlmZWN5Y2xlU3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFjaGlldmVtZW50U3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJpbi1wcm9ncmVzcyB8IGltcHJvdmluZyB8IHdvcnNlbmluZyB8IG5vLWNoYW5nZSB8IGFjaGlldmVkIHwgc3VzdGFpbmluZyB8IG5vdC1hY2hpZXZlZCB8IG5vLXByb2dyZXNzIHwgbm90LWF0dGFpbmFibGUiIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgcHJvZ3Jlc3Npb24sIG9yIGxhY2sgdGhlcmVvZiwgdG93YXJkcyB0aGUgZ29hbCBhZ2FpbnN0IHRoZSB0YXJnZXQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iR29hbEFjaGlldmVtZW50U3RhdHVzIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSBwcm9ncmVzc2lvbiwgb3IgbGFjayB0aGVyZW9mLCB0b3dhcmRzIHRoZSBnb2FsIGFnYWluc3QgdGhlIHRhcmdldC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuIFRyZWF0bWVudCwgZGlldGFyeSwgYmVoYXZpb3JhbCwgZXRjLiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGEgY2F0ZWdvcnkgdGhlIGdvYWwgZmFsbHMgd2l0aGluLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZ3JvdXBpbmcgYW5kIHNvcnRpbmcgZ29hbHMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iaGlnaC1wcmlvcml0eSB8IG1lZGl1bS1wcmlvcml0eSB8IGxvdy1wcmlvcml0eSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbXV0dWFsbHkgYWdyZWVkIGxldmVsIG9mIGltcG9ydGFuY2UgYXNzb2NpYXRlZCB3aXRoIHJlYWNoaW5nL3N1c3RhaW5pbmcgdGhlIGdvYWwuIiBjb21tZW50PSJFeHRlbnNpb25zIGFyZSBhdmFpbGFibGUgdG8gdHJhY2sgcHJpb3JpdGllcyBhcyBlc3RhYmxpc2hlZCBieSBlYWNoIHBhcnRpY2lwYW50IChpLmUuIFByaW9yaXR5IGZyb20gdGhlIHBhdGllbnQncyBwZXJzcGVjdGl2ZSwgZGlmZmVyZW50IHByYWN0aXRpb25lcnMnIHBlcnNwZWN0aXZlcywgZmFtaWx5IG1lbWJlcidzIHBlcnNwZWN0aXZlcykmIzEzOyYjMTM7VGhlIG9yZGluYWwgZXh0ZW5zaW9uIG9uIENvZGluZyBjYW4gYmUgdXNlZCB0byBjb252ZXkgYSBudW1lcmljYWxseSBjb21wYXJhYmxlIHJhbmtpbmcgdG8gcHJpb3JpdHkuICAoS2VlcCBpbiBtaW5kIHRoYXQgZGlmZmVyZW50IGNvZGluZyBzeXN0ZW1zIG1heSB1c2UgYSAmcXVvdDtsb3cgdmFsdWU9aW1wb3J0YW50JnF1b3Q7LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkdvYWxQcmlvcml0eSIgZGVzY3JpcHRpb249IlRoZSBsZXZlbCBvZiBpbXBvcnRhbmNlIGFzc29jaWF0ZWQgd2l0aCBhIGdvYWwuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvZGUgb3IgdGV4dCBkZXNjcmliaW5nIGdvYWwiIGRlZmluaXRpb249Ikh1bWFuLXJlYWRhYmxlIGFuZC9vciBjb2RlZCBkZXNjcmlwdGlvbiBvZiBhIHNwZWNpZmljIGRlc2lyZWQgb2JqZWN0aXZlIG9mIGNhcmUsIHN1Y2ggYXMgJnF1b3Q7Y29udHJvbCBibG9vZCBwcmVzc3VyZSZxdW90OyBvciAmcXVvdDtuZWdvdGlhdGUgYW4gb2JzdGFjbGUgY291cnNlJnF1b3Q7IG9yICZxdW90O2RhbmNlIHdpdGggY2hpbGQgYXQgd2VkZGluZyZxdW90Oy4iIGNvbW1lbnQ9IklmIG5vIGNvZGUgaXMgYXZhaWxhYmxlLCB1c2UgQ29kZWFibGVDb25jZXB0LnRleHQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJWYWx1ZSBzZXQgdG8gZGVzY3JpYmUgdGhlIEdvYWwiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gdGhpcyBnb2FsIGlzIGludGVuZGVkIGZvciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcGF0aWVudCwgZ3JvdXAgb3Igb3JnYW5pemF0aW9uIGZvciB3aG9tIHRoZSBnb2FsIGlzIGJlaW5nIGVzdGFibGlzaGVkLiIgY29tbWVudD0iU2hvdWxkIGluY2x1ZGUgUUlDb3JlLU9yZ2FuaXphdGlvbiwgYnV0IHRoZSBiYXNlIHByb2ZpbGUgb25seSBhbGxvd3MgVVNDb3JlLVBhdGllbnQgZGVyaXZhdGl2ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXJ0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hlbiBnb2FsIHB1cnN1aXQgYmVnaW5zIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvciBldmVudCBhZnRlciB3aGljaCB0aGUgZ29hbCBzaG91bGQgYmVnaW4gYmVpbmcgcHVyc3VlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iR29hbFN0YXJ0RXZlbnQiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGV2ZW50cyB0aGF0IGNhbiB0cmlnZ2VyIHRoZSBpbml0aWF0aW9uIG9mIGEgZ29hbC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGFyZ2V0IiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUYXJnZXQgb3V0Y29tZSBmb3IgdGhlIGdvYWwiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGF0IHNob3VsZCBiZSBkb25lIGJ5IHdoZW4uIiBjb21tZW50PSJXaGVuIG11bHRpcGxlIHRhcmdldHMgYXJlIHByZXNlbnQgZm9yIGEgc2luZ2xlIGdvYWwgaW5zdGFuY2UsIGFsbCB0YXJnZXRzIG11c3QgYmUgbWV0IGZvciB0aGUgb3ZlcmFsbCBnb2FsIHRvIGJlIG1ldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Hb2FsLlRhcmdldCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJnb2wtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJHb2FsLnRhcmdldC5tZWFzdXJlIGlzIHJlcXVpcmVkIGlmIEdvYWwudGFyZ2V0LmRldGFpbCBpcyBwb3B1bGF0ZWQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IihkZXRhaWwuZXhpc3RzKCkgYW5kIG1lYXN1cmUuZXhpc3RzKCkpIG9yIGRldGFpbC5leGlzdHMoKS5ub3QoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c0RhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIGdvYWwgc3RhdHVzIHRvb2sgZWZmZWN0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoZW4gdGhlIGN1cnJlbnQgc3RhdHVzLiAgSS5lLiBXaGVuIGluaXRpYWxseSBjcmVhdGVkLCB3aGVuIGFjaGlldmVkLCB3aGVuIGNhbmNlbGxlZCwgZXRjLiIgY29tbWVudD0iVG8gc2VlIHRoZSBkYXRlIGZvciBwYXN0IHN0YXR1c2VzLCBxdWVyeSBoaXN0b3J5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdHVzLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSBjYXB0dXJlZCBmb3Igc3RhdHVzZXMgc3VjaCBhcyByZWplY3RlZCwgb24taG9sZCBvciBjYW5jZWxsZWQsIGJ1dCBjb3VsZCBiZSBwcmVzZW50IGZvciBvdGhlcnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwcmVzc2VkQnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvJ3MgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIEdvYWw/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hvc2UgZ29hbCB0aGlzIGlzIC0gcGF0aWVudCBnb2FsLCBwcmFjdGl0aW9uZXIgZ29hbCwgZXRjLiIgY29tbWVudD0iVGhpcyBpcyB0aGUgaW5kaXZpZHVhbCByZXNwb25zaWJsZSBmb3IgZXN0YWJsaXNoaW5nIHRoZSBnb2FsLCBub3QgbmVjZXNzYXJpbHkgd2hvIHJlY29yZGVkIGl0LiAgKEZvciB0aGF0LCB1c2UgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2UuKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzZXMiIGRlc2NyaXB0aW9uPSJJc3N1ZXMgYWRkcmVzc2VkIGJ5IHRoaXMgZ29hbCIgZGVmaW5pdGlvbj0iVGhlIGlkZW50aWZpZWQgY29uZGl0aW9ucyBhbmQgb3RoZXIgaGVhbHRoIHJlY29yZCBlbGVtZW50cyB0aGF0IGFyZSBpbnRlbmRlZCB0byBiZSBhZGRyZXNzZWQgYnkgdGhlIGdvYWwuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBnb2FsIiBkZWZpbml0aW9uPSJBbnkgY29tbWVudHMgcmVsYXRlZCB0byB0aGUgZ29hbC4iIGNvbW1lbnQ9Ik1heSBiZSB1c2VkIGZvciBwcm9ncmVzcyBub3RlcywgY29uY2VybnMgb3Igb3RoZXIgcmVsYXRlZCBpbmZvcm1hdGlvbiB0aGF0IGRvZXNuJ3QgYWN0dWFsbHkgZGVzY3JpYmUgdGhlIGdvYWwgaXRzZWxmLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgcmVzdWx0IHdhcyBhY2hpZXZlZCByZWdhcmRpbmcgdGhlIGdvYWw/IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBjaGFuZ2UgKG9yIGxhY2sgb2YgY2hhbmdlKSBhdCB0aGUgcG9pbnQgd2hlbiB0aGUgc3RhdHVzIG9mIHRoZSBnb2FsIGlzIGFzc2Vzc2VkLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgc2hvdWxkIG5vdCBkdXBsaWNhdGUgdGhlIGdvYWwgc3RhdHVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsT3V0Y29tZSIgZGVzY3JpcHRpb249IlRoZSByZXN1bHQgb2YgdGhlIGdvYWw7IGUuZy4gJnF1b3Q7MjUlIGluY3JlYXNlIGluIHNob3VsZGVyIG1vYmlsaXR5JnF1b3Q7LCAmcXVvdDtBbnhpZXR5IHJlZHVjZWQgdG8gbW9kZXJhdGUgbGV2ZWxzJnF1b3Q7LiAgJnF1b3Q7MTUga2cgd2VpZ2h0IGxvc3Mgc3VzdGFpbmVkIG92ZXIgNiBtb250aHMmcXVvdDsuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT2JzZXJ2YXRpb24gdGhhdCByZXN1bHRlZCBmcm9tIGdvYWwiIGRlZmluaXRpb249IkRldGFpbHMgb2Ygd2hhdCdzIGNoYW5nZWQgKG9yIG5vdCBjaGFuZ2VkKS4iIGNvbW1lbnQ9IlRoZSBnb2FsIG91dGNvbWUgaXMgaW5kZXBlbmRlbnQgb2YgdGhlIG91dGNvbWUgb2YgdGhlIHJlbGF0ZWQgYWN0aXZpdGllcy4gIEZvciBleGFtcGxlLCBpZiB0aGUgR29hbCBpcyB0byBhY2hpZXZlIGEgdGFyZ2V0IGJvZHkgd2VpZ2h0IG9mIDE1MCBsYiBhbmQgYSBjYXJlIHBsYW4gYWN0aXZpdHkgaXMgZGVmaW5lZCB0byBkaWV0LCB0aGVuIHRoZSBjYXJlIHBsYW7igJlzIGFjdGl2aXR5IG91dGNvbWUgY291bGQgYmUgY2Fsb3JpZXMgY29uc3VtZWQgd2hlcmVhcyBnb2FsIG91dGNvbWUgaXMgYW4gb2JzZXJ2YXRpb24gZm9yIHRoZSBhY3R1YWwgYm9keSB3ZWlnaHQgbWVhc3VyZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkdvYWwuVGFyZ2V0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWFzdXJlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGFyYW1ldGVyIHdob3NlIHZhbHVlIGlzIGJlaW5nIHRyYWNrZWQiIGRlZmluaXRpb249IlRoZSBwYXJhbWV0ZXIgd2hvc2UgdmFsdWUgaXMgYmVpbmcgdHJhY2tlZCwgZS5nLiBib2R5IHdlaWdodCwgYmxvb2QgcHJlc3N1cmUsIG9yIGhlbW9nbG9iaW4gQTFjIGxldmVsLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkdvYWxUYXJnZXRNZWFzdXJlIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdGhlIHZhbHVlIGJlaW5nIHRyYWNrZWQsIGUuZy4gYm9keSB3ZWlnaHQsIGJsb29kIHByZXNzdXJlLCBvciBoZW1vZ2xvYmluIEExYyBsZXZlbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldGFpbCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGFyZ2V0IHZhbHVlIHRvIGJlIGFjaGlldmVkIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHZhbHVlIG9mIHRoZSBmb2N1cyB0byBiZSBhY2hpZXZlZCB0byBzaWduaWZ5IHRoZSBmdWxmaWxsbWVudCBvZiB0aGUgZ29hbCwgZS5nLiAxNTAgcG91bmRzLCA3LjAlLiBFaXRoZXIgdGhlIGhpZ2ggb3IgbG93IG9yIGJvdGggdmFsdWVzIG9mIHRoZSByYW5nZSBjYW4gYmUgc3BlY2lmaWVkLiBXaGVuIGEgbG93IHZhbHVlIGlzIG1pc3NpbmcsIGl0IGluZGljYXRlcyB0aGF0IHRoZSBnb2FsIGlzIGFjaGlldmVkIGF0IGFueSBmb2N1cyB2YWx1ZSBhdCBvciBiZWxvdyB0aGUgaGlnaCB2YWx1ZS4gU2ltaWxhcmx5LCBpZiB0aGUgaGlnaCB2YWx1ZSBpcyBtaXNzaW5nLCBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgZ29hbCBpcyBhY2hpZXZlZCBhdCBhbnkgZm9jdXMgdmFsdWUgYXQgb3IgYWJvdmUgdGhlIGxvdyB2YWx1ZS4iIGNvbW1lbnQ9IkEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBHb2FsLnRhcmdldC5tZWFzdXJlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsVGFyZ2V0RGV0YWlsIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdGhlIHRhcmdldCB2YWx1ZSBvZiB0aGUgZm9jdXMgdG8gYmUgYWNoaWV2ZWQgdG8gc2lnbmlmeSB0aGUgZnVsZmlsbG1lbnQgb2YgdGhlIGdvYWwuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBSZWFjaCBnb2FsIG9uIG9yIGJlZm9yZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGVpdGhlciB0aGUgZGF0ZSBvciB0aGUgZHVyYXRpb24gYWZ0ZXIgc3RhcnQgYnkgd2hpY2ggdGhlIGdvYWwgc2hvdWxkIGJlIG1ldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSHVtYW5OYW1lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vSHVtYW5OYW1lIiBsYWJlbD0iSHVtYW5OYW1lIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk5hbWVVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0idXN1YWwgfCBvZmZpY2lhbCB8IHRlbXAgfCBuaWNrbmFtZSB8IGFub255bW91cyB8IG9sZCB8IG1haWRlbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcHVycG9zZSBmb3IgdGhpcyBuYW1lLiIgY29tbWVudD0iQXBwbGljYXRpb25zIGNhbiBhc3N1bWUgdGhhdCBhIG5hbWUgaXMgY3VycmVudCB1bmxlc3MgaXQgZXhwbGljaXRseSBzYXlzIHRoYXQgaXQgaXMgdGVtcG9yYXJ5IG9yIG9sZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJOYW1lVXNlIiBkZXNjcmlwdGlvbj0iVGhlIHVzZSBvZiBhIGh1bWFuIG5hbWUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZnVsbCBuYW1lIiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGVudGlyZSBuYW1lIGFzIGl0IHNob3VsZCBiZSBkaXNwbGF5ZWQgZS5nLiBvbiBhbiBhcHBsaWNhdGlvbiBVSS4gVGhpcyBtYXkgYmUgcHJvdmlkZWQgaW5zdGVhZCBvZiBvciBhcyB3ZWxsIGFzIHRoZSBzcGVjaWZpYyBwYXJ0cy4iIGNvbW1lbnQ9IkNhbiBwcm92aWRlIGJvdGggYSB0ZXh0IHJlcHJlc2VudGF0aW9uIGFuZCBwYXJ0cy4gQXBwbGljYXRpb25zIHVwZGF0aW5nIGEgbmFtZSBTSEFMTCBlbnN1cmUgdGhhdCB3aGVuIGJvdGggdGV4dCBhbmQgcGFydHMgYXJlIHByZXNlbnQsICBubyBjb250ZW50IGlzIGluY2x1ZGVkIGluIHRoZSB0ZXh0IHRoYXQgaXNuJ3QgZm91bmQgaW4gYSBwYXJ0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZhbWlseSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRmFtaWx5IG5hbWUgKG9mdGVuIGNhbGxlZCAnU3VybmFtZScpIiBkZWZpbml0aW9uPSJUaGUgcGFydCBvZiBhIG5hbWUgdGhhdCBsaW5rcyB0byB0aGUgZ2VuZWFsb2d5LiBJbiBzb21lIGN1bHR1cmVzIChlLmcuIEVyaXRyZWEpIHRoZSBmYW1pbHkgbmFtZSBvZiBhIHNvbiBpcyB0aGUgZmlyc3QgbmFtZSBvZiBoaXMgZmF0aGVyLiIgY29tbWVudD0iRmFtaWx5IE5hbWUgbWF5IGJlIGRlY29tcG9zZWQgaW50byBzcGVjaWZpYyBwYXJ0cyB1c2luZyBleHRlbnNpb25zIChkZSwgbmwsIGVzIHJlbGF0ZWQgY3VsdHVyZXMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImdpdmVuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkdpdmVuIG5hbWVzIChub3QgYWx3YXlzICdmaXJzdCcpLiBJbmNsdWRlcyBtaWRkbGUgbmFtZXMiIGRlZmluaXRpb249IkdpdmVuIG5hbWUuIiBjb21tZW50PSJJZiBvbmx5IGluaXRpYWxzIGFyZSByZWNvcmRlZCwgdGhleSBtYXkgYmUgdXNlZCBpbiBwbGFjZSBvZiB0aGUgZnVsbCBuYW1lIHBhcnRzLiBJbml0aWFscyBtYXkgYmUgc2VwYXJhdGVkIGludG8gbXVsdGlwbGUgZ2l2ZW4gbmFtZXMgYnV0IG9mdGVuIGFyZW4ndCBkdWUgdG8gcGFyYWN0aWNhbCBsaW1pdGF0aW9ucy4gIFRoaXMgZWxlbWVudCBpcyBub3QgY2FsbGVkICZxdW90O2ZpcnN0IG5hbWUmcXVvdDsgc2luY2UgZ2l2ZW4gbmFtZXMgZG8gbm90IGFsd2F5cyBjb21lIGZpcnN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByZWZpeCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXJ0cyB0aGF0IGNvbWUgYmVmb3JlIHRoZSBuYW1lIiBkZWZpbml0aW9uPSJQYXJ0IG9mIHRoZSBuYW1lIHRoYXQgaXMgYWNxdWlyZWQgYXMgYSB0aXRsZSBkdWUgdG8gYWNhZGVtaWMsIGxlZ2FsLCBlbXBsb3ltZW50IG9yIG5vYmlsaXR5IHN0YXR1cywgZXRjLiBhbmQgdGhhdCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgbmFtZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWZmaXgiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGFydHMgdGhhdCBjb21lIGFmdGVyIHRoZSBuYW1lIiBkZWZpbml0aW9uPSJQYXJ0IG9mIHRoZSBuYW1lIHRoYXQgaXMgYWNxdWlyZWQgYXMgYSB0aXRsZSBkdWUgdG8gYWNhZGVtaWMsIGxlZ2FsLCBlbXBsb3ltZW50IG9yIG5vYmlsaXR5IHN0YXR1cywgZXRjLiBhbmQgdGhhdCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIG5hbWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHdoZW4gbmFtZSB3YXMvaXMgaW4gdXNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHBlcmlvZCBvZiB0aW1lIHdoZW4gdGhpcyBuYW1lIHdhcyB2YWxpZCBmb3IgdGhlIG5hbWVkIHBlcnNvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IklkZW50aWZpZXIiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9JZGVudGlmaWVyIiBsYWJlbD0iSWRlbnRpZmllciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyVXNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InVzdWFsIHwgb2ZmaWNpYWwgfCB0ZW1wIHwgc2Vjb25kYXJ5IHwgb2xkIChJZiBrbm93bikiIGRlZmluaXRpb249IlRoZSBwdXJwb3NlIG9mIHRoaXMgaWRlbnRpZmllci4iIGNvbW1lbnQ9IkFwcGxpY2F0aW9ucyBjYW4gYXNzdW1lIHRoYXQgYW4gaWRlbnRpZmllciBpcyBwZXJtYW5lbnQgdW5sZXNzIGl0IGV4cGxpY2l0bHkgc2F5cyB0aGF0IGl0IGlzIHRlbXBvcmFyeS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJZGVudGlmaWVyVXNlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcHVycG9zZSBmb3IgdGhpcyBpZGVudGlmaWVyLCBpZiBrbm93biAuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBjb2RlZCB0eXBlIGZvciB0aGUgaWRlbnRpZmllciB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBpZGVudGlmaWVyIHRvIHVzZSBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRlYWxzIG9ubHkgd2l0aCBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgaWRlbnRpZmllcnMuICBJdCBTSE9VTEQgbm90IGJlIHVzZWQgZm9yIGNvZGVzIHRoYXQgY29ycmVzcG9uZCAxLi4xIHdpdGggdGhlIElkZW50aWZpZXIuc3lzdGVtLiBTb21lIGlkZW50aWZpZXJzIG1heSBmYWxsIGludG8gbXVsdGlwbGUgY2F0ZWdvcmllcyBkdWUgdG8gY29tbW9uIHVzYWdlLiAgIFdoZXJlIHRoZSBzeXN0ZW0gaXMga25vd24sIGEgdHlwZSBpcyB1bm5lY2Vzc2FyeSBiZWNhdXNlIHRoZSB0eXBlIGlzIGFsd2F5cyBwYXJ0IG9mIHRoZSBzeXN0ZW0gZGVmaW5pdGlvbi4gSG93ZXZlciBzeXN0ZW1zIG9mdGVuIG5lZWQgdG8gaGFuZGxlIGlkZW50aWZpZXJzIHdoZXJlIHRoZSBzeXN0ZW0gaXMgbm90IGtub3duLiBUaGVyZSBpcyBub3QgYSAxOjEgcmVsYXRpb25zaGlwIGJldHdlZW4gdHlwZSBhbmQgc3lzdGVtLCBzaW5jZSBtYW55IGRpZmZlcmVudCBzeXN0ZW1zIGhhdmUgdGhlIHNhbWUgdHlwZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJZGVudGlmaWVyVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZWQgdHlwZSBmb3IgYW4gaWRlbnRpZmllciB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBpZGVudGlmaWVyIHRvIHVzZSBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgbmFtZXNwYWNlIGZvciB0aGUgaWRlbnRpZmllciB2YWx1ZSIgZGVmaW5pdGlvbj0iRXN0YWJsaXNoZXMgdGhlIG5hbWVzcGFjZSBmb3IgdGhlIHZhbHVlIC0gdGhhdCBpcywgYSBVUkwgdGhhdCBkZXNjcmliZXMgYSBzZXQgdmFsdWVzIHRoYXQgYXJlIHVuaXF1ZS4iIGNvbW1lbnQ9IklkZW50aWZpZXIuc3lzdGVtIGlzIGFsd2F5cyBjYXNlIHNlbnNpdGl2ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHZhbHVlIHRoYXQgaXMgdW5pcXVlIiBkZWZpbml0aW9uPSJUaGUgcG9ydGlvbiBvZiB0aGUgaWRlbnRpZmllciB0eXBpY2FsbHkgcmVsZXZhbnQgdG8gdGhlIHVzZXIgYW5kIHdoaWNoIGlzIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIHN5c3RlbS4iIGNvbW1lbnQ9IklmIHRoZSB2YWx1ZSBpcyBhIGZ1bGwgVVJJLCB0aGVuIHRoZSBzeXN0ZW0gU0hBTEwgYmUgdXJuOmlldGY6cmZjOjM5ODYuICBUaGUgdmFsdWUncyBwcmltYXJ5IHB1cnBvc2UgaXMgY29tcHV0YXRpb25hbCBtYXBwaW5nLiAgQXMgYSByZXN1bHQsIGl0IG1heSBiZSBub3JtYWxpemVkIGZvciBjb21wYXJpc29uIHB1cnBvc2VzIChlLmcuIHJlbW92aW5nIG5vbi1zaWduaWZpY2FudCB3aGl0ZXNwYWNlLCBkYXNoZXMsIGV0Yy4pICBBIHZhbHVlIGZvcm1hdHRlZCBmb3IgaHVtYW4gZGlzcGxheSBjYW4gYmUgY29udmV5ZWQgdXNpbmcgdGhlIFtSZW5kZXJlZCBWYWx1ZSBleHRlbnNpb25dKGV4dGVuc2lvbi1yZW5kZXJlZC12YWx1ZS5odG1sKS4gSWRlbnRpZmllci52YWx1ZSBpcyB0byBiZSB0cmVhdGVkIGFzIGNhc2Ugc2Vuc2l0aXZlIHVubGVzcyBrbm93bGVkZ2Ugb2YgdGhlIElkZW50aWZpZXIuc3lzdGVtIGFsbG93cyB0aGUgcHJvY2Vzc2VyIHRvIGJlIGNvbmZpZGVudCB0aGF0IG5vbi1jYXNlLXNlbnNpdGl2ZSBwcm9jZXNzaW5nIGlzIHNhZmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHdoZW4gaWQgaXMvd2FzIHZhbGlkIGZvciB1c2UiIGRlZmluaXRpb249IlRpbWUgcGVyaW9kIGR1cmluZyB3aGljaCBpZGVudGlmaWVyIGlzL3dhcyB2YWxpZCBmb3IgdXNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2lnbmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzc3VlZCBpZCAobWF5IGJlIGp1c3QgdGV4dCkiIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzc3VlZC9tYW5hZ2VzIHRoZSBpZGVudGlmaWVyLiIgY29tbWVudD0iVGhlIElkZW50aWZpZXIuYXNzaWduZXIgbWF5IG9taXQgdGhlIC5yZWZlcmVuY2UgZWxlbWVudCBhbmQgb25seSBjb250YWluIGEgLmRpc3BsYXkgZWxlbWVudCByZWZsZWN0aW5nIHRoZSBuYW1lIG9yIG90aGVyIHRleHR1YWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGFzc2lnbmluZyBvcmdhbml6YXRpb24uIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyVXNlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltYWdpbmdTdHVkeSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtaW1hZ2luZ3N0dWR5IiBsYWJlbD0iUUlDb3JlIEltYWdpbmdTdHVkeSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0icHJvY2VkdXJlQ29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXJzIGZvciB0aGUgd2hvbGUgc3R1ZHkiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGZvciB0aGUgSW1hZ2luZ1N0dWR5IHN1Y2ggYXMgRElDT00gU3R1ZHkgSW5zdGFuY2UgVUlELCBhbmQgQWNjZXNzaW9uIE51bWJlci4iIGNvbW1lbnQ9IlNlZSBkaXNjdXNzaW9uIHVuZGVyIFtJbWFnaW5nIFN0dWR5IEltcGxlbWVudGF0aW9uIE5vdGVzXShpbWFnaW5nc3R1ZHkuaHRtbCNub3RlcykgZm9yIGVuY29kaW5nIG9mIERJQ09NIFN0dWR5IEluc3RhbmNlIFVJRC4gQWNjZXNzaW9uIE51bWJlciBzaG91bGQgdXNlIEFDU04gSWRlbnRpZmllciB0eXBlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1hZ2luZ1N0dWR5U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBhdmFpbGFibGUgfCBjYW5jZWxsZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIEltYWdpbmdTdHVkeS4iIGNvbW1lbnQ9IlVua25vd24gZG9lcyBub3QgcmVwcmVzZW50ICZxdW90O290aGVyJnF1b3Q7IC0gb25lIG9mIHRoZSBkZWZpbmVkIHN0YXR1c2VzIG11c3QgYXBwbHkuICBVbmtub3duIGlzIHVzZWQgd2hlbiB0aGUgYXV0aG9yaW5nIHN5c3RlbSBpcyBub3Qgc3VyZSB3aGF0IHRoZSBjdXJyZW50IHN0YXR1cyBpcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbWFnaW5nU3R1ZHlTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBJbWFnaW5nU3R1ZHkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kYWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbGwgc2VyaWVzIG1vZGFsaXR5IGlmIGFjdHVhbCBhY3F1aXNpdGlvbiBtb2RhbGl0aWVzIiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgYWxsIHRoZSBzZXJpZXMubW9kYWxpdHkgdmFsdWVzIHRoYXQgYXJlIGFjdHVhbCBhY3F1aXNpdGlvbiBtb2RhbGl0aWVzLCBpLmUuIHRob3NlIGluIHRoZSBESUNPTSBDb250ZXh0IEdyb3VwIDI5ICh2YWx1ZSBzZXQgT0lEIDEuMi44NDAuMTAwMDguNi4xLjE5KS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1hZ2luZ01vZGFsaXR5IiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBhY3F1aXJlZCBkYXRhIGluIHRoZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdobyBvciB3aGF0IGlzIHRoZSBzdWJqZWN0IG9mIHRoZSBzdHVkeSIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3QsIHR5cGljYWxseSBhIHBhdGllbnQsIG9mIHRoZSBpbWFnaW5nIHN0dWR5LiIgY29tbWVudD0iUUEgcGhhbnRvbXMgY2FuIGJlIHJlY29yZGVkIHdpdGggYSBEZXZpY2U7IG11bHRpcGxlIHN1YmplY3RzIChzdWNoIGFzIG1pY2UpIGNhbiBiZSByZWNvcmRlZCB3aXRoIGEgR3JvdXAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciB3aXRoIHdoaWNoIHRoaXMgaW1hZ2luZyBzdHVkeSBpcyBhc3NvY2lhdGVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIEltYWdpbmdTdHVkeSBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gdGVzdCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhcnRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hlbiB0aGUgc3R1ZHkgd2FzIHN0YXJ0ZWQiIGRlZmluaXRpb249IkRhdGUgYW5kIHRpbWUgdGhlIHN0dWR5IHN0YXJ0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZXF1ZXN0IGZ1bGZpbGxlZCIgZGVmaW5pdGlvbj0iQSBsaXN0IG9mIHRoZSBkaWFnbm9zdGljIHJlcXVlc3RzIHRoYXQgcmVzdWx0ZWQgaW4gdGhpcyBpbWFnaW5nIHN0dWR5IGJlaW5nIHBlcmZvcm1lZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcnJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZWZlcnJpbmcgcGh5c2ljaWFuIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdGluZy9yZWZlcnJpbmcgcGh5c2ljaWFuLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0ZXIiIGRlc2NyaXB0aW9uPSJXaG8gaW50ZXJwcmV0ZWQgaW1hZ2VzIiBkZWZpbml0aW9uPSJXaG8gcmVhZCB0aGUgc3R1ZHkgYW5kIGludGVycHJldGVkIHRoZSBpbWFnZXMgb3Igb3RoZXIgY29udGVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iU3R1ZHkgYWNjZXNzIGVuZHBvaW50IiBkZWZpbml0aW9uPSJUaGUgbmV0d29yayBzZXJ2aWNlIHByb3ZpZGluZyBhY2Nlc3MgKGUuZy4sIHF1ZXJ5LCB2aWV3LCBvciByZXRyaWV2YWwpIGZvciB0aGUgc3R1ZHkuIFNlZSBpbXBsZW1lbnRhdGlvbiBub3RlcyBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdXNpbmcgRElDT00gZW5kcG9pbnRzLiBBIHN0dWR5LWxldmVsIGVuZHBvaW50IGFwcGxpZXMgdG8gZWFjaCBzZXJpZXMgaW4gdGhlIHN0dWR5LCB1bmxlc3Mgb3ZlcnJpZGRlbiBieSBhIHNlcmllcy1sZXZlbCBlbmRwb2ludCB3aXRoIHRoZSBzYW1lIEVuZHBvaW50LmNvbm5lY3Rpb25UeXBlLiIgY29tbWVudD0iVHlwaWNhbCBlbmRwb2ludCB0eXBlcyBpbmNsdWRlIERJQ09NIFdBRE8tUlMsIHdoaWNoIGlzIHVzZWQgdG8gcmV0cmlldmUgRElDT00gaW5zdGFuY2VzIGluIG5hdGl2ZSBvciByZW5kZXJlZCAoZS5nLiwgSlBHLCBQTkcpLCBmb3JtYXRzIHVzaW5nIGEgUkVTVGZ1bCBBUEk7IERJQ09NIFdBRE8tVVJJLCB3aGljaCBjYW4gc2ltaWxhcmx5IHJldHJpZXZlIG5hdGl2ZSBvciByZW5kZXJlZCBpbnN0YW5jZXMsIGV4Y2VwdCB1c2luZyBhbiBIVFRQIHF1ZXJ5LWJhc2VkIGFwcHJvYWNoOyBESUNPTSBRSURPLVJTLCB3aGljaCBhbGxvd3MgUkVTVGZ1bCBxdWVyeSBmb3IgRElDT00gaW5mb3JtYXRpb24gd2l0aG91dCByZXRyaWV2aW5nIHRoZSBhY3R1YWwgaW5zdGFuY2VzOyBvciBJSEUgSW52b2tlIEltYWdlIERpc3BsYXkgKElJRCksIHdoaWNoIHByb3ZpZGVzIHN0YW5kYXJkIGludm9jYXRpb24gb2YgYW4gaW1hZ2luZyB3ZWIgdmlld2VyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mU2VyaWVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIFN0dWR5IFJlbGF0ZWQgU2VyaWVzIiBkZWZpbml0aW9uPSJOdW1iZXIgb2YgU2VyaWVzIGluIHRoZSBTdHVkeS4gVGhpcyB2YWx1ZSBnaXZlbiBtYXkgYmUgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBzZXJpZXMgZWxlbWVudHMgdGhpcyBSZXNvdXJjZSBjb250YWlucyBkdWUgdG8gcmVzb3VyY2UgYXZhaWxhYmlsaXR5LCBzZWN1cml0eSwgb3Igb3RoZXIgZmFjdG9ycy4gVGhpcyBlbGVtZW50IHNob3VsZCBiZSBwcmVzZW50IGlmIGFueSBzZXJpZXMgZWxlbWVudHMgYXJlIHByZXNlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibnVtYmVyT2ZJbnN0YW5jZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgU3R1ZHkgUmVsYXRlZCBJbnN0YW5jZXMiIGRlZmluaXRpb249Ik51bWJlciBvZiBTT1AgSW5zdGFuY2VzIGluIFN0dWR5LiBUaGlzIHZhbHVlIGdpdmVuIG1heSBiZSBsYXJnZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGluc3RhbmNlIGVsZW1lbnRzIHRoaXMgcmVzb3VyY2UgY29udGFpbnMgZHVlIHRvIHJlc291cmNlIGF2YWlsYWJpbGl0eSwgc2VjdXJpdHksIG9yIG90aGVyIGZhY3RvcnMuIFRoaXMgZWxlbWVudCBzaG91bGQgYmUgcHJlc2VudCBpZiBhbnkgaW5zdGFuY2UgZWxlbWVudHMgYXJlIHByZXNlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2VkdXJlUmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUaGUgcGVyZm9ybWVkIFByb2NlZHVyZSByZWZlcmVuY2UiIGRlZmluaXRpb249IlRoZSBwcm9jZWR1cmUgd2hpY2ggdGhpcyBJbWFnaW5nU3R1ZHkgd2FzIHBhcnQgb2YuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2VkdXJlQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBwZXJmb3JtZWQgcHJvY2VkdXJlIGNvZGUiIGRlZmluaXRpb249IlRoZSBjb2RlIGZvciB0aGUgcGVyZm9ybWVkIHByb2NlZHVyZSB0eXBlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbWFnaW5nUHJvY2VkdXJlQ29kZSIgZGVzY3JpcHRpb249IlRoZSBwZXJmb3JtZWQgcHJvY2VkdXJlIHR5cGUuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBJbWFnaW5nU3R1ZHkgb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBwcmluY2lwYWwgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIEltYWdpbmdTdHVkeSB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHN0dWR5IHdhcyByZXF1ZXN0ZWQiIGRlZmluaXRpb249IkRlc2NyaXB0aW9uIG9mIGNsaW5pY2FsIGNvbmRpdGlvbiBpbmRpY2F0aW5nIHdoeSB0aGUgSW1hZ2luZ1N0dWR5IHdhcyByZXF1ZXN0ZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltYWdpbmdSZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIGZvciB0aGUgc3R1ZHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIHN0dWR5IHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIFN0dWR5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJVc2VyLWRlZmluZWQgY29tbWVudHMiIGRlZmluaXRpb249IlBlciB0aGUgcmVjb21tZW5kZWQgRElDT00gbWFwcGluZywgdGhpcyBlbGVtZW50IGlzIGRlcml2ZWQgZnJvbSB0aGUgU3R1ZHkgRGVzY3JpcHRpb24gYXR0cmlidXRlICgwMDA4LDEwMzApLiBPYnNlcnZhdGlvbnMgb3IgZmluZGluZ3MgYWJvdXQgdGhlIGltYWdpbmcgc3R1ZHkgc2hvdWxkIGJlIHJlY29yZGVkIGluIGFub3RoZXIgcmVzb3VyY2UsIGUuZy4gT2JzZXJ2YXRpb24sIGFuZCBub3QgaW4gdGhpcyBlbGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGl0dXRpb24tZ2VuZXJhdGVkIGRlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJUaGUgSW1hZ2luZyBNYW5hZ2VyIGRlc2NyaXB0aW9uIG9mIHRoZSBzdHVkeS4gSW5zdGl0dXRpb24tZ2VuZXJhdGVkIGRlc2NyaXB0aW9uIG9yIGNsYXNzaWZpY2F0aW9uIG9mIHRoZSBTdHVkeSAoY29tcG9uZW50KSBwZXJmb3JtZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWVzIiBkZXNjcmlwdGlvbj0iRWFjaCBzdHVkeSBoYXMgb25lIG9yIG1vcmUgc2VyaWVzIG9mIGluc3RhbmNlcyIgZGVmaW5pdGlvbj0iRWFjaCBzdHVkeSBoYXMgb25lIG9yIG1vcmUgc2VyaWVzIG9mIGltYWdlcyBvciBvdGhlciBjb250ZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1hZ2luZ1N0dWR5LlNlcmllcyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5LlNlcmllcyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idWlkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJESUNPTSBTZXJpZXMgSW5zdGFuY2UgVUlEIGZvciB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJUaGUgRElDT00gU2VyaWVzIEluc3RhbmNlIFVJRCBmb3IgdGhlIHNlcmllcy4iIGNvbW1lbnQ9IlNlZSBbRElDT00gUFMzLjMgQy43LjNdKGh0dHA6Ly9kaWNvbS5uZW1hLm9yZy9tZWRpY2FsL2RpY29tL2N1cnJlbnQvb3V0cHV0L2NodG1sL3BhcnQwMy9zZWN0X0MuNy4zLmh0bWwpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWVyaWMgaWRlbnRpZmllciBvZiB0aGlzIHNlcmllcyIgZGVmaW5pdGlvbj0iVGhlIG51bWVyaWMgaWRlbnRpZmllciBvZiB0aGlzIHNlcmllcyBpbiB0aGUgc3R1ZHkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kYWxpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBtb2RhbGl0eSBvZiB0aGUgaW5zdGFuY2VzIGluIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IlRoZSBtb2RhbGl0eSBvZiB0aGlzIHNlcmllcyBzZXF1ZW5jZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbWFnaW5nTW9kYWxpdHkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGFjcXVpcmVkIGRhdGEgaW4gdGhlIGluc3RhbmNlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgc2hvcnQgaHVtYW4gcmVhZGFibGUgc3VtbWFyeSBvZiB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHRoZSBzZXJpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibnVtYmVyT2ZJbnN0YW5jZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgU2VyaWVzIFJlbGF0ZWQgSW5zdGFuY2VzIiBkZWZpbml0aW9uPSJOdW1iZXIgb2YgU09QIEluc3RhbmNlcyBpbiB0aGUgU3R1ZHkuIFRoZSB2YWx1ZSBnaXZlbiBtYXkgYmUgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBpbnN0YW5jZSBlbGVtZW50cyB0aGlzIHJlc291cmNlIGNvbnRhaW5zIGR1ZSB0byByZXNvdXJjZSBhdmFpbGFiaWxpdHksIHNlY3VyaXR5LCBvciBvdGhlciBmYWN0b3JzLiBUaGlzIGVsZW1lbnQgc2hvdWxkIGJlIHByZXNlbnQgaWYgYW55IGluc3RhbmNlIGVsZW1lbnRzIGFyZSBwcmVzZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iU2VyaWVzIGFjY2VzcyBlbmRwb2ludCIgZGVmaW5pdGlvbj0iVGhlIG5ldHdvcmsgc2VydmljZSBwcm92aWRpbmcgYWNjZXNzIChlLmcuLCBxdWVyeSwgdmlldywgb3IgcmV0cmlldmFsKSBmb3IgdGhpcyBzZXJpZXMuIFNlZSBpbXBsZW1lbnRhdGlvbiBub3RlcyBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdXNpbmcgRElDT00gZW5kcG9pbnRzLiBBIHNlcmllcy1sZXZlbCBlbmRwb2ludCwgaWYgcHJlc2VudCwgaGFzIHByZWNlZGVuY2Ugb3ZlciBhIHN0dWR5LWxldmVsIGVuZHBvaW50IHdpdGggdGhlIHNhbWUgRW5kcG9pbnQuY29ubmVjdGlvblR5cGUuIiBjb21tZW50PSJUeXBpY2FsIGVuZHBvaW50IHR5cGVzIGluY2x1ZGUgRElDT00gV0FETy1SUywgd2hpY2ggaXMgdXNlZCB0byByZXRyaWV2ZSBESUNPTSBpbnN0YW5jZXMgaW4gbmF0aXZlIG9yIHJlbmRlcmVkIChlLmcuLCBKUEcsIFBORykgZm9ybWF0cyB1c2luZyBhIFJFU1RmdWwgQVBJOyBESUNPTSBXQURPLVVSSSwgd2hpY2ggY2FuIHNpbWlsYXJseSByZXRyaWV2ZSBuYXRpdmUgb3IgcmVuZGVyZWQgaW5zdGFuY2VzLCBleGNlcHQgdXNpbmcgYW4gSFRUUCBxdWVyeS1iYXNlZCBhcHByb2FjaDsgYW5kIERJQ09NIFFJRE8tUlMsIHdoaWNoIGFsbG93cyBSRVNUZnVsIHF1ZXJ5IGZvciBESUNPTSBpbmZvcm1hdGlvbiB3aXRob3V0IHJldHJpZXZpbmcgdGhlIGFjdHVhbCBpbnN0YW5jZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJvZHkgcGFydCBleGFtaW5lZCIgZGVmaW5pdGlvbj0iVGhlIGFuYXRvbWljIHN0cnVjdHVyZXMgZXhhbWluZWQuIFNlZSBESUNPTSBQYXJ0IDE2IEFubmV4IEwgKGh0dHA6Ly9kaWNvbS5uZW1hLm9yZy9tZWRpY2FsL2RpY29tL2N1cnJlbnQvb3V0cHV0L2NodG1sL3BhcnQxNi9jaGFwdGVyX0wuaHRtbCkgZm9yIERJQ09NIHRvIFNOT01FRC1DVCBtYXBwaW5ncy4gVGhlIGJvZHlTaXRlIG1heSBpbmRpY2F0ZSB0aGUgbGF0ZXJhbGl0eSBvZiBib2R5IHBhcnQgaW1hZ2VkOyBpZiBzbywgaXQgc2hhbGwgYmUgY29uc2lzdGVudCB3aXRoIGFueSBjb250ZW50IG9mIEltYWdpbmdTdHVkeS5zZXJpZXMubGF0ZXJhbGl0eS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYXRlcmFsaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHBhcnQgbGF0ZXJhbGl0eSIgZGVmaW5pdGlvbj0iVGhlIGxhdGVyYWxpdHkgb2YgdGhlIChwb3NzaWJseSBwYWlyZWQpIGFuYXRvbWljIHN0cnVjdHVyZXMgZXhhbWluZWQuIEUuZy4sIHRoZSBsZWZ0IGtuZWUsIGJvdGggbHVuZ3MsIG9yIHVucGFpcmVkIGFiZG9tZW4uIElmIHByZXNlbnQsIHNoYWxsIGJlIGNvbnNpc3RlbnQgd2l0aCBhbnkgbGF0ZXJhbGl0eSBpbmZvcm1hdGlvbiBpbmRpY2F0ZWQgaW4gSW1hZ2luZ1N0dWR5LnNlcmllcy5ib2R5U2l0ZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMYXRlcmFsaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBib2R5IHNpdGUgbGF0ZXJhbGl0eSAobGVmdCwgcmlnaHQsIGV0Yy4pLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiBpbWFnZWQiIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiBpbWFnZWQsIGUuZy4sIGZvciB3aG9sZSBzbGlkZSBpbWFnaW5nIG9mIGEgYmlvcHN5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXJ0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgc2VyaWVzIHN0YXJ0ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoZSBzZXJpZXMgd2FzIHN0YXJ0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hvIG9yIHdoYXQgcGVyZm9ybWVkIHRoZSBzZXJpZXMgYW5kIGhvdyB0aGV5IHdlcmUgaW52b2x2ZWQuIiBjb21tZW50PSJJZiB0aGUgcGVyc29uIHdobyBwZXJmb3JtZWQgdGhlIHNlcmllcyBpcyBub3Qga25vd24sIHRoZWlyIE9yZ2FuaXphdGlvbiBtYXkgYmUgcmVjb3JkZWQuIEEgcGF0aWVudCwgb3IgcmVsYXRlZCBwZXJzb24sIG1heSBiZSB0aGUgcGVyZm9ybWVyLCBlLmcuIGZvciBwYXRpZW50LWNhcHR1cmVkIGltYWdlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltYWdpbmdTdHVkeS5TZXJpZXMuUGVyZm9ybWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbmNlIiBkZXNjcmlwdGlvbj0iQSBzaW5nbGUgU09QIGluc3RhbmNlIGZyb20gdGhlIHNlcmllcyIgZGVmaW5pdGlvbj0iQSBzaW5nbGUgU09QIGluc3RhbmNlIHdpdGhpbiB0aGUgc2VyaWVzLCBlLmcuIGFuIGltYWdlLCBvciBwcmVzZW50YXRpb24gc3RhdGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbWFnaW5nU3R1ZHkuU2VyaWVzLkluc3RhbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5LlNlcmllcy5JbnN0YW5jZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idWlkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJESUNPTSBTT1AgSW5zdGFuY2UgVUlEIiBkZWZpbml0aW9uPSJUaGUgRElDT00gU09QIEluc3RhbmNlIFVJRCBmb3IgdGhpcyBpbWFnZSBvciBvdGhlciBESUNPTSBjb250ZW50LiIgY29tbWVudD0iU2VlICBbRElDT00gUFMzLjMgQy4xMi4xXShodHRwOi8vZGljb20ubmVtYS5vcmcvbWVkaWNhbC9kaWNvbS9jdXJyZW50L291dHB1dC9jaHRtbC9wYXJ0MDMvc2VjdF9DLjEyLmh0bWwjc2VjdF9DLjEyLjEpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNvcENsYXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJESUNPTSBjbGFzcyB0eXBlIiBkZWZpbml0aW9uPSJESUNPTSBpbnN0YW5jZSAgdHlwZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJzb3BDbGFzcyIgZGVzY3JpcHRpb249IlRoZSBzb3BDbGFzcyBmb3IgdGhlIGluc3RhbmNlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIG51bWJlciBvZiB0aGlzIGluc3RhbmNlIGluIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2YgaW5zdGFuY2UgaW4gdGhlIHNlcmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0aXRsZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgaW5zdGFuY2UiIGRlZmluaXRpb249IlRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgaW5zdGFuY2UuIiBjb21tZW50PSJQYXJ0aWN1bGFybHkgZm9yIHBvc3QtYWNxdWlzaXRpb24gYW5hbHl0aWMgb2JqZWN0cywgc3VjaCBhcyBTUiwgcHJlc2VudGF0aW9uIHN0YXRlcywgdmFsdWUgbWFwcGluZywgZXRjLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5LlNlcmllcy5QZXJmb3JtZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHBlcmZvcm1hbmNlIiBkZWZpbml0aW9uPSJEaXN0aW5ndWlzaGVzIHRoZSB0eXBlIG9mIGludm9sdmVtZW50IG9mIHRoZSBwZXJmb3JtZXIgaW4gdGhlIHNlcmllcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJFdmVudFBlcmZvcm1lckZ1bmN0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgaW52b2x2ZW1lbnQgb2YgdGhlIHBlcmZvcm1lci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIHNlcmllcyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgc2VyaWVzLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtaW1tdW5pemF0aW9uIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idmFjY2luZUNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgaW1tdW5pemF0aW9uIHJlY29yZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGltbXVuaXphdGlvbiBldmVudC4iIGNvbW1lbnQ9IldpbGwgZ2VuZXJhbGx5IGJlIHNldCB0byBzaG93IHRoYXQgdGhlIGltbXVuaXphdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQgb3Igbm90IGRvbmUuICBUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVhc29uIG5vdCBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiB0aGUgaW1tdW5pemF0aW9uIGV2ZW50IHdhcyBub3QgcGVyZm9ybWVkLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciB0aGUgc3RhdHVzIG9mICZxdW90O25vdC1kb25lJnF1b3Q7LiBUaGUgcmVhc29uIGZvciBwZXJmb3JtaW5nIHRoZSBpbW11bml6YXRpb24gZXZlbnQgaXMgY2FwdHVyZWQgaW4gcmVhc29uQ29kZSwgbm90IGhlcmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFjY2luZUNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVmFjY2luZSBQcm9kdWN0IFR5cGUgKGJpbmQgdG8gQ1ZYKSIgZGVmaW5pdGlvbj0iVmFjY2luZSB0aGF0IHdhcyBhZG1pbmlzdGVyZWQgb3Igd2FzIHRvIGJlIGFkbWluaXN0ZXJlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyB3YXMgaW1tdW5pemVkIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gZWl0aGVyIHJlY2VpdmVkIG9yIGRpZCBub3QgcmVjZWl2ZSB0aGUgaW1tdW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGltbXVuaXphdGlvbiB3YXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIHZpc2l0IG9yIGFkbWlzc2lvbiBvciBvdGhlciBjb250YWN0IGJldHdlZW4gcGF0aWVudCBhbmQgaGVhbHRoIGNhcmUgcHJvdmlkZXIgdGhlIGltbXVuaXphdGlvbiB3YXMgcGVyZm9ybWVkIGFzIHBhcnQgb2YuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFZhY2NpbmUgYWRtaW5pc3RyYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB2YWNjaW5lIGFkbWluaXN0ZXJlZCBvciB3YXMgdG8gYmUgYWRtaW5pc3RlcmVkLiIgY29tbWVudD0iV2hlbiBpbW11bml6YXRpb25zIGFyZSBnaXZlbiBhIHNwZWNpZmljIGRhdGUgYW5kIHRpbWUgc2hvdWxkIGFsd2F5cyBiZSBrbm93bi4gICBXaGVuIGltbXVuaXphdGlvbnMgYXJlIHBhdGllbnQgcmVwb3J0ZWQsIGEgc3BlY2lmaWMgZGF0ZSBtaWdodCBub3QgYmUga25vd24uICBBbHRob3VnaCBwYXJ0aWFsIGRhdGVzIGFyZSBhbGxvd2VkLCBhbiBhZHVsdCBwYXRpZW50IG1pZ2h0IG5vdCBiZSBhYmxlIHRvIHJlY2FsbCB0aGUgeWVhciBhIGNoaWxkaG9vZCBpbW11bml6YXRpb24gd2FzIGdpdmVuLiBBbiBleGFjdCBkYXRlIGlzIGFsd2F5cyBwcmVmZXJhYmxlLCBidXQgdGhlIHVzZSBvZiB0aGUgU3RyaW5nIGRhdGEgdHlwZSBpcyBhY2NlcHRhYmxlIHdoZW4gYW4gZXhhY3QgZGF0ZSBpcyBub3Qga25vd24uIEEgc21hbGwgbnVtYmVyIG9mIHZhY2NpbmVzIChlLmcuIGxpdmUgb3JhbCB0eXBob2lkIHZhY2NpbmUpIGFyZSBnaXZlbiBhcyBhIHNlcmllcyBvZiBwYXRpZW50IHNlbGYtYWRtaW5pc3RlcmVkIGRvc2Ugb3ZlciBhIHNwYW4gb2YgdGltZS4gSW4gY2FzZXMgbGlrZSB0aGlzLCBvZnRlbiwgb25seSB0aGUgZmlyc3QgZG9zZSAodHlwaWNhbGx5IGEgcHJvdmlkZXIgc3VwZXJ2aXNlZCBkb3NlKSBpcyByZWNvcmRlZCB3aXRoIHRoZSBvY2N1cnJlbmNlIGluZGljYXRpbmcgdGhlIGRhdGUvdGltZSBvZiB0aGUgZmlyc3QgZG9zZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gdGhlIGltbXVuaXphdGlvbiB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBpbW11bml6YXRpb24gd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgLSBwb3RlbnRpYWxseSBzaWduaWZpY2FudGx5IGFmdGVyIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmltYXJ5U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJbmRpY2F0ZXMgY29udGV4dCB0aGUgZGF0YSB3YXMgcmVjb3JkZWQgaW4iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoZSBkYXRhIGNvbnRhaW5lZCBpbiB0aGUgcmVzb3VyY2Ugd2FzIGNhcHR1cmVkIGJ5IHRoZSBpbmRpdmlkdWFsL29yZ2FuaXphdGlvbiB3aGljaCB3YXMgcmVzcG9uc2libGUgZm9yIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgdmFjY2luZSByYXRoZXIgdGhhbiBhcyAnc2Vjb25kYXJ5IHJlcG9ydGVkJyBkYXRhICBkb2N1bWVudGVkIGJ5IGEgdGhpcmQgcGFydHkuIEEgdmFsdWUgb2YgJ3RydWUnIG1lYW5zIHRoaXMgZGF0YSBvcmlnaW5hdGVkIHdpdGggdGhlIGluZGl2aWR1YWwvb3JnYW5pemF0aW9uIHdoaWNoIHdhcyByZXNwb25zaWJsZSBmb3IgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSB2YWNjaW5lLiIgY29tbWVudD0iVGhpcyB1cGRhdGVkIGRlZmluaXRpb24gaXMgYWRvcHRlZCBmcm9tIHRoZSBGSElSIFI1IEltbXVuaXphdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0T3JpZ2luIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHNvdXJjZSBvZiBhIHNlY29uZGFyaWx5IHJlcG9ydGVkIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIHNvdXJjZSBvZiB0aGUgZGF0YSB3aGVuIHRoZSByZXBvcnQgb2YgdGhlIGltbXVuaXphdGlvbiBldmVudCBpcyBub3QgYmFzZWQgb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgcGVyc29uIHdobyBhZG1pbmlzdGVyZWQgdGhlIHZhY2NpbmUuIiBjb21tZW50PSJTaG91bGQgbm90IGJlIHBvcHVsYXRlZCBpZiBwcmltYXJ5U291cmNlID0gVHJ1ZSwgbm90IHJlcXVpcmVkIGV2ZW4gaWYgcHJpbWFyeVNvdXJjZSA9IEZhbHNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlcG9ydE9yaWdpbiIgZGVzY3JpcHRpb249IlRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgZm9yIGEgcmVjb3JkIHdoaWNoIGlzIG5vdCBmcm9tIGEgcHJpbWFyeSBzb3VyY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBzZXJ2aWNlIGRlbGl2ZXJ5IGxvY2F0aW9uIHdoZXJlIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIG9jY3VycmVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iTmFtZSBvZiB2YWNjaW5lIG1hbnVmYWN0dXJlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgbG90IG51bWJlciIgZGVmaW5pdGlvbj0iTG90IG51bWJlciBvZiB0aGUgIHZhY2NpbmUgcHJvZHVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBpcmF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgZXhwaXJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYmF0Y2ggZXhwaXJlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHNpdGUgdmFjY2luZSAgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQm9keSBzaXRlIHdoZXJlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25TaXRlIiBkZXNjcmlwdGlvbj0iVGhlIHNpdGUgYXQgd2hpY2ggdGhlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdmFjY2luZSBlbnRlcmVkIGJvZHkiIGRlZmluaXRpb249IlRoZSBwYXRoIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHByb2R1Y3QgaXMgdGFrZW4gaW50byB0aGUgYm9keS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25Sb3V0ZSIgZGVzY3JpcHRpb249IlRoZSByb3V0ZSBieSB3aGljaCB0aGUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiB2YWNjaW5lIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IG9mIHZhY2NpbmUgcHJvZHVjdCB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBwZXJmb3JtZWQgdGhlIGltbXVuaXphdGlvbiBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5QZXJmb3JtZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW1tdW5pemF0aW9uIG5vdGVzIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1tdW5pemF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGltbXVuaXphdGlvbiBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iUmVhc29ucyB3aHkgdGhlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24sIE9ic2VydmF0aW9uIG9yIERpYWdub3N0aWNSZXBvcnQgdGhhdCBzdXBwb3J0cyB3aHkgdGhlIGltbXVuaXphdGlvbiB3YXMgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlzU3VicG90ZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRG9zZSBwb3RlbmN5IiBkZWZpbml0aW9uPSJJbmRpY2F0aW9uIGlmIGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4gQnkgZGVmYXVsdCwgYSBkb3NlIHNob3VsZCBiZSBjb25zaWRlcmVkIHRvIGJlIHBvdGVudC4iIGNvbW1lbnQ9IlR5cGljYWxseSwgdGhlIHJlY29nbml0aW9uIG9mIHRoZSBkb3NlIGJlaW5nIHN1Yi1wb3RlbnQgaXMgcmV0cm9zcGVjdGl2ZSwgYWZ0ZXIgdGhlIGFkbWluaXN0cmF0aW9uIChleC4gbm90aWZpY2F0aW9uIG9mIGEgbWFudWZhY3R1cmVyIHJlY2FsbCBhZnRlciBhZG1pbmlzdHJhdGlvbikuIEhvd2V2ZXIsIGluIHRoZSBjYXNlIG9mIGEgcGFydGlhbCBhZG1pbmlzdHJhdGlvbiAodGhlIHBhdGllbnQgbW92ZXMgdW5leHBlY3RlZGx5IGFuZCBvbmx5IHNvbWUgb2YgdGhlIGRvc2UgaXMgYWN0dWFsbHkgYWRtaW5pc3RlcmVkKSwgc3VicG90ZW5jeSBtYXkgYmUgcmVjb2duaXplZCBpbW1lZGlhdGVseSwgYnV0IGl0IGlzIHN0aWxsIGltcG9ydGFudCB0byByZWNvcmQgdGhlIGV2ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnBvdGVudFJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgYmVpbmcgc3VicG90ZW50IiBkZWZpbml0aW9uPSJSZWFzb24gd2h5IGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VicG90ZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWR1Y2F0aW9uIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHBhdGllbnQiIGRlZmluaXRpb249IkVkdWNhdGlvbmFsIG1hdGVyaWFsIHByZXNlbnRlZCB0byB0aGUgcGF0aWVudCAob3IgZ3VhcmRpYW4pIGF0IHRoZSB0aW1lIG9mIHZhY2NpbmUgYWRtaW5pc3RyYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uRWR1Y2F0aW9uIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImltbS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik9uZSBvZiBkb2N1bWVudFR5cGUgb3IgcmVmZXJlbmNlIFNIQUxMIGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImRvY3VtZW50VHlwZS5leGlzdHMoKSBvciByZWZlcmVuY2UuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtRWxpZ2liaWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGVsaWdpYmlsaXR5IGZvciBhIHZhY2NpbmF0aW9uIHByb2dyYW0iIGRlZmluaXRpb249IkluZGljYXRlcyBhIHBhdGllbnQncyBlbGlnaWJpbGl0eSBmb3IgYSBmdW5kaW5nIHByb2dyYW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1FbGlnaWJpbGl0eSIgZGVzY3JpcHRpb249IlRoZSBwYXRpZW50J3MgZWxpZ2liaWxpdHkgZm9yIGEgdmFjY2F0aW9uIHByb2dyYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5kaW5nU291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGdW5kaW5nIHNvdXJjZSBmb3IgdGhlIHZhY2NpbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc291cmNlIG9mIHRoZSB2YWNjaW5lIGFjdHVhbGx5IGFkbWluaXN0ZXJlZC4gVGhpcyBtYXkgYmUgZGlmZmVyZW50IHRoYW4gdGhlIHBhdGllbnQgZWxpZ2liaWxpdHkgKGUuZy4gdGhlIHBhdGllbnQgbWF5IGJlIGVsaWdpYmxlIGZvciBhIHB1YmxpY2FsbHkgcHVyY2hhc2VkIHZhY2NpbmUgYnV0IGR1ZSB0byBpbnZlbnRvcnkgaXNzdWVzLCB2YWNjaW5lIHB1cmNoYXNlZCB3aXRoIHByaXZhdGUgZnVuZHMgd2FzIGFjdHVhbGx5IGFkbWluaXN0ZXJlZCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZGluZ1NvdXJjZSIgZGVzY3JpcHRpb249IlRoZSBzb3VyY2Ugb2YgZnVuZGluZyB1c2VkIHRvIHB1cmNoYXNlIHRoZSB2YWNjaW5lIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYWN0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBhIHJlYWN0aW9uIHRoYXQgZm9sbG93cyBpbW11bml6YXRpb24iIGRlZmluaXRpb249IkNhdGVnb3JpY2FsIGRhdGEgaW5kaWNhdGluZyB0aGF0IGFuIGFkdmVyc2UgZXZlbnQgaXMgYXNzb2NpYXRlZCBpbiB0aW1lIHRvIGFuIGltbXVuaXphdGlvbi4iIGNvbW1lbnQ9IkEgcmVhY3Rpb24gbWF5IGJlIGFuIGluZGljYXRpb24gb2YgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBhbmQsIGlmIHRoaXMgaXMgZGV0ZXJtaW5lZCB0byBiZSB0aGUgY2FzZSwgaXQgc2hvdWxkIGJlIHJlY29yZGVkIGFzIGEgbmV3IEFsbGVyZ3lJbnRvbGVyYW5jZSByZXNvdXJjZSBpbnN0YW5jZSBhcyBtb3N0IHN5c3RlbXMgd2lsbCBub3QgcXVlcnkgYWdhaW5zdCBwYXN0IEltbXVuaXphdGlvbi5yZWFjdGlvbiBlbGVtZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5SZWFjdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm90b2NvbEFwcGxpZWQiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBmb2xsb3dlZCBieSB0aGUgcHJvdmlkZXIiIGRlZmluaXRpb249IlRoZSBwcm90b2NvbCAoc2V0IG9mIHJlY29tbWVuZGF0aW9ucykgYmVpbmcgZm9sbG93ZWQgYnkgdGhlIHByb3ZpZGVyIHdobyBhZG1pbmlzdGVyZWQgdGhlIGRvc2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uUHJvdG9jb2xBcHBsaWVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImFjdG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5FZHVjYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvY3VtZW50VHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgZG9jdW1lbnQgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBvZiB0aGUgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHRoZSBwYXRpZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcmVmZXJlbmNlIHBvaW50ZXIiIGRlZmluaXRpb249IlJlZmVyZW5jZSBwb2ludGVyIHRvIHRoZSBlZHVjYXRpb25hbCBtYXRlcmlhbCBnaXZlbiB0byB0aGUgcGF0aWVudCBpZiB0aGUgaW5mb3JtYXRpb24gd2FzIG9uIGxpbmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHVibGljYXRpb25EYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkVkdWNhdGlvbmFsIG1hdGVyaWFsIHB1YmxpY2F0aW9uIGRhdGUiIGRlZmluaXRpb249IkRhdGUgdGhlIGVkdWNhdGlvbmFsIG1hdGVyaWFsIHdhcyBwdWJsaXNoZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2VudGF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFZHVjYXRpb25hbCBtYXRlcmlhbCBwcmVzZW50YXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB0aGUgZWR1Y2F0aW9uYWwgbWF0ZXJpYWwgd2FzIGdpdmVuIHRvIHRoZSBwYXRpZW50LiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1tdW5pemF0aW9uLlBlcmZvcm1lciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuY3Rpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgdHlwZSBvZiBwZXJmb3JtYW5jZSB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSB0eXBlIG9mIHBlcmZvcm1hbmNlIChlLmcuIG9yZGVyaW5nIHByb3ZpZGVyLCBhZG1pbmlzdGVyaW5nIHByb3ZpZGVyLCBldGMuKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25GdW5jdGlvbiIgZGVzY3JpcHRpb249IlRoZSByb2xlIGEgcHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiBwbGF5cyBpbiB0aGUgaW1tdW5pemF0aW9uIGV2ZW50LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW5kaXZpZHVhbCBvciBvcmdhbml6YXRpb24gd2hvIHdhcyBwZXJmb3JtaW5nIiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiB3aG8gcGVyZm9ybWVkIHRoZSBhY3Rpb24uIiBjb21tZW50PSJXaGVuIHRoZSBpbmRpdmlkdWFsIHByYWN0aXRpb25lciB3aG8gcGVyZm9ybWVkIHRoZSBhY3Rpb24gaXMga25vd24sIGl0IGlzIGJlc3QgdG8gc2VuZC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5Qcm90b2NvbEFwcGxpZWQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB2YWNjaW5lIHNlcmllcyIgZGVmaW5pdGlvbj0iT25lIHBvc3NpYmxlIHBhdGggdG8gYWNoaWV2ZSBwcmVzdW1lZCBpbW11bml0eSBhZ2FpbnN0IGEgZGlzZWFzZSAtIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhbiBhdXRob3JpdHkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgcHVibGlzaGluZyB0aGUgcmVjb21tZW5kYXRpb25zIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGF1dGhvcml0eSB3aG8gcHVibGlzaGVkIHRoZSBwcm90b2NvbCAoZS5nLiBBQ0lQKSB0aGF0IGlzIGJlaW5nIGZvbGxvd2VkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldERpc2Vhc2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIHByZXZlbnRhdGFibGUgZGlzZWFzZSBiZWluZyB0YXJnZXR0ZWQiIGRlZmluaXRpb249IlRoZSB2YWNjaW5lIHByZXZlbnRhYmxlIGRpc2Vhc2UgdGhlIGRvc2UgaXMgYmVpbmcgYWRtaW5pc3RlcmVkIGFnYWluc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhcmdldERpc2Vhc2UiIGRlc2NyaXB0aW9uPSJUaGUgdmFjY2luZSBwcmV2ZW50YWJsZSBkaXNlYXNlIHRoZSBkb3NlIGlzIGJlaW5nIGFkbWluaXN0ZXJlZCBmb3IuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlTnVtYmVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRvc2UgbnVtYmVyIHdpdGhpbiBzZXJpZXMiIGRlZmluaXRpb249Ik5vbWluYWwgcG9zaXRpb24gaW4gYSBzZXJpZXMuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVycmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXNEb3NlcyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgZm9yIGltbXVuaXR5IiBkZWZpbml0aW9uPSJUaGUgcmVjb21tZW5kZWQgbnVtYmVyIG9mIGRvc2VzIHRvIGFjaGlldmUgaW1tdW5pdHkuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVycmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5SZWFjdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlYWN0aW9uIHN0YXJ0ZWQiIGRlZmluaXRpb249IkRhdGUgb2YgcmVhY3Rpb24gdG8gdGhlIGltbXVuaXphdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiByZWFjdGlvbiIgZGVmaW5pdGlvbj0iRGV0YWlscyBvZiB0aGUgcmVhY3Rpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc2VsZi1yZXBvcnRlZCByZWFjdGlvbiIgZGVmaW5pdGlvbj0iU2VsZi1yZXBvcnRlZCBpbmRpY2F0b3IuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25FdmFsdWF0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1pbW11bml6YXRpb25ldmFsdWF0aW9uIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvbkV2YWx1YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InRhcmdldERpc2Vhc2UiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQnVzaW5lc3MgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGltbXVuaXphdGlvbiBldmFsdWF0aW9uIHJlY29yZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbkV2YWx1YXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGV2YWx1YXRpb24gb2YgdGhlIHZhY2NpbmF0aW9uIGFkbWluaXN0cmF0aW9uIGV2ZW50LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvbkV2YWx1YXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBldmFsdWF0aW9uIGJlaW5nIGRvbmUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIHRoaXMgZXZhbHVhdGlvbiBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsIGZvciB3aG9tIHRoZSBldmFsdWF0aW9uIGlzIGJlaW5nIGRvbmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRGF0ZSBldmFsdWF0aW9uIHdhcyBwZXJmb3JtZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBldmFsdWF0aW9uIG9mIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIGV2ZW50IHdhcyBwZXJmb3JtZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgcHVibGlzaGluZyB0aGUgcmVjb21tZW5kYXRpb25zIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGF1dGhvcml0eSB3aG8gcHVibGlzaGVkIHRoZSBwcm90b2NvbCAoZS5nLiBBQ0lQKS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldERpc2Vhc2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFdmFsdWF0aW9uIHRhcmdldCBkaXNlYXNlIiBkZWZpbml0aW9uPSJUaGUgdmFjY2luZSBwcmV2ZW50YWJsZSBkaXNlYXNlIHRoZSBkb3NlIGlzIGJlaW5nIGV2YWx1YXRlZCBhZ2FpbnN0LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW1tdW5pemF0aW9uRXZlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEltbXVuaXphdGlvbiBiZWluZyBldmFsdWF0ZWQiIGRlZmluaXRpb249IlRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIGV2ZW50IGJlaW5nIGV2YWx1YXRlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgU3RhdHVzIG9mIHRoZSBkb3NlIHJlbGF0aXZlIHRvIHB1Ymxpc2hlZCByZWNvbW1lbmRhdGlvbnMiIGRlZmluaXRpb249IkluZGljYXRlcyBpZiB0aGUgZG9zZSBpcyB2YWxpZCBvciBub3QgdmFsaWQgd2l0aCByZXNwZWN0IHRvIHRoZSBwdWJsaXNoZWQgcmVjb21tZW5kYXRpb25zLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZWFzb24gZm9yIHRoZSBkb3NlIHN0YXR1cyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYW4gZXhwbGFuYXRpb24gYXMgdG8gd2h5IHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIGV2ZW50IGlzIHZhbGlkIG9yIG5vdCByZWxhdGl2ZSB0byB0aGUgcHVibGlzaGVkIHJlY29tbWVuZGF0aW9ucy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXZhbHVhdGlvbiBub3RlcyIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZXZhbHVhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgdmFjY2luZSBzZXJpZXMiIGRlZmluaXRpb249Ik9uZSBwb3NzaWJsZSBwYXRoIHRvIGFjaGlldmUgcHJlc3VtZWQgaW1tdW5pdHkgYWdhaW5zdCBhIGRpc2Vhc2UgLSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYW4gYXV0aG9yaXR5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2VOdW1iZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRG9zZSBudW1iZXIgd2l0aGluIHNlcmllcyIgZGVmaW5pdGlvbj0iTm9taW5hbCBwb3NpdGlvbiBpbiBhIHNlcmllcy4iIGNvbW1lbnQ9IlRoZSB1c2Ugb2YgYW4gaW50ZWdlciBpcyBwcmVmZXJyZWQgaWYga25vd24uIEEgc3RyaW5nIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgYW4gaW50ZWdlciBpcyBub3QgYXZhaWxhYmxlIChzdWNoIGFzIHdoZW4gZG9jdW1lbnRpbmcgYSByZWN1cnJpbmcgYm9vc3RlciBkb3NlKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllc0Rvc2VzIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIG51bWJlciBvZiBkb3NlcyBmb3IgaW1tdW5pdHkiIGRlZmluaXRpb249IlRoZSByZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgdG8gYWNoaWV2ZSBpbW11bml0eS4iIGNvbW1lbnQ9IlRoZSB1c2Ugb2YgYW4gaW50ZWdlciBpcyBwcmVmZXJyZWQgaWYga25vd24uIEEgc3RyaW5nIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgYW4gaW50ZWdlciBpcyBub3QgYXZhaWxhYmxlIChzdWNoIGFzIHdoZW4gZG9jdW1lbnRpbmcgYSByZWN1cnJpbmcgYm9vc3RlciBkb3NlKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25FdmFsdWF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbk5vdERvbmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWltbXVuaXphdGlvbm5vdGRvbmUiIGxhYmVsPSJRSUNvcmUgSW1tdW5pemF0aW9uIE5vdCBEb25lIiB0YXJnZXQ9IkltbXVuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idmFjY2luZUNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgaW1tdW5pemF0aW9uIHJlY29yZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBub3QtZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgaW1tdW5pemF0aW9uIGV2ZW50LiIgY29tbWVudD0iV2lsbCBnZW5lcmFsbHkgYmUgc2V0IHRvIHNob3cgdGhhdCB0aGUgaW1tdW5pemF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZCBvciBub3QgZG9uZS4gIFRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBSZWFzb24gbm90IGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHRoZSBpbW11bml6YXRpb24gZXZlbnQgd2FzIG5vdCBwZXJmb3JtZWQuIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yIHRoZSBzdGF0dXMgb2YgJnF1b3Q7bm90LWRvbmUmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGltbXVuaXphdGlvbiBldmVudCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSByZWFzb24gdGhlIHNlcnZpY2Ugd2FzIG5vdCByZXF1ZXN0ZWQiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhY2NpbmVDb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQudmFjY2luZUNvZGUuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWYWNjaW5lIFByb2R1Y3QgVHlwZSAoYmluZCB0byBDVlgpIiBkZWZpbml0aW9uPSJWYWNjaW5lIHRoYXQgd2FzIGFkbWluaXN0ZXJlZCBvciB3YXMgdG8gYmUgYWRtaW5pc3RlcmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyB3YXMgaW1tdW5pemVkIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gZWl0aGVyIHJlY2VpdmVkIG9yIGRpZCBub3QgcmVjZWl2ZSB0aGUgaW1tdW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGltbXVuaXphdGlvbiB3YXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIHZpc2l0IG9yIGFkbWlzc2lvbiBvciBvdGhlciBjb250YWN0IGJldHdlZW4gcGF0aWVudCBhbmQgaGVhbHRoIGNhcmUgcHJvdmlkZXIgdGhlIGltbXVuaXphdGlvbiB3YXMgcGVyZm9ybWVkIGFzIHBhcnQgb2YuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFZhY2NpbmUgYWRtaW5pc3RyYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB2YWNjaW5lIGFkbWluaXN0ZXJlZCBvciB3YXMgdG8gYmUgYWRtaW5pc3RlcmVkLiIgY29tbWVudD0iV2hlbiBpbW11bml6YXRpb25zIGFyZSBnaXZlbiBhIHNwZWNpZmljIGRhdGUgYW5kIHRpbWUgc2hvdWxkIGFsd2F5cyBiZSBrbm93bi4gICBXaGVuIGltbXVuaXphdGlvbnMgYXJlIHBhdGllbnQgcmVwb3J0ZWQsIGEgc3BlY2lmaWMgZGF0ZSBtaWdodCBub3QgYmUga25vd24uICBBbHRob3VnaCBwYXJ0aWFsIGRhdGVzIGFyZSBhbGxvd2VkLCBhbiBhZHVsdCBwYXRpZW50IG1pZ2h0IG5vdCBiZSBhYmxlIHRvIHJlY2FsbCB0aGUgeWVhciBhIGNoaWxkaG9vZCBpbW11bml6YXRpb24gd2FzIGdpdmVuLiBBbiBleGFjdCBkYXRlIGlzIGFsd2F5cyBwcmVmZXJhYmxlLCBidXQgdGhlIHVzZSBvZiB0aGUgU3RyaW5nIGRhdGEgdHlwZSBpcyBhY2NlcHRhYmxlIHdoZW4gYW4gZXhhY3QgZGF0ZSBpcyBub3Qga25vd24uIEEgc21hbGwgbnVtYmVyIG9mIHZhY2NpbmVzIChlLmcuIGxpdmUgb3JhbCB0eXBob2lkIHZhY2NpbmUpIGFyZSBnaXZlbiBhcyBhIHNlcmllcyBvZiBwYXRpZW50IHNlbGYtYWRtaW5pc3RlcmVkIGRvc2Ugb3ZlciBhIHNwYW4gb2YgdGltZS4gSW4gY2FzZXMgbGlrZSB0aGlzLCBvZnRlbiwgb25seSB0aGUgZmlyc3QgZG9zZSAodHlwaWNhbGx5IGEgcHJvdmlkZXIgc3VwZXJ2aXNlZCBkb3NlKSBpcyByZWNvcmRlZCB3aXRoIHRoZSBvY2N1cnJlbmNlIGluZGljYXRpbmcgdGhlIGRhdGUvdGltZSBvZiB0aGUgZmlyc3QgZG9zZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gdGhlIGltbXVuaXphdGlvbiB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBpbW11bml6YXRpb24gd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgLSBwb3RlbnRpYWxseSBzaWduaWZpY2FudGx5IGFmdGVyIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmltYXJ5U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJbmRpY2F0ZXMgY29udGV4dCB0aGUgZGF0YSB3YXMgcmVjb3JkZWQgaW4iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoZSBkYXRhIGNvbnRhaW5lZCBpbiB0aGUgcmVzb3VyY2Ugd2FzIGNhcHR1cmVkIGJ5IHRoZSBpbmRpdmlkdWFsL29yZ2FuaXphdGlvbiB3aGljaCB3YXMgcmVzcG9uc2libGUgZm9yIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgdmFjY2luZSByYXRoZXIgdGhhbiBhcyAnc2Vjb25kYXJ5IHJlcG9ydGVkJyBkYXRhICBkb2N1bWVudGVkIGJ5IGEgdGhpcmQgcGFydHkuIEEgdmFsdWUgb2YgJ3RydWUnIG1lYW5zIHRoaXMgZGF0YSBvcmlnaW5hdGVkIHdpdGggdGhlIGluZGl2aWR1YWwvb3JnYW5pemF0aW9uIHdoaWNoIHdhcyByZXNwb25zaWJsZSBmb3IgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSB2YWNjaW5lLiIgY29tbWVudD0iVGhpcyB1cGRhdGVkIGRlZmluaXRpb24gaXMgYWRvcHRlZCBmcm9tIHRoZSBGSElSIFI1IEltbXVuaXphdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0T3JpZ2luIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHNvdXJjZSBvZiBhIHNlY29uZGFyaWx5IHJlcG9ydGVkIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIHNvdXJjZSBvZiB0aGUgZGF0YSB3aGVuIHRoZSByZXBvcnQgb2YgdGhlIGltbXVuaXphdGlvbiBldmVudCBpcyBub3QgYmFzZWQgb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgcGVyc29uIHdobyBhZG1pbmlzdGVyZWQgdGhlIHZhY2NpbmUuIiBjb21tZW50PSJTaG91bGQgbm90IGJlIHBvcHVsYXRlZCBpZiBwcmltYXJ5U291cmNlID0gVHJ1ZSwgbm90IHJlcXVpcmVkIGV2ZW4gaWYgcHJpbWFyeVNvdXJjZSA9IEZhbHNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlcG9ydE9yaWdpbiIgZGVzY3JpcHRpb249IlRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgZm9yIGEgcmVjb3JkIHdoaWNoIGlzIG5vdCBmcm9tIGEgcHJpbWFyeSBzb3VyY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBzZXJ2aWNlIGRlbGl2ZXJ5IGxvY2F0aW9uIHdoZXJlIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIG9jY3VycmVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iTmFtZSBvZiB2YWNjaW5lIG1hbnVmYWN0dXJlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgbG90IG51bWJlciIgZGVmaW5pdGlvbj0iTG90IG51bWJlciBvZiB0aGUgIHZhY2NpbmUgcHJvZHVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBpcmF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgZXhwaXJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYmF0Y2ggZXhwaXJlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHNpdGUgdmFjY2luZSAgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQm9keSBzaXRlIHdoZXJlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25TaXRlIiBkZXNjcmlwdGlvbj0iVGhlIHNpdGUgYXQgd2hpY2ggdGhlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdmFjY2luZSBlbnRlcmVkIGJvZHkiIGRlZmluaXRpb249IlRoZSBwYXRoIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHByb2R1Y3QgaXMgdGFrZW4gaW50byB0aGUgYm9keS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25Sb3V0ZSIgZGVzY3JpcHRpb249IlRoZSByb3V0ZSBieSB3aGljaCB0aGUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiB2YWNjaW5lIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IG9mIHZhY2NpbmUgcHJvZHVjdCB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBwZXJmb3JtZWQgdGhlIGltbXVuaXphdGlvbiBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5QZXJmb3JtZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW1tdW5pemF0aW9uIG5vdGVzIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1tdW5pemF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGltbXVuaXphdGlvbiBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iUmVhc29ucyB3aHkgdGhlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24sIE9ic2VydmF0aW9uIG9yIERpYWdub3N0aWNSZXBvcnQgdGhhdCBzdXBwb3J0cyB3aHkgdGhlIGltbXVuaXphdGlvbiB3YXMgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlzU3VicG90ZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRG9zZSBwb3RlbmN5IiBkZWZpbml0aW9uPSJJbmRpY2F0aW9uIGlmIGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4gQnkgZGVmYXVsdCwgYSBkb3NlIHNob3VsZCBiZSBjb25zaWRlcmVkIHRvIGJlIHBvdGVudC4iIGNvbW1lbnQ9IlR5cGljYWxseSwgdGhlIHJlY29nbml0aW9uIG9mIHRoZSBkb3NlIGJlaW5nIHN1Yi1wb3RlbnQgaXMgcmV0cm9zcGVjdGl2ZSwgYWZ0ZXIgdGhlIGFkbWluaXN0cmF0aW9uIChleC4gbm90aWZpY2F0aW9uIG9mIGEgbWFudWZhY3R1cmVyIHJlY2FsbCBhZnRlciBhZG1pbmlzdHJhdGlvbikuIEhvd2V2ZXIsIGluIHRoZSBjYXNlIG9mIGEgcGFydGlhbCBhZG1pbmlzdHJhdGlvbiAodGhlIHBhdGllbnQgbW92ZXMgdW5leHBlY3RlZGx5IGFuZCBvbmx5IHNvbWUgb2YgdGhlIGRvc2UgaXMgYWN0dWFsbHkgYWRtaW5pc3RlcmVkKSwgc3VicG90ZW5jeSBtYXkgYmUgcmVjb2duaXplZCBpbW1lZGlhdGVseSwgYnV0IGl0IGlzIHN0aWxsIGltcG9ydGFudCB0byByZWNvcmQgdGhlIGV2ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnBvdGVudFJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgYmVpbmcgc3VicG90ZW50IiBkZWZpbml0aW9uPSJSZWFzb24gd2h5IGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VicG90ZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWR1Y2F0aW9uIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHBhdGllbnQiIGRlZmluaXRpb249IkVkdWNhdGlvbmFsIG1hdGVyaWFsIHByZXNlbnRlZCB0byB0aGUgcGF0aWVudCAob3IgZ3VhcmRpYW4pIGF0IHRoZSB0aW1lIG9mIHZhY2NpbmUgYWRtaW5pc3RyYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uRWR1Y2F0aW9uIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImltbS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik9uZSBvZiBkb2N1bWVudFR5cGUgb3IgcmVmZXJlbmNlIFNIQUxMIGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImRvY3VtZW50VHlwZS5leGlzdHMoKSBvciByZWZlcmVuY2UuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtRWxpZ2liaWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGVsaWdpYmlsaXR5IGZvciBhIHZhY2NpbmF0aW9uIHByb2dyYW0iIGRlZmluaXRpb249IkluZGljYXRlcyBhIHBhdGllbnQncyBlbGlnaWJpbGl0eSBmb3IgYSBmdW5kaW5nIHByb2dyYW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1FbGlnaWJpbGl0eSIgZGVzY3JpcHRpb249IlRoZSBwYXRpZW50J3MgZWxpZ2liaWxpdHkgZm9yIGEgdmFjY2F0aW9uIHByb2dyYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5kaW5nU291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGdW5kaW5nIHNvdXJjZSBmb3IgdGhlIHZhY2NpbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc291cmNlIG9mIHRoZSB2YWNjaW5lIGFjdHVhbGx5IGFkbWluaXN0ZXJlZC4gVGhpcyBtYXkgYmUgZGlmZmVyZW50IHRoYW4gdGhlIHBhdGllbnQgZWxpZ2liaWxpdHkgKGUuZy4gdGhlIHBhdGllbnQgbWF5IGJlIGVsaWdpYmxlIGZvciBhIHB1YmxpY2FsbHkgcHVyY2hhc2VkIHZhY2NpbmUgYnV0IGR1ZSB0byBpbnZlbnRvcnkgaXNzdWVzLCB2YWNjaW5lIHB1cmNoYXNlZCB3aXRoIHByaXZhdGUgZnVuZHMgd2FzIGFjdHVhbGx5IGFkbWluaXN0ZXJlZCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZGluZ1NvdXJjZSIgZGVzY3JpcHRpb249IlRoZSBzb3VyY2Ugb2YgZnVuZGluZyB1c2VkIHRvIHB1cmNoYXNlIHRoZSB2YWNjaW5lIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYWN0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBhIHJlYWN0aW9uIHRoYXQgZm9sbG93cyBpbW11bml6YXRpb24iIGRlZmluaXRpb249IkNhdGVnb3JpY2FsIGRhdGEgaW5kaWNhdGluZyB0aGF0IGFuIGFkdmVyc2UgZXZlbnQgaXMgYXNzb2NpYXRlZCBpbiB0aW1lIHRvIGFuIGltbXVuaXphdGlvbi4iIGNvbW1lbnQ9IkEgcmVhY3Rpb24gbWF5IGJlIGFuIGluZGljYXRpb24gb2YgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBhbmQsIGlmIHRoaXMgaXMgZGV0ZXJtaW5lZCB0byBiZSB0aGUgY2FzZSwgaXQgc2hvdWxkIGJlIHJlY29yZGVkIGFzIGEgbmV3IEFsbGVyZ3lJbnRvbGVyYW5jZSByZXNvdXJjZSBpbnN0YW5jZSBhcyBtb3N0IHN5c3RlbXMgd2lsbCBub3QgcXVlcnkgYWdhaW5zdCBwYXN0IEltbXVuaXphdGlvbi5yZWFjdGlvbiBlbGVtZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5SZWFjdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm90b2NvbEFwcGxpZWQiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBmb2xsb3dlZCBieSB0aGUgcHJvdmlkZXIiIGRlZmluaXRpb249IlRoZSBwcm90b2NvbCAoc2V0IG9mIHJlY29tbWVuZGF0aW9ucykgYmVpbmcgZm9sbG93ZWQgYnkgdGhlIHByb3ZpZGVyIHdobyBhZG1pbmlzdGVyZWQgdGhlIGRvc2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uUHJvdG9jb2xBcHBsaWVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWltbXVuaXphdGlvbnJlY29tbWVuZGF0aW9uIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJyZWNvbW1lbmRhdGlvbi52YWNjaW5lQ29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBwYXJ0aWN1bGFyIHJlY29tbWVuZGF0aW9uIHJlY29yZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIHRoaXMgcHJvZmlsZSBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IHRoZSByZWNvbW1lbmRhdGlvbihzKSBhcmUgZm9yLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvbW1lbmRhdGlvbihzKSBjcmVhdGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgaW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uKHMpIHdlcmUgY3JlYXRlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciBwcm90b2NvbCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBhdXRob3JpdHkgd2hvIHB1Ymxpc2hlZCB0aGUgcHJvdG9jb2wgKGUuZy4gQUNJUCkuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvbW1lbmRhdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBWYWNjaW5lIGFkbWluaXN0cmF0aW9uIHJlY29tbWVuZGF0aW9ucyIgZGVmaW5pdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiByZWNvbW1lbmRhdGlvbnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbi5SZWNvbW1lbmRhdGlvbiIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJpbXItMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJPbmUgb2YgdmFjY2luZUNvZGUgb3IgdGFyZ2V0RGlzZWFzZSBTSEFMTCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWNjaW5lQ29kZS5leGlzdHMoKSBvciB0YXJnZXREaXNlYXNlLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWNjaW5lQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBWYWNjaW5lIG9yIHZhY2NpbmUgZ3JvdXAgcmVjb21tZW5kYXRpb24gYXBwbGllcyB0byIgZGVmaW5pdGlvbj0iVmFjY2luZShzKSBvciB2YWNjaW5lIGdyb3VwIHRoYXQgcGVydGFpbiB0byB0aGUgcmVjb21tZW5kYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDVlggVmFjY2luZXMgQWRtaW5pc3RlcmVkIFZhY2NpbmUgU2V0IiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0YXJnZXREaXNlYXNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEaXNlYXNlIHRvIGJlIGltbXVuaXplZCBhZ2FpbnN0IiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0ZWQgZGlzZWFzZSBmb3IgdGhlIHJlY29tbWVuZGF0aW9uLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhcmdldERpc2Vhc2UiIGRlc2NyaXB0aW9uPSJUaGUgZGlzZWFzZSB0aGF0IHRoZSByZWNvbW1lbmRlZCB2YWNjaW5hdGlvbiB0YXJnZXRzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udHJhaW5kaWNhdGVkVmFjY2luZUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIHdoaWNoIGlzIGNvbnRyYWluZGljYXRlZCB0byBmdWxmaWxsIHRoZSByZWNvbW1lbmRhdGlvbiIgZGVmaW5pdGlvbj0iVmFjY2luZShzKSB3aGljaCBzaG91bGQgbm90IGJlIHVzZWQgdG8gZnVsZmlsbCB0aGUgcmVjb21tZW5kYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlZhY2NpbmVDb2RlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgdmFjY2luZSBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb3JlY2FzdFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSByZWNvbW1lbmRhdGlvbiBzdGF0dXMiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcGF0aWVudCBzdGF0dXMgd2l0aCByZXNwZWN0IHRvIHRoZSBwYXRoIHRvIGltbXVuaXR5IGZvciB0aGUgdGFyZ2V0IGRpc2Vhc2UuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgcGF0aWVudCdzIHN0YXR1cyB3aXRoIHJlc3BlY3QgdG8gYSB2YWNjaW5hdGlvbiBwcm90b2NvbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvcmVjYXN0UmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiBzdGF0dXMgcmVhc29uIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIGZvciB0aGUgYXNzaWduZWQgZm9yZWNhc3Qgc3RhdHVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25SZWNvbW1lbmRhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IlRoZSByZWFzb24gZm9yIHRoZSBwYXRpZW50J3Mgc3RhdHVzIHdpdGggcmVzcGVjdCB0byBhIHZhY2NpbmF0aW9uIHByb3RvY29sLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZUNyaXRlcmlvbiIgZGVzY3JpcHRpb249IkRhdGVzIGdvdmVybmluZyBwcm9wb3NlZCBpbW11bml6YXRpb24iIGRlZmluaXRpb249IlZhY2NpbmUgZGF0ZSByZWNvbW1lbmRhdGlvbnMuICBGb3IgZXhhbXBsZSwgZWFybGllc3QgZGF0ZSB0byBhZG1pbmlzdGVyLCBsYXRlc3QgZGF0ZSB0byBhZG1pbmlzdGVyLCBldGMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbi5SZWNvbW1lbmRhdGlvbi5EYXRlQ3JpdGVyaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBkZXRhaWxzIiBkZWZpbml0aW9uPSJDb250YWlucyB0aGUgZGVzY3JpcHRpb24gYWJvdXQgdGhlIHByb3RvY29sIHVuZGVyIHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIHZhY2NpbmF0aW9uIHNlcmllcyIgZGVmaW5pdGlvbj0iT25lIHBvc3NpYmxlIHBhdGggdG8gYWNoaWV2ZSBwcmVzdW1lZCBpbW11bml0eSBhZ2FpbnN0IGEgZGlzZWFzZSAtIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhbiBhdXRob3JpdHkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZU51bWJlciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVjb21tZW5kZWQgZG9zZSBudW1iZXIgd2l0aGluIHNlcmllcyIgZGVmaW5pdGlvbj0iTm9taW5hbCBwb3NpdGlvbiBvZiB0aGUgcmVjb21tZW5kZWQgZG9zZSBpbiBhIHNlcmllcyAoZS5nLiBkb3NlIDIgaXMgdGhlIG5leHQgcmVjb21tZW5kZWQgZG9zZSkuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVyZWQgaWYga25vd24uIEEgc3RyaW5nIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgYW4gaW50ZXJnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXNEb3NlcyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgZm9yIGltbXVuaXR5IiBkZWZpbml0aW9uPSJUaGUgcmVjb21tZW5kZWQgbnVtYmVyIG9mIGRvc2VzIHRvIGFjaGlldmUgaW1tdW5pdHkuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVyZWQgaWYga25vd24uIEEgc3RyaW5nIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgYW4gaW50ZXJnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW1tdW5pemF0aW9uIiBkZXNjcmlwdGlvbj0iUGFzdCBpbW11bml6YXRpb25zIHN1cHBvcnRpbmcgcmVjb21tZW5kYXRpb24iIGRlZmluaXRpb249IkltbXVuaXphdGlvbiBldmVudCBoaXN0b3J5IGFuZC9vciBldmFsdWF0aW9uIHRoYXQgc3VwcG9ydHMgdGhlIHN0YXR1cyBhbmQgcmVjb21tZW5kYXRpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nUGF0aWVudEluZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBvYnNlcnZhdGlvbnMgc3VwcG9ydGluZyByZWNvbW1lbmRhdGlvbiIgZGVmaW5pdGlvbj0iUGF0aWVudCBJbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBzdGF0dXMgYW5kIHJlY29tbWVuZGF0aW9uLiAgVGhpcyBpbmNsdWRlcyBwYXRpZW50IG9ic2VydmF0aW9ucywgYWR2ZXJzZSByZWFjdGlvbnMgYW5kIGFsbGVyZ3kvaW50b2xlcmFuY2UgaW5mb3JtYXRpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uLkRhdGVDcml0ZXJpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSBjbGFzc2lmaWNhdGlvbiBvZiByZWNvbW1lbmRhdGlvbi4gIEZvciBleGFtcGxlLCBlYXJsaWVzdCBkYXRlIHRvIGdpdmUsIGxhdGVzdCBkYXRlIHRvIGdpdmUsIGV0Yy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbkRhdGVDcml0ZXJpb24iIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWVzIGRhdGUgY3JpdGVyaW9uIHdpdGggcmVzcGVjdCB0byBjb252ZXlpbmcgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXRpZW50J3MgdmFjY2luYXRpb24gc3RhdHVzIChlLmcuIGR1ZSBkYXRlLCBsYXRlc3QgdG8gZ2l2ZSBkYXRlLCBldGMuKS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIGRhdGUiIGRlZmluaXRpb249IlRoZSBkYXRlIHdob3NlIG1lYW5pbmcgaXMgc3BlY2lmaWVkIGJ5IGRhdGVDcml0ZXJpb24uY29kZS4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxhYm9yYXRvcnlSZXN1bHRPYnNlcnZhdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb2JzZXJ2YXRpb24tbGFiIiBsYWJlbD0iUUlDb3JlIExhYm9yYXRvcnkgUmVzdWx0IE9ic2VydmF0aW9uIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgcmVnaXN0ZXJlZCB8IHBybGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgfCBjb3JyZWN0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBMYWJvcmF0b3J5IFRlc3QgTmFtZSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGNsaW5pY2FsIHRlc3Qgb3IgcHJvY2VkdXJlIHBlcmZvcm1lZCBvbiBhIHBhdGllbnQuICBBIExPSU5DICoqU0hBTEwqKiBiZSB1c2VkIGlmIHRoZSBjb25jZXB0IGlzIHByZXNlbnQgaW4gTE9JTkMuIiBjb21tZW50PSJUaGUgdHlwaWNhbCBwYXR0ZXJucyBmb3IgY29kZXMgYXJlOiAgMSkgIGEgTE9JTkMgY29kZSBlaXRoZXIgYXMgYSB0cmFuc2xhdGlvbiBmcm9tIGEgJnF1b3Q7bG9jYWwmcXVvdDsgY29kZSBvciBhcyBhIHByaW1hcnkgY29kZSwgb3IgMikgIGEgbG9jYWwgY29kZSBvbmx5IGlmIG5vIHN1aXRhYmxlIExPSU5DIGV4aXN0cywgIG9yIDMpICBib3RoIHRoZSBsb2NhbCBhbmQgdGhlIExPSU5DIHRyYW5zbGF0aW9uLiAgIFN5c3RlbXMgU0hBTEwgYmUgY2FwYWJsZSBvZiBzZW5kaW5nIHRoZSBsb2NhbCBjb2RlIGlmIG9uZSBleGlzdHMuICBXaGVuIHVzaW5nIExPSU5DICwgVXNlIGVpdGhlciB0aGUgU0hPUlROQU1FIG9yIExPTkdfQ09NTU9OX05BTUUgZmllbGQgZm9yIHRoZSBkaXNwbGF5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTGFib3JhdG9yeSBMT0lOQyBDb2RlcyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRGF0ZXRpbWUgbXVzdCBiZSBhdCBsZWFzdCB0byBkYXkuIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIkdGhpcyBpcyBEYXRlVGltZSBpbXBsaWVzICR0aGlzLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gMTAiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFJlc3VsdCBWYWx1ZSIgZGVmaW5pdGlvbj0iVGhlIExhYm9yYXRvcnkgcmVzdWx0IHZhbHVlLiAgSWYgYSBjb2RlZCB2YWx1ZSwgIHRoZSB2YWx1ZUNvZGVhYmxlQ29uY2VwdC5jb2RlICoqU0hPVUxEKiogYmUgc2VsZWN0ZWQgZnJvbSBbU05PTUVEIENUXShodHRwOi8vaGw3Lm9yZy9maGlyL1ZhbHVlU2V0L3VzbGFiLW9icy1jb2RlZHJlc3VsdHMpIGlmIHRoZSBjb25jZXB0IGV4aXN0cy4gSWYgYSBudW1lcmljIHZhbHVlLCB2YWx1ZVF1YW50aXR5LmNvZGUgKipTSEFMTCoqIGJlIHNlbGVjdGVkIGZyb20gW1VDVU1dKGh0dHA6Ly91bml0c29mbWVhc3VyZS5vcmcpLiAgQSBGSElSIFtVQ1VNIENvZGVzIHZhbHVlIHNldF0oaHR0cDovL2hsNy5vcmcvZmhpci9TVFUzL3ZhbHVlc2V0LXVjdW0tdW5pdHMuaHRtbCkgdGhhdCBkZWZpbmVzIGFsbCBVQ1VNIGNvZGVzIGlzIGluIHRoZSBGSElSIHNwZWNpZmljYXRpb24uIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJTSEFMTCB1c2UgVUNVTSBmb3IgY29kZWQgcXVhbnRpdHkgdW5pdHMuIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5vZlR5cGUoUXVhbnRpdHkpLnN5c3RlbS5lbXB0eSgpIG9yIHZhbHVlLm9mVHlwZShRdWFudGl0eSkuc3lzdGVtID0gJ2h0dHA6Ly91bml0c29mbWVhc3VyZS5vcmcnIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS00IiBzZXZlcml0eT0iV0FSTklORyIgbWVzc2FnZT0iU0hPVUxEIHVzZSBTbm9tZWQgQ1QgZm9yIGNvZGVkIFJlc3VsdHMiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLm9mVHlwZShDb2RlYWJsZUNvbmNlcHQpLmNvZGluZy5zeXN0ZW0uZW1wdHkoKSBvciB2YWx1ZS5vZlR5cGUoQ29kZWFibGVDb25jZXB0KS5jb2Rpbmcuc3lzdGVtID0gJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QnIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxpbmtUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxvY2F0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1sb2NhdGlvbiIgbGFiZWw9IlFJQ29yZSBMb2NhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBjb2RlIG9yIG51bWJlciBpZGVudGlmeWluZyB0aGUgbG9jYXRpb24gdG8gaXRzIHVzZXJzIiBkZWZpbml0aW9uPSJVbmlxdWUgY29kZSBvciBudW1iZXIgaWRlbnRpZnlpbmcgdGhlIGxvY2F0aW9uIHRvIGl0cyB1c2Vycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkxvY2F0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IHN1c3BlbmRlZCB8IGluYWN0aXZlIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIHByb3BlcnR5IGNvdmVycyB0aGUgZ2VuZXJhbCBhdmFpbGFiaWxpdHkgb2YgdGhlIHJlc291cmNlLCBub3QgdGhlIGN1cnJlbnQgdmFsdWUgd2hpY2ggbWF5IGJlIGNvdmVyZWQgYnkgdGhlIG9wZXJhdGlvblN0YXR1cywgb3IgYnkgYSBzY2hlZHVsZS9zbG90cyBpZiB0aGV5IGFyZSBjb25maWd1cmVkIGZvciB0aGUgbG9jYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkxvY2F0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxvY2F0aW9uIGlzIHN0aWxsIGluIHVzZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvcGVyYXRpb25hbFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIG9wZXJhdGlvbmFsIHN0YXR1cyBvZiB0aGUgbG9jYXRpb24gKHR5cGljYWxseSBvbmx5IGZvciBhIGJlZC9yb29tKSIgZGVmaW5pdGlvbj0iVGhlIG9wZXJhdGlvbmFsIHN0YXR1cyBjb3ZlcnMgb3BlcmF0aW9uIHZhbHVlcyBtb3N0IHJlbGV2YW50IHRvIGJlZHMgKGJ1dCBjYW4gYWxzbyBhcHBseSB0byByb29tcy91bml0cy9jaGFpcnMvZXRjLiBzdWNoIGFzIGFuIGlzb2xhdGlvbiB1bml0L2RpYWx5c2lzIGNoYWlyKS4gVGhpcyB0eXBpY2FsbHkgY292ZXJzIGNvbmNlcHRzIHN1Y2ggYXMgY29udGFtaW5hdGlvbiwgaG91c2VrZWVwaW5nLCBhbmQgb3RoZXIgYWN0aXZpdGllcyBsaWtlIG1haW50ZW5hbmNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9wZXJhdGlvbmFsU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIG9wZXJhdGlvbmFsIHN0YXR1cyBpZiB0aGUgbG9jYXRpb24gKHdoZXJlIHR5cGljYWxseSBhIGJlZC9yb29tKS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB0aGUgbG9jYXRpb24gYXMgdXNlZCBieSBodW1hbnMiIGRlZmluaXRpb249Ik5hbWUgb2YgdGhlIGxvY2F0aW9uIGFzIHVzZWQgYnkgaHVtYW5zLiBEb2VzIG5vdCBuZWVkIHRvIGJlIHVuaXF1ZS4iIGNvbW1lbnQ9IklmIHRoZSBuYW1lIG9mIGEgbG9jYXRpb24gY2hhbmdlcywgY29uc2lkZXIgcHV0dGluZyB0aGUgb2xkIG5hbWUgaW4gdGhlIGFsaWFzIGNvbHVtbiBzbyB0aGF0IGl0IGNhbiBzdGlsbCBiZSBsb2NhdGVkIHRocm91Z2ggc2VhcmNoZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFsaWFzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgbGlzdCBvZiBhbHRlcm5hdGUgbmFtZXMgdGhhdCB0aGUgbG9jYXRpb24gaXMga25vd24gYXMsIG9yIHdhcyBrbm93biBhcywgaW4gdGhlIHBhc3QiIGRlZmluaXRpb249IkEgbGlzdCBvZiBhbHRlcm5hdGUgbmFtZXMgdGhhdCB0aGUgbG9jYXRpb24gaXMga25vd24gYXMsIG9yIHdhcyBrbm93biBhcywgaW4gdGhlIHBhc3QuIiBjb21tZW50PSJUaGVyZSBhcmUgbm8gZGF0ZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBhbGlhcy9oaXN0b3JpYyBuYW1lcywgYXMgdGhpcyBpcyBub3QgaW50ZW5kZWQgdG8gdHJhY2sgd2hlbiBuYW1lcyB3ZXJlIHVzZWQsIGJ1dCB0byBhc3Npc3QgaW4gc2VhcmNoaW5nIHNvIHRoYXQgb2xkZXIgbmFtZXMgY2FuIHN0aWxsIHJlc3VsdCBpbiBpZGVudGlmeWluZyB0aGUgbG9jYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgbG9jYXRpb24gdGhhdCBjb3VsZCBiZSBkaXNwbGF5ZWQgYXMgZnVydGhlciBpbmZvcm1hdGlvbiB0byBpZGVudGlmeSB0aGUgbG9jYXRpb24gYmV5b25kIGl0cyBuYW1lIiBkZWZpbml0aW9uPSJEZXNjcmlwdGlvbiBvZiB0aGUgTG9jYXRpb24sIHdoaWNoIGhlbHBzIGluIGZpbmRpbmcgb3IgcmVmZXJlbmNpbmcgdGhlIHBsYWNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTG9jYXRpb25Nb2RlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Imluc3RhbmNlIHwga2luZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgYSByZXNvdXJjZSBpbnN0YW5jZSByZXByZXNlbnRzIGEgc3BlY2lmaWMgbG9jYXRpb24gb3IgYSBjbGFzcyBvZiBsb2NhdGlvbnMuIiBjb21tZW50PSJUaGlzIGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHdoZXRoZXIgb3Igbm90IHRoZSBsb2NhdGlvbiBpcyBhIGNsYXNzIG9mIGxvY2F0aW9ucyBjaGFuZ2VzIGhvdyBpdCBjYW4gYmUgdXNlZCBhbmQgdW5kZXJzdG9vZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMb2NhdGlvbk1vZGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBhIHJlc291cmNlIGluc3RhbmNlIHJlcHJlc2VudHMgYSBzcGVjaWZpYyBsb2NhdGlvbiBvciBhIGNsYXNzIG9mIGxvY2F0aW9ucy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBmdW5jdGlvbiBwZXJmb3JtZWQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBmdW5jdGlvbiBwZXJmb3JtZWQgYXQgdGhlIGxvY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMb2NhdGlvblR5cGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZnVuY3Rpb24gcGVyZm9ybWVkIGF0IHRoZSBsb2NhdGlvbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ29udGFjdCBkZXRhaWxzIG9mIHRoZSBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGNvbnRhY3QgZGV0YWlscyBvZiBjb21tdW5pY2F0aW9uIGRldmljZXMgYXZhaWxhYmxlIGF0IHRoZSBsb2NhdGlvbi4gVGhpcyBjYW4gaW5jbHVkZSBwaG9uZSBudW1iZXJzLCBmYXggbnVtYmVycywgbW9iaWxlIG51bWJlcnMsIGVtYWlsIGFkZHJlc3NlcyBhbmQgd2ViIHNpdGVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiIGRlc2NyaXB0aW9uPSJQaHlzaWNhbCBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iUGh5c2ljYWwgbG9jYXRpb24uIiBjb21tZW50PSJBZGRpdGlvbmFsIGFkZHJlc3NlcyBzaG91bGQgYmUgcmVjb3JkZWQgdXNpbmcgYW5vdGhlciBpbnN0YW5jZSBvZiB0aGUgTG9jYXRpb24gcmVzb3VyY2UsIG9yIHZpYSB0aGUgT3JnYW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwaHlzaWNhbFR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBoeXNpY2FsIGZvcm0gb2YgdGhlIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJQaHlzaWNhbCBmb3JtIG9mIHRoZSBsb2NhdGlvbiwgZS5nLiBidWlsZGluZywgcm9vbSwgdmVoaWNsZSwgcm9hZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQaHlzaWNhbFR5cGUiIGRlc2NyaXB0aW9uPSJQaHlzaWNhbCBmb3JtIG9mIHRoZSBsb2NhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBvc2l0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLkxvY2F0aW9uLlBvc2l0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIGFic29sdXRlIGdlb2dyYXBoaWMgbG9jYXRpb24iIGRlZmluaXRpb249IlRoZSBhYnNvbHV0ZSBnZW9ncmFwaGljIGxvY2F0aW9uIG9mIHRoZSBMb2NhdGlvbiwgZXhwcmVzc2VkIHVzaW5nIHRoZSBXR1M4NCBkYXR1bSAoVGhpcyBpcyB0aGUgc2FtZSBjby1vcmRpbmF0ZSBzeXN0ZW0gdXNlZCBpbiBLTUwpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbmFnaW5nT3JnYW5pemF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBPcmdhbml6YXRpb24gcmVzcG9uc2libGUgZm9yIHByb3Zpc2lvbmluZyBhbmQgdXBrZWVwIiBkZWZpbml0aW9uPSJUaGUgb3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uaW5nIGFuZCB1cGtlZXAgb2YgdGhlIGxvY2F0aW9uLiIgY29tbWVudD0iVGhpcyBjYW4gYWxzbyBiZSB1c2VkIGFzIHRoZSBwYXJ0IG9mIHRoZSBvcmdhbml6YXRpb24gaGllcmFyY2h5IHdoZXJlIHRoaXMgbG9jYXRpb24gcHJvdmlkZXMgc2VydmljZXMuIFRoZXNlIHNlcnZpY2VzIGNhbiBiZSBkZWZpbmVkIHRocm91Z2ggdGhlIEhlYWx0aGNhcmVTZXJ2aWNlIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQW5vdGhlciBMb2NhdGlvbiB0aGlzIG9uZSBpcyBwaHlzaWNhbGx5IGEgcGFydCBvZiIgZGVmaW5pdGlvbj0iQW5vdGhlciBMb2NhdGlvbiBvZiB3aGljaCB0aGlzIExvY2F0aW9uIGlzIHBoeXNpY2FsbHkgYSBwYXJ0IG9mLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaG91cnNPZk9wZXJhdGlvbiIgZGVzY3JpcHRpb249IldoYXQgZGF5cy90aW1lcyBkdXJpbmcgYSB3ZWVrIGlzIHRoaXMgbG9jYXRpb24gdXN1YWxseSBvcGVuIiBkZWZpbml0aW9uPSJXaGF0IGRheXMvdGltZXMgZHVyaW5nIGEgd2VlayBpcyB0aGlzIGxvY2F0aW9uIHVzdWFsbHkgb3Blbi4iIGNvbW1lbnQ9IlRoaXMgdHlwZSBvZiBpbmZvcm1hdGlvbiBpcyBjb21tb25seSBmb3VuZCBwdWJsaXNoZWQgaW4gZGlyZWN0b3JpZXMgYW5kIG9uIHdlYnNpdGVzIGluZm9ybWluZyBjdXN0b21lcnMgd2hlbiB0aGUgZmFjaWxpdHkgaXMgYXZhaWxhYmxlLiYjMTA7JiMxMDtTcGVjaWZpYyBzZXJ2aWNlcyB3aXRoaW4gdGhlIGxvY2F0aW9uIG1heSBoYXZlIHRoZWlyIG93biBob3VycyB3aGljaCBjb3VsZCBiZSBzaG9ydGVyIChvciBsb25nZXIpIHRoYW4gdGhlIGxvY2F0aW9ucyBob3Vycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkxvY2F0aW9uLkhvdXJzT2ZPcGVyYXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXZhaWxhYmlsaXR5RXhjZXB0aW9ucyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgYXZhaWxhYmlsaXR5IGV4Y2VwdGlvbnMiIGRlZmluaXRpb249IkEgZGVzY3JpcHRpb24gb2Ygd2hlbiB0aGUgbG9jYXRpb25zIG9wZW5pbmcgb3VycyBhcmUgZGlmZmVyZW50IHRvIG5vcm1hbCwgZS5nLiBwdWJsaWMgaG9saWRheSBhdmFpbGFiaWxpdHkuIFN1Y2NpbmN0bHkgZGVzY3JpYmluZyBhbGwgcG9zc2libGUgZXhjZXB0aW9ucyB0byBub3JtYWwgc2l0ZSBhdmFpbGFiaWxpdHkgYXMgZGV0YWlsZWQgaW4gdGhlIG9wZW5pbmcgaG91cnMgVGltZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5kcG9pbnQiIGRlc2NyaXB0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgbG9jYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMb2NhdGlvbi5Ib3Vyc09mT3BlcmF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXlzT2ZXZWVrIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1vbiB8IHR1ZSB8IHdlZCB8IHRodSB8IGZyaSB8IHNhdCB8IHN1biIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoaWNoIGRheXMgb2YgdGhlIHdlZWsgYXJlIGF2YWlsYWJsZSBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIFRpbWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGF5c09mV2VlayIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJEYXlzT2ZXZWVrIiBkZXNjcmlwdGlvbj0iVGhlIGRheXMgb2YgdGhlIHdlZWsuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWxsRGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIExvY2F0aW9uIGlzIG9wZW4gYWxsIGRheSIgZGVmaW5pdGlvbj0iVGhlIExvY2F0aW9uIGlzIG9wZW4gYWxsIGRheS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvcGVuaW5nVGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5UaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gb3BlbnMiIGRlZmluaXRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gb3BlbnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2xvc2luZ1RpbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaW1lIHRoYXQgdGhlIExvY2F0aW9uIGNsb3NlcyIgZGVmaW5pdGlvbj0iVGltZSB0aGF0IHRoZSBMb2NhdGlvbiBjbG9zZXMuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMb2NhdGlvbi5Qb3NpdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9uZ2l0dWRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTG9uZ2l0dWRlIHdpdGggV0dTODQgZGF0dW0iIGRlZmluaXRpb249IkxvbmdpdHVkZS4gVGhlIHZhbHVlIGRvbWFpbiBhbmQgdGhlIGludGVycHJldGF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIHRleHQgb2YgdGhlIGxvbmdpdHVkZSBlbGVtZW50IGluIEtNTCAoc2VlIG5vdGVzIGJlbG93KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYXRpdHVkZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxhdGl0dWRlIHdpdGggV0dTODQgZGF0dW0iIGRlZmluaXRpb249IkxhdGl0dWRlLiBUaGUgdmFsdWUgZG9tYWluIGFuZCB0aGUgaW50ZXJwcmV0YXRpb24gYXJlIHRoZSBzYW1lIGFzIGZvciB0aGUgdGV4dCBvZiB0aGUgbGF0aXR1ZGUgZWxlbWVudCBpbiBLTUwgKHNlZSBub3RlcyBiZWxvdykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWx0aXR1ZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBbHRpdHVkZSB3aXRoIFdHUzg0IGRhdHVtIiBkZWZpbml0aW9uPSJBbHRpdHVkZS4gVGhlIHZhbHVlIGRvbWFpbiBhbmQgdGhlIGludGVycHJldGF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIHRleHQgb2YgdGhlIGFsdGl0dWRlIGVsZW1lbnQgaW4gS01MIChzZWUgbm90ZXMgYmVsb3cpLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTG9jYXRpb25Nb2RlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxvY2F0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb24iIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhpcyBtZWRpY2F0aW9uLiIgY29tbWVudD0iVGhlIHNlcmlhbCBudW1iZXIgY291bGQgYmUgaW5jbHVkZWQgYXMgYW4gaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb2RlcyB0aGF0IGlkZW50aWZ5IHRoaXMgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIChvciBzZXQgb2YgY29kZXMpIHRoYXQgc3BlY2lmeSB0aGlzIG1lZGljYXRpb24sIG9yIGEgdGV4dHVhbCBkZXNjcmlwdGlvbiBpZiBubyBjb2RlIGlzIGF2YWlsYWJsZS4gVXNhZ2Ugbm90ZTogVGhpcyBjb3VsZCBiZSBhIHN0YW5kYXJkIG1lZGljYXRpb24gY29kZSBzdWNoIGFzIGEgY29kZSBmcm9tIFJ4Tm9ybSwgU05PTUVEIENULCBJRE1QIGV0Yy4gSXQgY291bGQgYWxzbyBiZSBhIG5hdGlvbmFsIG9yIGxvY2FsIGZvcm11bGFyeSBjb2RlLCBvcHRpb25hbGx5IHdpdGggdHJhbnNsYXRpb25zIHRvIG90aGVyIGNvZGUgc3lzdGVtcy4iIGNvbW1lbnQ9IkRlcGVuZGluZyBvbiB0aGUgY29udGV4dCBvZiB1c2UsIHRoZSBjb2RlIHRoYXQgd2FzIGFjdHVhbGx5IHNlbGVjdGVkIGJ5IHRoZSB1c2VyIChwcmVzY3JpYmVyLCBkaXNwZW5zZXIsIGV0Yy4pIHdpbGwgaGF2ZSB0aGUgY29kaW5nLnVzZXJTZWxlY3RlZCBzZXQgdG8gdHJ1ZS4gIEFzIGRlc2NyaWJlZCBpbiB0aGUgY29kaW5nIGRhdGF0eXBlOiAmcXVvdDtBIGNvZGluZyBtYXkgYmUgbWFya2VkIGFzIGEgJnF1b3Q7dXNlclNlbGVjdGVkJnF1b3Q7IGlmIGEgdXNlciBzZWxlY3RlZCB0aGUgcGFydGljdWxhciBjb2RlZCB2YWx1ZSBpbiBhIHVzZXIgaW50ZXJmYWNlIChlLmcuIHRoZSB1c2VyIHNlbGVjdHMgYW4gaXRlbSBpbiBhIHBpY2stbGlzdCkuIElmIGEgdXNlciBzZWxlY3RlZCBjb2RpbmcgZXhpc3RzLCBpdCBpcyB0aGUgcHJlZmVycmVkIGNob2ljZSBmb3IgcGVyZm9ybWluZyB0cmFuc2xhdGlvbnMgZXRjLiBPdGhlciBjb2RlcyBjYW4gb25seSBiZSBsaXRlcmFsIHRyYW5zbGF0aW9ucyB0byBhbHRlcm5hdGl2ZSBjb2RlIHN5c3RlbXMsIG9yIGNvZGVzIGF0IGEgbG93ZXIgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgKGUuZy4gYSBnZW5lcmljIGNvZGUgZm9yIGEgdmVuZG9yLXNwZWNpZmljIHByaW1hcnkgb25lKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gaW5kaWNhdGUgaWYgdGhlIG1lZGljYXRpb24gaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IlRoaXMgc3RhdHVzIGlzIGludGVuZGVkIHRvIGlkZW50aWZ5IGlmIHRoZSBtZWRpY2F0aW9uIGluIGEgbG9jYWwgc3lzdGVtIGlzIGluIGFjdGl2ZSB1c2Ugd2l0aGluIGEgZHJ1ZyBkYXRhYmFzZSBvciBpbnZlbnRvcnkuICBGb3IgZXhhbXBsZSwgYSBwaGFybWFjeSBzeXN0ZW0gbWF5IGNyZWF0ZSBhIG5ldyBkcnVnIGZpbGUgcmVjb3JkIGZvciBhIGNvbXBvdW5kZWQgcHJvZHVjdCAmcXVvdDtBQkMgSG9zcGl0YWwgU3BlY2lhbCBDcmVhbSZxdW90OyB3aXRoIGFuIGFjdGl2ZSBzdGF0dXMuICBBdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUsIGl0IG1heSBiZSBkZXRlcm1pbmVkIHRoYXQgdGhlIGRydWcgcmVjb3JkIHdhcyBjcmVhdGVkIHdpdGggYW4gZXJyb3IgYW5kIHRoZSBzdGF0dXMgaXMgY2hhbmdlZCB0byAmcXVvdDtlbnRlcmVkIGluIGVycm9yJnF1b3Q7LiAgIFRoaXMgc3RhdHVzIGlzIG5vdCBpbnRlbmRlZCB0byBzcGVjaWZ5IGlmIGEgbWVkaWNhdGlvbiBpcyBwYXJ0IG9mIGEgcGFydGljdWxhciBmb3JtdWxhcnkuICBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBkcnVnIHJlY29yZCBtYXkgYmUgcmVmZXJlbmNlZCBieSBtdWx0aXBsZSBmb3JtdWxhcmllcyBvciBjYXRhbG9ndWVzIGFuZCBlYWNoIG9mIHRob3NlIGVudHJpZXMgd291bGQgaGF2ZSBhIHNlcGFyYXRlIHN0YXR1cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlZmluaW5nIGlmIHRoZSBtZWRpY2F0aW9uIGlzIGluIGFjdGl2ZSB1c2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik1hbnVmYWN0dXJlciBvZiB0aGUgaXRlbSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBkZXRhaWxzIG9mIHRoZSBtYW51ZmFjdHVyZXIgb2YgdGhlIG1lZGljYXRpb24gcHJvZHVjdC4gIFRoaXMgaXMgbm90IGludGVuZGVkIHRvIHJlcHJlc2VudCB0aGUgZGlzdHJpYnV0b3Igb2YgYSBtZWRpY2F0aW9uIHByb2R1Y3QuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJwb3dkZXIgfCB0YWJsZXRzIHwgY2Fwc3VsZSArIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIGZvcm0gb2YgdGhlIGl0ZW0uICBQb3dkZXI7IHRhYmxldHM7IGNhcHN1bGUuIiBjb21tZW50PSJXaGVuIE1lZGljYXRpb24gaXMgcmVmZXJlbmNlZCBmcm9tIE1lZGljYXRpb25SZXF1ZXN0LCB0aGlzIGlzIHRoZSBvcmRlcmVkIGZvcm0uICBXaGVuIE1lZGljYXRpb24gaXMgcmVmZXJlbmNlZCB3aXRoaW4gTWVkaWNhdGlvbkRpc3BlbnNlLCB0aGlzIGlzIHRoZSBkaXNwZW5zZWQgZm9ybS4gIFdoZW4gTWVkaWNhdGlvbiBpcyByZWZlcmVuY2VkIHdpdGhpbiBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24sIHRoaXMgaXMgYWRtaW5pc3RlcmVkIGZvcm0uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkZvcm0iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVmaW5pbmcgdGhlIGZvcm0gb2YgYSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYW1vdW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBkcnVnIGluIHBhY2thZ2UiIGRlZmluaXRpb249IlNwZWNpZmljIGFtb3VudCBvZiB0aGUgZHJ1ZyBpbiB0aGUgcGFja2FnZWQgcHJvZHVjdC4gIEZvciBleGFtcGxlLCB3aGVuIHNwZWNpZnlpbmcgYSBwcm9kdWN0IHRoYXQgaGFzIHRoZSBzYW1lIHN0cmVuZ3RoIChGb3IgZXhhbXBsZSwgSW5zdWxpbiBnbGFyZ2luZSAxMDAgdW5pdCBwZXIgbUwgc29sdXRpb24gZm9yIGluamVjdGlvbiksIHRoaXMgYXR0cmlidXRlIHByb3ZpZGVzIGFkZGl0aW9uYWwgY2xhcmlmaWNhdGlvbiBvZiB0aGUgcGFja2FnZSBhbW91bnQgKEZvciBleGFtcGxlLCAzIG1MLCAxMG1MLCBldGMuKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbmdyZWRpZW50IiBkZXNjcmlwdGlvbj0iQWN0aXZlIG9yIGluYWN0aXZlIGluZ3JlZGllbnQiIGRlZmluaXRpb249IklkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIGNvbnN0aXR1ZW50IG9mIGludGVyZXN0IGluIHRoZSBwcm9kdWN0LiIgY29tbWVudD0iVGhlIGluZ3JlZGllbnRzIG5lZWQgbm90IGJlIGEgY29tcGxldGUgbGlzdC4gIElmIGFuIGluZ3JlZGllbnQgaXMgbm90IHNwZWNpZmllZCwgdGhpcyBkb2VzIG5vdCBpbmRpY2F0ZSB3aGV0aGVyIGFuIGluZ3JlZGllbnQgaXMgcHJlc2VudCBvciBhYnNlbnQuICBJZiBhbiBpbmdyZWRpZW50IGlzIHNwZWNpZmllZCBpdCBkb2VzIG5vdCBtZWFuIHRoYXQgYWxsIGluZ3JlZGllbnRzIGFyZSBzcGVjaWZpZWQuICBJdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5IGJvdGggaW5hY3RpdmUgYW5kIGFjdGl2ZSBpbmdyZWRpZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb24uSW5ncmVkaWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXRjaCIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uLkJhdGNoIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBhYm91dCBwYWNrYWdlZCBtZWRpY2F0aW9ucyIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gdGhhdCBvbmx5IGFwcGxpZXMgdG8gcGFja2FnZXMgKG5vdCBwcm9kdWN0cykuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uLkJhdGNoIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgYXNzaWduZWQgdG8gYmF0Y2giIGRlZmluaXRpb249IlRoZSBhc3NpZ25lZCBsb3QgbnVtYmVyIG9mIGEgYmF0Y2ggb2YgdGhlIHNwZWNpZmllZCBwcm9kdWN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImV4cGlyYXRpb25EYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gYmF0Y2ggd2lsbCBleHBpcmUiIGRlZmluaXRpb249IldoZW4gdGhpcyBzcGVjaWZpYyBiYXRjaCBvZiBwcm9kdWN0IHdpbGwgZXhwaXJlLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbi5JbmdyZWRpZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBhY3R1YWwgaW5ncmVkaWVudCBvciBjb250ZW50IiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGluZ3JlZGllbnQgLSBlaXRoZXIgYSBzdWJzdGFuY2UgKHNpbXBsZSBpbmdyZWRpZW50KSBvciBhbm90aGVyIG1lZGljYXRpb24gb2YgYSBtZWRpY2F0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc0FjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFjdGl2ZSBpbmdyZWRpZW50IGluZGljYXRvciIgZGVmaW5pdGlvbj0iSW5kaWNhdGlvbiBvZiB3aGV0aGVyIHRoaXMgaW5ncmVkaWVudCBhZmZlY3RzIHRoZSB0aGVyYXBldXRpYyBhY3Rpb24gb2YgdGhlIGRydWcuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdHJlbmd0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5SYXRpbyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1JhdGlvKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJRdWFudGl0eSBvZiBpbmdyZWRpZW50IHByZXNlbnQiIGRlZmluaXRpb249IlNwZWNpZmllcyBob3cgbWFueSAob3IgaG93IG11Y2gpIG9mIHRoZSBpdGVtcyB0aGVyZSBhcmUgaW4gdGhpcyBNZWRpY2F0aW9uLiAgRm9yIGV4YW1wbGUsIDI1MCBtZyBwZXIgdGFibGV0LiAgVGhpcyBpcyBleHByZXNzZWQgYXMgYSByYXRpbyB3aGVyZSB0aGUgbnVtZXJhdG9yIGlzIDI1MG1nIGFuZCB0aGUgZGVub21pbmF0b3IgaXMgMSB0YWJsZXQuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25hZG1pbmlzdHJhdGlvbiIgbGFiZWw9IlFJQ29yZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBNZWRpY2F0aW9uIEFkbWluaXN0cmF0aW9uIHRoYXQgYXJlIGRlZmluZWQgYnkgYnVzaW5lc3MgcHJvY2Vzc2VzIGFuZC9vciB1c2VkIHRvIHJlZmVyIHRvIGl0IHdoZW4gYSBkaXJlY3QgVVJMIHJlZmVyZW5jZSB0byB0aGUgcmVzb3VyY2UgaXRzZWxmIGlzIG5vdCBhcHByb3ByaWF0ZS4gVGhleSBhcmUgYnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyByZXNvdXJjZSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgYW5kIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJBIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgd2FzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIGV2ZW50IGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgaW4tcHJvZ3Jlc3MgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCB1bmtub3duIiBkZWZpbml0aW9uPSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBhZG1pbmlzdHJhdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQuICBGb3Igc29tZSBsb25nIHJ1bm5pbmcgYWRtaW5pc3RyYXRpb25zIHN1Y2ggYXMgaW5mdXNpb25zLCBpdCBpcyBwb3NzaWJsZSBmb3IgYW4gYWRtaW5pc3RyYXRpb24gdG8gYmUgc3RhcnRlZCBidXQgbm90IGNvbXBsZXRlZCBvciBpdCBtYXkgYmUgcGF1c2VkIHdoaWxlIHNvbWUgb3RoZXIgcHJvY2VzcyBpcyB1bmRlciB3YXkuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBhZG1pbmlzdHJhdGlvbiBub3QgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIGFkbWluaXN0cmF0aW9uIHdhcyBub3QgcGVyZm9ybWVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25OZWdhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkEgc2V0IG9mIGNvZGVzIGluZGljYXRpbmcgdGhlIHJlYXNvbiB3aHkgdGhlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiBpcyBuZWdhdGVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZCBpcyBleHBlY3RlZCB0byBvY2N1ci4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hhdCB3YXMgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIHRoYXQgd2FzIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgc2V0IG9mIFJ4Tm9ybSBjb2RlcyB0byByZXByZXNlbnQgbWVkaWNhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIHJlY2VpdmVkIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24gb3IgYW5pbWFsIG9yIGdyb3VwIHJlY2VpdmluZyB0aGUgbWVkaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFbmNvdW50ZXIgb3IgRXBpc29kZSBvZiBDYXJlIGFkbWluaXN0ZXJlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgdmlzaXQsIGFkbWlzc2lvbiwgb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIGR1cmluZyB3aGljaCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdG8gc3VwcG9ydCBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgU3RhcnQgYW5kIGVuZCB0aW1lIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJBIHNwZWNpZmljIGRhdGUvdGltZSBvciBpbnRlcnZhbCBvZiB0aW1lIGR1cmluZyB3aGljaCB0aGUgYWRtaW5pc3RyYXRpb24gdG9vayBwbGFjZSAob3IgZGlkIG5vdCB0YWtlIHBsYWNlLCB3aGVuIHRoZSAnbm90R2l2ZW4nIGF0dHJpYnV0ZSBpcyB0cnVlKS4gRm9yIG1hbnkgYWRtaW5pc3RyYXRpb25zLCBzdWNoIGFzIHN3YWxsb3dpbmcgYSB0YWJsZXQgdGhlIHVzZSBvZiBkYXRlVGltZSBpcyBtb3JlIGFwcHJvcHJpYXRlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIHdoYXQgdGhleSBkaWQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIGhvdyB0aGV5IHdlcmUgaW52b2x2ZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uUGVyZm9ybWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gYWRtaW5pc3RyYXRpb24gcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGdpdmVuLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIHNldCBvZiBjb2RlcyBpbmRpY2F0aW5nIHRoZSByZWFzb24gd2h5IHRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gd2FzIG1hZGUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQ29uZGl0aW9uIG9yIG9ic2VydmF0aW9uIHRoYXQgc3VwcG9ydHMgd2h5IHRoZSBtZWRpY2F0aW9uIHdhcyBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29uZGl0aW9uIHRoYXQgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIG1lZGljYXRpb24gcmVxdWVzdC4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVxdWVzdCBhZG1pbmlzdHJhdGlvbiBwZXJmb3JtZWQgYWdhaW5zdCIgZGVmaW5pdGlvbj0iVGhlIG9yaWdpbmFsIHJlcXVlc3QsIGluc3RydWN0aW9uIG9yIGF1dGhvcml0eSB0byBwZXJmb3JtIHRoZSBhZG1pbmlzdHJhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gdGhlIE1lZGljYXRpb25SZXF1ZXN0ICB3aGVyZSB0aGUgaW50ZW50IGlzIGVpdGhlciBvcmRlciBvciBpbnN0YW5jZS1vcmRlci4gIEl0IHNob3VsZCBub3QgcmVmZXJlbmNlIE1lZGljYXRpb25SZXF1ZXN0cyB3aGVyZSB0aGUgaW50ZW50IGlzIGFueSBvdGhlciB2YWx1ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdXNlZCB0byBhZG1pbmlzdGVyIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgaW4gYWRtaW5pc3RlcmluZyB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4gIEZvciBleGFtcGxlLCBhIHBhcnRpY3VsYXIgaW5mdXNpb24gcHVtcC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgdGhlIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB0aGF0IGlzIG5vdCBjb252ZXllZCBieSB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5Eb3NhZ2UiIGRlc2NyaXB0aW9uPSJEZXRhaWxzIG9mIGhvdyBtZWRpY2F0aW9uIHdhcyB0YWtlbiIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBtZWRpY2F0aW9uIGRvc2FnZSBpbmZvcm1hdGlvbiBkZXRhaWxzIGUuZy4gZG9zZSwgcmF0ZSwgc2l0ZSwgcm91dGUsIGV0Yy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im1hZC0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIGhhdmUgYXQgbGVhc3Qgb25lIG9mIGRvc2FnZS5kb3NlIG9yIGRvc2FnZS5yYXRlW3hdIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkb3NlLmV4aXN0cygpIG9yIHJhdGUuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJldmVudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgZXZlbnRzIG9mIGludGVyZXN0IGluIHRoZSBsaWZlY3ljbGUiIGRlZmluaXRpb249IkEgc3VtbWFyeSBvZiB0aGUgZXZlbnRzIG9mIGludGVyZXN0IHRoYXQgaGF2ZSBvY2N1cnJlZCwgc3VjaCBhcyB3aGVuIHRoZSBhZG1pbmlzdHJhdGlvbiB3YXMgdmVyaWZpZWQuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iY29udGV4dCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImRldmljZSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLkRvc2FnZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRnJlZSB0ZXh0IGRvc2FnZSBpbnN0cnVjdGlvbnMgZS5nLiBTSUciIGRlZmluaXRpb249IkZyZWUgdGV4dCBkb3NhZ2UgY2FuIGJlIHVzZWQgZm9yIGNhc2VzIHdoZXJlIHRoZSBkb3NhZ2UgYWRtaW5pc3RlcmVkIGlzIHRvbyBjb21wbGV4IHRvIGNvZGUuIFdoZW4gY29kZWQgZG9zYWdlIGlzIHByZXNlbnQsIHRoZSBmcmVlIHRleHQgZG9zYWdlIG1heSBzdGlsbCBiZSBwcmVzZW50IGZvciBkaXNwbGF5IHRvIGh1bWFucy4mIzEzOyYjMTM7VGhlIGRvc2FnZSBpbnN0cnVjdGlvbnMgc2hvdWxkIHJlZmxlY3QgdGhlIGRvc2FnZSBvZiB0aGUgbWVkaWNhdGlvbiB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBzaXRlIGFkbWluaXN0ZXJlZCB0byIgZGVmaW5pdGlvbj0iQSBjb2RlZCBzcGVjaWZpY2F0aW9uIG9mIHRoZSBhbmF0b21pYyBzaXRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGZpcnN0IGVudGVyZWQgdGhlIGJvZHkuICBGb3IgZXhhbXBsZSwgJnF1b3Q7bGVmdCBhcm0mcXVvdDsuIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiAgTWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBhIHJlZmVyZW5jZSB0byBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSBsb2NhdGlvbiwgb3IgYm90aC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TaXRlIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHNpdGUgbG9jYXRpb24gdGhlIG1lZGljaW5lIGVudGVycyBpbnRvIG9yIG9udG8gdGhlIGJvZHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyb3V0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGF0aCBvZiBzdWJzdGFuY2UgaW50byBib2R5IiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgcm91dGUgb3IgcGh5c2lvbG9naWNhbCBwYXRoIG9mIGFkbWluaXN0cmF0aW9uIG9mIGEgdGhlcmFwZXV0aWMgYWdlbnQgaW50byBvciBvbnRvIHRoZSBwYXRpZW50LiAgRm9yIGV4YW1wbGUsIHRvcGljYWwsIGludHJhdmVub3VzLCBldGMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUm91dGVPZkFkbWluaXN0cmF0aW9uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHJvdXRlIG9yIHBoeXNpb2xvZ2ljYWwgcGF0aCBvZiBhZG1pbmlzdHJhdGlvbiBvZiBhIHRoZXJhcGV1dGljIGFnZW50IGludG8gb3Igb250byB0aGUgYm9keSBvZiBhIHN1YmplY3QuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBkcnVnIHdhcyBhZG1pbmlzdGVyZWQiIGRlZmluaXRpb249IkEgY29kZWQgdmFsdWUgaW5kaWNhdGluZyB0aGUgbWV0aG9kIGJ5IHdoaWNoIHRoZSBtZWRpY2F0aW9uIGlzIGludGVuZGVkIHRvIGJlIG9yIHdhcyBpbnRyb2R1Y2VkIGludG8gb3Igb24gdGhlIGJvZHkuICBUaGlzIGF0dHJpYnV0ZSB3aWxsIG1vc3Qgb2Z0ZW4gTk9UIGJlIHBvcHVsYXRlZC4gIEl0IGlzIG1vc3QgY29tbW9ubHkgdXNlZCBmb3IgaW5qZWN0aW9ucy4gIEZvciBleGFtcGxlLCBTbG93IFB1c2gsIERlZXAgSVYuIiBjb21tZW50PSJPbmUgb2YgdGhlIHJlYXNvbnMgdGhpcyBhdHRyaWJ1dGUgaXMgbm90IHVzZWQgb2Z0ZW4sIGlzIHRoYXQgdGhlIG1ldGhvZCBpcyBvZnRlbiBwcmUtY29vcmRpbmF0ZWQgd2l0aCB0aGUgcm91dGUgYW5kL29yIGZvcm0gb2YgYWRtaW5pc3RyYXRpb24uICBUaGlzIG1lYW5zIHRoZSBjb2RlcyB1c2VkIGluIHJvdXRlIG9yIGZvcm0gbWF5IHByZS1jb29yZGluYXRlIHRoZSBtZXRob2QgaW4gdGhlIHJvdXRlIGNvZGUgb3IgdGhlIGZvcm0gY29kZS4gIFRoZSBpbXBsZW1lbnRhdGlvbiBkZWNpc2lvbiBhYm91dCB3aGF0IGNvZGluZyBzeXN0ZW0gdG8gdXNlIGZvciByb3V0ZSBvciBmb3JtIGNvZGUgd2lsbCBkZXRlcm1pbmUgaG93IGZyZXF1ZW50bHkgdGhlIG1ldGhvZCBjb2RlIHdpbGwgYmUgcG9wdWxhdGVkIGUuZy4gaWYgcm91dGUgb3IgZm9ybSBjb2RlIHByZS1jb29yZGluYXRlIG1ldGhvZCBjb2RlLCB0aGVuIHRoaXMgYXR0cmlidXRlIHdpbGwgbm90IGJlIHBvcHVsYXRlZCBvZnRlbjsgaWYgdGhlcmUgaXMgbm8gcHJlLWNvb3JkaW5hdGlvbiB0aGVuIG1ldGhvZCBjb2RlIG1heSAgYmUgdXNlZCBmcmVxdWVudGx5LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHRoZSB0ZWNobmlxdWUgYnkgd2hpY2ggdGhlIG1lZGljaW5lIGlzIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIG1lZGljYXRpb24gcGVyIGRvc2UiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb2YgdGhlIG1lZGljYXRpb24gZ2l2ZW4gYXQgb25lIGFkbWluaXN0cmF0aW9uIGV2ZW50LiAgIFVzZSB0aGlzIHZhbHVlIHdoZW4gdGhlIGFkbWluaXN0cmF0aW9uIGlzIGVzc2VudGlhbGx5IGFuIGluc3RhbnRhbmVvdXMgZXZlbnQgc3VjaCBhcyBhIHN3YWxsb3dpbmcgYSB0YWJsZXQgb3IgZ2l2aW5nIGFuIGluamVjdGlvbi4iIGNvbW1lbnQ9IklmIHRoZSBhZG1pbmlzdHJhdGlvbiBpcyBub3QgaW5zdGFudGFuZW91cyAocmF0ZSBpcyBwcmVzZW50KSwgdGhpcyBjYW4gYmUgc3BlY2lmaWVkIHRvIGNvbnZleSB0aGUgdG90YWwgYW1vdW50IGFkbWluaXN0ZXJlZCBvdmVyIHBlcmlvZCBvZiB0aW1lIG9mIGEgc2luZ2xlIGFkbWluaXN0cmF0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJhdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRG9zZSBxdWFudGl0eSBwZXIgdW5pdCBvZiB0aW1lIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBzcGVlZCB3aXRoIHdoaWNoIHRoZSBtZWRpY2F0aW9uIHdhcyBvciB3aWxsIGJlIGludHJvZHVjZWQgaW50byB0aGUgcGF0aWVudC4gIFR5cGljYWxseSwgdGhlIHJhdGUgZm9yIGFuIGluZnVzaW9uIGUuZy4gMTAwIG1sIHBlciAxIGhvdXIgb3IgMTAwIG1sL2hyLiAgTWF5IGFsc28gYmUgZXhwcmVzc2VkIGFzIGEgcmF0ZSBwZXIgdW5pdCBvZiB0aW1lLCBlLmcuIDUwMCBtbCBwZXIgMiBob3Vycy4gIE90aGVyIGV4YW1wbGVzOiAgMjAwIG1jZy9taW4gb3IgMjAwIG1jZy8xIG1pbnV0ZTsgMSBsaXRlci84IGhvdXJzLiIgY29tbWVudD0iSWYgdGhlIHJhdGUgY2hhbmdlcyBvdmVyIHRpbWUsIGFuZCB5b3Ugd2FudCB0byBjYXB0dXJlIHRoaXMgaW4gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLCB0aGVuIGVhY2ggY2hhbmdlIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBhIGRpc3RpbmN0IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiwgd2l0aCBhIHNwZWNpZmljIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5kb3NhZ2UucmF0ZSwgYW5kIHRoZSBkYXRlIHRpbWUgd2hlbiB0aGUgcmF0ZSBjaGFuZ2Ugb2NjdXJyZWQuIFR5cGljYWxseSwgdGhlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5kb3NhZ2UucmF0ZSBlbGVtZW50IGlzIG5vdCB1c2VkIHRvIGNvbnZleSBhbiBhdmVyYWdlIHJhdGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5QZXJmb3JtZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHBlcmZvcm1hbmNlIiBkZWZpbml0aW9uPSJEaXN0aW5ndWlzaGVzIHRoZSB0eXBlIG9mIGludm9sdmVtZW50IG9mIHRoZSBwZXJmb3JtZXIgaW4gdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uUGVyZm9ybWVyRnVuY3Rpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB0aGUgcm9sZSBhbiBpbmRpdmlkdWFsIHBsYXllZCBpbiBhZG1pbmlzdGVyaW5nIHRoZSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbi4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbk5vdERvbmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25hZG1pbmlzdHJhdGlvbm5vdGRvbmUiIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIE5vdCBEb25lIiB0YXJnZXQ9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0ibWVkaWNhdGlvbiIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTm90RG9uZVJlY29yZGVkIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcmVjb3JkZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFeHRlbnNpb24iIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWNvcmRlZCBkYXRlIG9mIHRoZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iQSBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCwgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IHdhcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBldmVudCBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGluLXByb2dyZXNzIHwgbm90LWRvbmUgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCB1bmtub3duIiBkZWZpbml0aW9uPSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBhZG1pbmlzdHJhdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQuICBGb3Igc29tZSBsb25nIHJ1bm5pbmcgYWRtaW5pc3RyYXRpb25zIHN1Y2ggYXMgaW5mdXNpb25zLCBpdCBpcyBwb3NzaWJsZSBmb3IgYW4gYWRtaW5pc3RyYXRpb24gdG8gYmUgc3RhcnRlZCBidXQgbm90IGNvbXBsZXRlZCBvciBpdCBtYXkgYmUgcGF1c2VkIHdoaWxlIHNvbWUgb3RoZXIgcHJvY2VzcyBpcyB1bmRlciB3YXkuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBzZXQgb2YgY29kZXMgaW5kaWNhdGluZyB0aGUgY3VycmVudCBzdGF0dXMgb2YgYSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFJlYXNvbiBhZG1pbmlzdHJhdGlvbiBub3QgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIGFkbWluaXN0cmF0aW9uIHdhcyBub3QgcGVyZm9ybWVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgZXZlbnQgZGlkIG5vdCBvY2N1ciBvciB3YXMgbm90IHBlcmZvcm1lZCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZCBpcyBleHBlY3RlZCB0byBvY2N1ci4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50Lm1lZGljYXRpb25beF0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoYXQgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIFRoaXMgaXMgZWl0aGVyIGEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgZGV0YWlscyBvZiB0aGUgbWVkaWNhdGlvbiBvciBhIHNpbXBsZSBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBtZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciwgdGhlbiB5b3UgbXVzdCByZWZlcmVuY2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgc2V0IG9mIFJ4Tm9ybSBjb2RlcyB0byByZXByZXNlbnQgbWVkaWNhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIHJlY2VpdmVkIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24gb3IgYW5pbWFsIG9yIGdyb3VwIHJlY2VpdmluZyB0aGUgbWVkaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFbmNvdW50ZXIgb3IgRXBpc29kZSBvZiBDYXJlIGFkbWluaXN0ZXJlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgdmlzaXQsIGFkbWlzc2lvbiwgb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIGR1cmluZyB3aGljaCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdG8gc3VwcG9ydCBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgU3RhcnQgYW5kIGVuZCB0aW1lIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJBIHNwZWNpZmljIGRhdGUvdGltZSBvciBpbnRlcnZhbCBvZiB0aW1lIGR1cmluZyB3aGljaCB0aGUgYWRtaW5pc3RyYXRpb24gdG9vayBwbGFjZSAob3IgZGlkIG5vdCB0YWtlIHBsYWNlLCB3aGVuIHRoZSAnbm90R2l2ZW4nIGF0dHJpYnV0ZSBpcyB0cnVlKS4gRm9yIG1hbnkgYWRtaW5pc3RyYXRpb25zLCBzdWNoIGFzIHN3YWxsb3dpbmcgYSB0YWJsZXQgdGhlIHVzZSBvZiBkYXRlVGltZSBpcyBtb3JlIGFwcHJvcHJpYXRlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIHdoYXQgdGhleSBkaWQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIGhvdyB0aGV5IHdlcmUgaW52b2x2ZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uUGVyZm9ybWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gYWRtaW5pc3RyYXRpb24gcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGdpdmVuLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIHNldCBvZiBjb2RlcyBpbmRpY2F0aW5nIHRoZSByZWFzb24gd2h5IHRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gd2FzIG1hZGUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQ29uZGl0aW9uIG9yIG9ic2VydmF0aW9uIHRoYXQgc3VwcG9ydHMgd2h5IHRoZSBtZWRpY2F0aW9uIHdhcyBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29uZGl0aW9uIHRoYXQgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIG1lZGljYXRpb24gcmVxdWVzdC4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVxdWVzdCBhZG1pbmlzdHJhdGlvbiBwZXJmb3JtZWQgYWdhaW5zdCIgZGVmaW5pdGlvbj0iVGhlIG9yaWdpbmFsIHJlcXVlc3QsIGluc3RydWN0aW9uIG9yIGF1dGhvcml0eSB0byBwZXJmb3JtIHRoZSBhZG1pbmlzdHJhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gdGhlIE1lZGljYXRpb25SZXF1ZXN0ICB3aGVyZSB0aGUgaW50ZW50IGlzIGVpdGhlciBvcmRlciBvciBpbnN0YW5jZS1vcmRlci4gIEl0IHNob3VsZCBub3QgcmVmZXJlbmNlIE1lZGljYXRpb25SZXF1ZXN0cyB3aGVyZSB0aGUgaW50ZW50IGlzIGFueSBvdGhlciB2YWx1ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdXNlZCB0byBhZG1pbmlzdGVyIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgaW4gYWRtaW5pc3RlcmluZyB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4gIEZvciBleGFtcGxlLCBhIHBhcnRpY3VsYXIgaW5mdXNpb24gcHVtcC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgdGhlIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB0aGF0IGlzIG5vdCBjb252ZXllZCBieSB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5Eb3NhZ2UiIGRlc2NyaXB0aW9uPSJEZXRhaWxzIG9mIGhvdyBtZWRpY2F0aW9uIHdhcyB0YWtlbiIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBtZWRpY2F0aW9uIGRvc2FnZSBpbmZvcm1hdGlvbiBkZXRhaWxzIGUuZy4gZG9zZSwgcmF0ZSwgc2l0ZSwgcm91dGUsIGV0Yy4iPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJtYWQtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJTSEFMTCBoYXZlIGF0IGxlYXN0IG9uZSBvZiBkb3NhZ2UuZG9zZSBvciBkb3NhZ2UucmF0ZVt4XSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iZG9zZS5leGlzdHMoKSBvciByYXRlLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJBIHN1bW1hcnkgb2YgdGhlIGV2ZW50cyBvZiBpbnRlcmVzdCB0aGF0IGhhdmUgb2NjdXJyZWQsIHN1Y2ggYXMgd2hlbiB0aGUgYWRtaW5pc3RyYXRpb24gd2FzIHZlcmlmaWVkLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbWVkaWNhdGlvbmRpc3BlbnNlIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25EaXNwZW5zZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0ibWVkaWNhdGlvbiIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkZW50aWZpZXIiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIE1lZGljYXRpb24gRGlzcGVuc2UgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJFdmVudCB0aGF0IGRpc3BlbnNlIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBwcm9jZWR1cmUgdGhhdCB0cmlnZ2VyIHRoZSBkaXNwZW5zZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgcHJlcGFyYXRpb27igIsgfCBpbi1wcm9ncmVzc+KAiyB8IGNhbmNlbGxlZOKAiyB8IG9uLWhvbGTigIsgfCBjb21wbGV0ZWTigIsgfCBlbnRlcmVkLWluLWVycm9y4oCLIHwgc3RvcHBlZOKAiyB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgc2V0IG9mIGRpc3BlbnNlIGV2ZW50cy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgYSBkaXNwZW5zZSB3YXMgbm90IHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gd2h5IGEgZGlzcGVuc2Ugd2FzIG5vdCBwZXJmb3JtZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB3aHkgYSBkaXNwZW5zZSB3YXMgbm90IHBlcmZvcm1lZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIGRpc3BlbnNlIChmb3IgZXhhbXBsZSwgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkIChpLmUuIGlucGF0aWVudCBvciBvdXRwYXRpZW50KSkuIiBjb21tZW50PSJUaGUgY2F0ZWdvcnkgY2FuIGJlIHVzZWQgdG8gaW5jbHVkZSB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBvdGhlciB0eXBlcyBvZiBkaXNwZW5zZXMuICBJbnZhcmlhbnRzIGNhbiBiZSB1c2VkIHRvIGJpbmQgdG8gZGlmZmVyZW50IHZhbHVlIHNldHMgd2hlbiBwcm9maWxpbmcgdG8gYmluZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2VDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZSBkZXNjcmliaW5nIHdoZXJlIHRoZSBkaXNwZW5zZWQgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGljYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGF0IG1lZGljYXRpb24gd2FzIHN1cHBsaWVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHNldCBvZiBSeE5vcm0gY29kZXMgdG8gcmVwcmVzZW50IG1lZGljYXRpb25zIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIHRoZSBkaXNwZW5zZSBpcyBmb3IiIGRlZmluaXRpb249IkEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgcGVyc29uIG9yIHRoZSBncm91cCB0byB3aG9tIHRoZSBtZWRpY2F0aW9uIHdpbGwgYmUgZ2l2ZW4uIiBjb21tZW50PSJTdWJzdGFuY2VBZG1pbmlzdHJhdGlvbi0mZ3Q7c3ViamVjdC0mZ3Q7UGF0aWVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGV4dCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgLyBFcGlzb2RlIGFzc29jaWF0ZWQgd2l0aCBldmVudCIgZGVmaW5pdGlvbj0iVGhlIGVuY291bnRlciBvciBlcGlzb2RlIG9mIGNhcmUgdGhhdCBlc3RhYmxpc2hlcyB0aGUgY29udGV4dCBmb3IgdGhpcyBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mb3JtYXRpb24iIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBkaXNwZW5zaW5nIG9mIHRoZSBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgc3VwcG9ydHMgdGhlIG1lZGljYXRpb24gYmVpbmcgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlBlcmZvcm1lciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgZGlzcGVuc2Ugb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBwcmluY2lwYWwgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIGRpc3BlbnNlIHdhcyBwZXJmb3JtZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXppbmdQcmVzY3JpcHRpb24iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIE1lZGljYXRpb24gb3JkZXIgdGhhdCBhdXRob3JpemVzIHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHRoYXQgaXMgYmVpbmcgZGlzcGVuc2VkIGFnYWluc3QuIiBjb21tZW50PSJNYXBzIHRvIGJhc2VkT24gaW4gRXZlbnQgbG9naWNhbCBtb2RlbC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUcmlhbCBmaWxsLCBwYXJ0aWFsIGZpbGwsIGVtZXJnZW5jeSBmaWxsLCBldGMuIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZGlzcGVuc2luZyBldmVudCB0aGF0IGlzIHBlcmZvcm1lZC4gRm9yIGV4YW1wbGUsIFRyaWFsIEZpbGwsIENvbXBsZXRpb24gb2YgVHJpYWwsIFBhcnRpYWwgRmlsbCwgRW1lcmdlbmN5IEZpbGwsIFNhbXBsZXMsIGV0Yy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBbW91bnQgZGlzcGVuc2VkIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gdGhhdCBoYXMgYmVlbiBkaXNwZW5zZWQuIEluY2x1ZGVzIHVuaXQgb2YgbWVhc3VyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXlzU3VwcGx5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBbW91bnQgb2YgbWVkaWNhdGlvbiBleHByZXNzZWQgYXMgYSB0aW1pbmcgYW1vdW50IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gZXhwcmVzc2VkIGFzIGEgdGltaW5nIGFtb3VudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuUHJlcGFyZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoZSBkaXNwZW5zZWQgcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkLiIgY29tbWVudD0iV2hlbiB1c2VkIGFzIHBhcnQgb2YgYSBjdW11bGF0aXZlIG1lZGljYXRpb24gZHVyYXRpb24gY2FsY3VsYXRpb24sIHRoZSB3aGVuUHJlcGFyZWQgZWxlbWVudCBpcyB1c2VkIGlmIHdoZW5IYW5kZWRPdmVyIGlzIG5vdCBhdmFpbGFibGUgdG8gZGV0ZXJtaW5lIGEgc3RhcnRpbmcgcG9pbnQgZm9yIHRoZSBwZXJpb2QgY292ZXJlZCBieSB0aGUgZGlzcGVuc2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0id2hlbkhhbmRlZE92ZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHByb2R1Y3Qgd2FzIGdpdmVuIG91dCBvciBtYWlsZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHByb2R1Y3Qgd2FzIGdpdmVuIG91dC4gRm9yIG1haWxlZCBwcmVzY3JpcHRpb25zLCB3aGVuIHRoZSBsYWJlbCB3YXMgcHJpbnRlZCIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXN0aW5hdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgbWVkaWNhdGlvbiB3YXMgc2VudCIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIGZhY2lsaXR5L2xvY2F0aW9uIHdoZXJlIHRoZSBtZWRpY2F0aW9uIHdhcyBzaGlwcGVkIHRvLCBhcyBwYXJ0IG9mIHRoZSBkaXNwZW5zZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNlaXZlciIgZGVzY3JpcHRpb249IldobyBjb2xsZWN0ZWQgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHBlcnNvbiB3aG8gcGlja2VkIHVwIHRoZSBtZWRpY2F0aW9uLiAgVGhpcyB3aWxsIHVzdWFsbHkgYmUgYSBwYXRpZW50IG9yIHRoZWlyIGNhcmVnaXZlciwgYnV0IHNvbWUgY2FzZXMgZXhpc3Qgd2hlcmUgaXQgY2FuIGJlIGEgaGVhbHRoY2FyZSBwcm9mZXNzaW9uYWwuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGFib3V0IHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRpc3BlbnNlIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGluIHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQgb3IgYWRtaW5pc3RlcmVkIGJ5IHRoZSBjYXJlZ2l2ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IldoZW4gdGhlIGRvc2Ugb3IgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aGUgZW50aXJlIGFkbWluaXN0cmF0aW9uIHBlcmlvZCAoZS5nLiBUYXBlcmluZyBkb3NlIHByZXNjcmlwdGlvbnMpLCBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgZG9zYWdlIGluc3RydWN0aW9ucyB3aWxsIG5lZWQgdG8gYmUgc3VwcGxpZWQgdG8gY29udmV5IHRoZSBkaWZmZXJlbnQgZG9zZXMvcmF0ZXMuJiMxMztUaGUgcGhhcm1hY2lzdCByZXZpZXdzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHByaW9yIHRvIGRpc3BlbnNlIGFuZCB1cGRhdGVzIHRoZSBkb3NhZ2VJbnN0cnVjdGlvbiBiYXNlZCBvbiB0aGUgYWN0dWFsIHByb2R1Y3QgYmVpbmcgZGlzcGVuc2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGl0dXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IldoZXRoZXIgYSBzdWJzdGl0dXRpb24gd2FzIHBlcmZvcm1lZCBvbiB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gd2FzIG1hZGUgYXMgcGFydCBvZiB0aGUgZGlzcGVuc2UuICBJbiBzb21lIGNhc2VzLCBzdWJzdGl0dXRpb24gd2lsbCBiZSBleHBlY3RlZCBidXQgZG9lcyBub3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gaXMgbm90IGV4cGVjdGVkIGJ1dCBkb2VzIGhhcHBlbi4gIFRoaXMgYmxvY2sgZXhwbGFpbnMgd2hhdCBzdWJzdGl0dXRpb24gZGlkIG9yIGRpZCBub3QgaGFwcGVuIGFuZCB3aHkuICBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCwgc3Vic3RpdHV0aW9uIHdhcyBub3QgZG9uZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgaXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIGRydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIHJlbGV2YW50IGxpZmVjeWNsZSBldmVudHMiIGRlZmluaXRpb249IkEgc3VtbWFyeSBvZiB0aGUgZXZlbnRzIG9mIGludGVyZXN0IHRoYXQgaGF2ZSBvY2N1cnJlZCwgc3VjaCBhcyB3aGVuIHRoZSBkaXNwZW5zZSB3YXMgdmVyaWZpZWQuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2VpdmVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNlaXZlciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlLlBlcmZvcm1lciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuY3Rpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIGRpc3BlbnNlIGFuZCB3aGF0IHRoZXkgZGlkIiBkZWZpbml0aW9uPSJEaXN0aW5ndWlzaGVzIHRoZSB0eXBlIG9mIHBlcmZvcm1lciBpbiB0aGUgZGlzcGVuc2UuICBGb3IgZXhhbXBsZSwgZGF0ZSBlbnRlcmVyLCBwYWNrYWdlciwgZmluYWwgY2hlY2tlci4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2VQZXJmb3JtZXJGdW5jdGlvbiIgZGVzY3JpcHRpb249IkEgY29kZSBkZXNjcmliaW5nIHRoZSByb2xlIGFuIGluZGl2aWR1YWwgcGxheWVkIGluIGRpc3BlbnNpbmcgYSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJbmRpdmlkdWFsIHdobyB3YXMgcGVyZm9ybWluZyIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSwgcHJhY3RpdGlvbmVyLCBldGMuIHdobyBwZXJmb3JtZWQgdGhlIGFjdGlvbi4gIEl0IHNob3VsZCBiZSBhc3N1bWVkIHRoYXQgdGhlIGFjdG9yIGlzIHRoZSBkaXNwZW5zZXIgb2YgdGhlIG1lZGljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlLlN1YnN0aXR1dGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0id2FzU3Vic3RpdHV0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIGEgc3Vic3RpdHV0aW9uIHdhcyBvciB3YXMgbm90IHBlcmZvcm1lZCBvbiB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IlRydWUgaWYgdGhlIGRpc3BlbnNlciBkaXNwZW5zZWQgYSBkaWZmZXJlbnQgZHJ1ZyBvciBwcm9kdWN0IGZyb20gd2hhdCB3YXMgcHJlc2NyaWJlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIHNpZ25pZnlpbmcgd2hldGhlciBhIGRpZmZlcmVudCBkcnVnIHdhcyBkaXNwZW5zZWQgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkIiBkZWZpbml0aW9uPSJBIGNvZGUgc2lnbmlmeWluZyB3aGV0aGVyIGEgZGlmZmVyZW50IGRydWcgd2FzIGRpc3BlbnNlZCBmcm9tIHdoYXQgd2FzIHByZXNjcmliZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkludGVuZGVkU3Vic3RpdHV0aW9uVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXRoZXIgYSBkaWZmZXJlbnQgbWVkaWNpbmFsIHByb2R1Y3QgbWF5IGJlIGRpc3BlbnNlZCBvdGhlciB0aGFuIHRoZSBwcm9kdWN0IGFzIHNwZWNpZmllZCBleGFjdGx5IGluIHRoZSBwcmVzY3JpcHRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIHN1YnN0aXR1dGlvbiBtYWRlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiBmb3IgdGhlIHN1YnN0aXR1dGlvbiAob3IgbGFjayBvZiBzdWJzdGl0dXRpb24pIGZyb20gd2hhdCB3YXMgcHJlc2NyaWJlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkludGVuZGVkU3Vic3RpdHV0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHJlYXNvbiB0aGF0IGEgZGlmZmVyZW50IG1lZGljYXRpb24gc2hvdWxkIChvciBzaG91bGQgbm90KSBiZSBzdWJzdGl0dXRlZCBmcm9tIHdoYXQgd2FzIHByZXNjcmliZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXNwb25zaWJsZVBhcnR5IiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgc3Vic3RpdHV0aW9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiB0aGF0IGhhcyBwcmltYXJ5IHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgc3Vic3RpdHV0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlRGVjbGluZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25kaXNwZW5zZWRlY2xpbmVkIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25EaXNwZW5zZSBEZWNsaW5lZCIgdGFyZ2V0PSJNZWRpY2F0aW9uRGlzcGVuc2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVkIiBlbGVtZW50VHlwZT0iUUlDb3JlLk5vdERvbmVSZWNvcmRlZCIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXJlY29yZGVkJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVjb3JkZWQgZGF0ZSBvZiB0aGUgZXZlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkZW50aWZpZXIiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIE1lZGljYXRpb24gRGlzcGVuc2UgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJFdmVudCB0aGF0IGRpc3BlbnNlIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBwcm9jZWR1cmUgdGhhdCB0cmlnZ2VyIHRoZSBkaXNwZW5zZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgcHJlcGFyYXRpb24gfCBpbi1wcm9ncmVzcyB8IGNhbmNlbGxlZCB8IG9uLWhvbGQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgc3RvcHBlZCB8IGRlY2xpbmVkIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBzZXQgb2YgZGlzcGVuc2UgZXZlbnRzLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2h5IGEgZGlzcGVuc2Ugd2FzIG5vdCBwZXJmb3JtZWQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHdoeSBhIGRpc3BlbnNlIHdhcyBub3QgcGVyZm9ybWVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIHRoZSBldmVudCBkaWQgbm90IG9jY3VyIG9yIHdhcyBub3QgcGVyZm9ybWVkIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBtZWRpY2F0aW9uIGRpc3BlbnNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgbWVkaWNhdGlvbiBkaXNwZW5zZSAoZm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCAoaS5lLiBpbnBhdGllbnQgb3Igb3V0cGF0aWVudCkpLiIgY29tbWVudD0iVGhlIGNhdGVnb3J5IGNhbiBiZSB1c2VkIHRvIGluY2x1ZGUgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3Igb3RoZXIgdHlwZXMgb2YgZGlzcGVuc2VzLiAgSW52YXJpYW50cyBjYW4gYmUgdXNlZCB0byBiaW5kIHRvIGRpZmZlcmVudCB2YWx1ZSBzZXRzIHdoZW4gcHJvZmlsaW5nIHRvIGJpbmQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB3aGVyZSB0aGUgZGlzcGVuc2VkIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hhdCBtZWRpY2F0aW9uIHdhcyBzdXBwbGllZCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBiZWluZyBhZG1pbmlzdGVyZWQuIFRoaXMgaXMgZWl0aGVyIGEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgZGV0YWlscyBvZiB0aGUgbWVkaWNhdGlvbiBvciBhIHNpbXBsZSBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBtZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciwgdGhlbiB5b3UgbXVzdCByZWZlcmVuY2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSBzZXQgb2YgUnhOb3JtIGNvZGVzIHRvIHJlcHJlc2VudCBtZWRpY2F0aW9ucyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyB0aGUgZGlzcGVuc2UgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciB0aGUgZ3JvdXAgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iU3Vic3RhbmNlQWRtaW5pc3RyYXRpb24tJmd0O3N1YmplY3QtJmd0O1BhdGllbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRleHQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIC8gRXBpc29kZSBhc3NvY2lhdGVkIHdpdGggZXZlbnQiIGRlZmluaXRpb249IlRoZSBlbmNvdW50ZXIgb3IgZXBpc29kZSBvZiBjYXJlIHRoYXQgZXN0YWJsaXNoZXMgdGhlIGNvbnRleHQgZm9yIHRoaXMgZXZlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gdGhhdCBzdXBwb3J0cyB0aGUgZGlzcGVuc2luZyBvZiB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBwZXJmb3JtZWQgZXZlbnQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIGV2ZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25EaXNwZW5zZS5QZXJmb3JtZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIGRpc3BlbnNlIG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgcHJpbmNpcGFsIHBoeXNpY2FsIGxvY2F0aW9uIHdoZXJlIHRoZSBkaXNwZW5zZSB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcml6aW5nUHJlc2NyaXB0aW9uIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBNZWRpY2F0aW9uIG9yZGVyIHRoYXQgYXV0aG9yaXplcyB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVkaWNhdGlvbiBvcmRlciB0aGF0IGlzIGJlaW5nIGRpc3BlbnNlZCBhZ2FpbnN0LiIgY29tbWVudD0iTWFwcyB0byBiYXNlZE9uIGluIEV2ZW50IGxvZ2ljYWwgbW9kZWwuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVHJpYWwgZmlsbCwgcGFydGlhbCBmaWxsLCBlbWVyZ2VuY3kgZmlsbCwgZXRjLiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIGRpc3BlbnNpbmcgZXZlbnQgdGhhdCBpcyBwZXJmb3JtZWQuIEZvciBleGFtcGxlLCBUcmlhbCBGaWxsLCBDb21wbGV0aW9uIG9mIFRyaWFsLCBQYXJ0aWFsIEZpbGwsIEVtZXJnZW5jeSBGaWxsLCBTYW1wbGVzLCBldGMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQW1vdW50IGRpc3BlbnNlZCIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiBtZWRpY2F0aW9uIHRoYXQgaGFzIGJlZW4gZGlzcGVuc2VkLiBJbmNsdWRlcyB1bml0IG9mIG1lYXN1cmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF5c1N1cHBseSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBleHByZXNzZWQgYXMgYSB0aW1pbmcgYW1vdW50IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gZXhwcmVzc2VkIGFzIGEgdGltaW5nIGFtb3VudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuUHJlcGFyZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBwcm9kdWN0IHdhcyBwYWNrYWdlZCBhbmQgcmV2aWV3ZWQiIGRlZmluaXRpb249IlRoZSB0aW1lIHdoZW4gdGhlIGRpc3BlbnNlZCBwcm9kdWN0IHdhcyBwYWNrYWdlZCBhbmQgcmV2aWV3ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0id2hlbkhhbmRlZE92ZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaGVuIHByb2R1Y3Qgd2FzIGdpdmVuIG91dCBvciBtYWlsZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHByb2R1Y3Qgd2FzIGdpdmVuIG91dC4gRm9yIG1haWxlZCBwcmVzY3JpcHRpb25zLCB3aGVuIHRoZSBsYWJlbCB3YXMgcHJpbnRlZCIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXN0aW5hdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgbWVkaWNhdGlvbiB3YXMgc2VudCIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIGZhY2lsaXR5L2xvY2F0aW9uIHdoZXJlIHRoZSBtZWRpY2F0aW9uIHdhcyBzaGlwcGVkIHRvLCBhcyBwYXJ0IG9mIHRoZSBkaXNwZW5zZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNlaXZlciIgZGVzY3JpcHRpb249IldobyBjb2xsZWN0ZWQgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHBlcnNvbiB3aG8gcGlja2VkIHVwIHRoZSBtZWRpY2F0aW9uLiAgVGhpcyB3aWxsIHVzdWFsbHkgYmUgYSBwYXRpZW50IG9yIHRoZWlyIGNhcmVnaXZlciwgYnV0IHNvbWUgY2FzZXMgZXhpc3Qgd2hlcmUgaXQgY2FuIGJlIGEgaGVhbHRoY2FyZSBwcm9mZXNzaW9uYWwuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGFib3V0IHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRpc3BlbnNlIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGluIHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IihVU0NESSkgSG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQgb3IgYWRtaW5pc3RlcmVkIGJ5IHRoZSBjYXJlZ2l2ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IldoZW4gdGhlIGRvc2Ugb3IgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aGUgZW50aXJlIGFkbWluaXN0cmF0aW9uIHBlcmlvZCAoZS5nLiBUYXBlcmluZyBkb3NlIHByZXNjcmlwdGlvbnMpLCBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgZG9zYWdlIGluc3RydWN0aW9ucyB3aWxsIG5lZWQgdG8gYmUgc3VwcGxpZWQgdG8gY29udmV5IHRoZSBkaWZmZXJlbnQgZG9zZXMvcmF0ZXMuJiMxMztUaGUgcGhhcm1hY2lzdCByZXZpZXdzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHByaW9yIHRvIGRpc3BlbnNlIGFuZCB1cGRhdGVzIHRoZSBkb3NhZ2VJbnN0cnVjdGlvbiBiYXNlZCBvbiB0aGUgYWN0dWFsIHByb2R1Y3QgYmVpbmcgZGlzcGVuc2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGl0dXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IldoZXRoZXIgYSBzdWJzdGl0dXRpb24gd2FzIHBlcmZvcm1lZCBvbiB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gd2FzIG1hZGUgYXMgcGFydCBvZiB0aGUgZGlzcGVuc2UuICBJbiBzb21lIGNhc2VzLCBzdWJzdGl0dXRpb24gd2lsbCBiZSBleHBlY3RlZCBidXQgZG9lcyBub3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gaXMgbm90IGV4cGVjdGVkIGJ1dCBkb2VzIGhhcHBlbi4gIFRoaXMgYmxvY2sgZXhwbGFpbnMgd2hhdCBzdWJzdGl0dXRpb24gZGlkIG9yIGRpZCBub3QgaGFwcGVuIGFuZCB3aHkuICBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCwgc3Vic3RpdHV0aW9uIHdhcyBub3QgZG9uZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgaXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIGRydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIHJlbGV2YW50IGxpZmVjeWNsZSBldmVudHMiIGRlZmluaXRpb249IkEgc3VtbWFyeSBvZiB0aGUgZXZlbnRzIG9mIGludGVyZXN0IHRoYXQgaGF2ZSBvY2N1cnJlZCwgc3VjaCBhcyB3aGVuIHRoZSBkaXNwZW5zZSB3YXMgdmVyaWZpZWQuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25Ob3RSZXF1ZXN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25ub3RyZXF1ZXN0ZWQiIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvbiBOb3QgUmVxdWVzdGVkIiB0YXJnZXQ9Ik1lZGljYXRpb25SZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJtZWRpY2F0aW9uIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRzIGZvciB0aGlzIHJlcXVlc3QiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1lZGljYXRpb24gcmVxdWVzdCB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBhY3RpdmUgfCBvbi1ob2xkIHwgY2FuY2VsbGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCBkcmFmdCB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBvcmRlci4gIEdlbmVyYWxseSwgdGhpcyB3aWxsIGJlIGFjdGl2ZSBvciBjb21wbGV0ZWQgc3RhdGUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHByZXNjcmliaW5nIGV2ZW50LiBEZXNjcmliZXMgdGhlIGxpZmVjeWNsZSBvZiB0aGUgcHJlc2NyaXB0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIE1lZGljYXRpb25SZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7Y2FuY2VsbGVkJnF1b3Q7LiBUaGUgcmVhc29uIHdoeSB0aGUgTWVkaWNhdGlvblJlcXVlc3Qgd2FzIGNyZWF0ZWQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcmVhc29ucyBmb3IgYSBnaXZlbiBzdGF0dXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIG9yIGFuIG9yaWdpbmFsIG9yZGVyLiIgY29tbWVudD0iSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgdHlwZSBvZiByZXF1ZXN0ZXIgd2lsbCBiZSByZXN0cmljdGVkIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIGEgTWVkaWNhdGlvblJlcXVlc3QuICBGb3IgZXhhbXBsZSwgUHJvcG9zYWxzIGNhbiBiZSBjcmVhdGVkIGJ5IGEgcGF0aWVudCwgcmVsYXRlZFBlcnNvbiwgUHJhY3RpdGlvbmVyIG9yIERldmljZS4gIFBsYW5zIGNhbiBiZSBjcmVhdGVkIGJ5IFByYWN0aXRpb25lcnMsIFBhdGllbnRzLCBSZWxhdGVkUGVyc29ucyBhbmQgRGV2aWNlcy4gIE9yaWdpbmFsIG9yZGVycyBjYW4gYmUgY3JlYXRlZCBieSBhIFByYWN0aXRpb25lciBvbmx5LiYjMTM7JiMxMztBbiBpbnN0YW5jZS1vcmRlciBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIGEgcmVxdWVzdCBvciBvcmRlciBhbmQgbWF5IGJlIHVzZWQgdG8gcG9wdWxhdGUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiBSZWNvcmQuJiMxMzsmIzEzO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgaW50ZW50IGFsdGVycyB3aGVuIGFuZCBob3cgdGhlIHJlc291cmNlIGlzIGFjdHVhbGx5IGFwcGxpY2FibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBtZWRpY2F0aW9uIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpZGVudGlmeWluZyB0aGUgY2F0ZWdvcnkgb2YgbWVkaWNhdGlvbiByZXF1ZXN0LiAgRm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCwgb3IgdGhlIHR5cGUgb2YgbWVkaWNhdGlvbiB0cmVhdG1lbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1cy1jb3JlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIG1lZGljYXRpb24gb3JkZXIuIE5vdGUgdGhhdCBvdGhlciBjb2RlcyBhcmUgcGVybWl0dGVkLCBzZWUgW1JlcXVpcmVkIEJpbmRpbmdzIFdoZW4gU2xpY2luZyBieSBWYWx1ZSBTZXRzXShodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvZ2VuZXJhbC1yZXF1aXJlbWVudHMuaHRtbCNyZXF1aXJlZC1iaW5kaW5ncy13aGVuLXNsaWNpbmctYnktdmFsdWVzZXRzKSIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIE1lZGljYXRpb24gUmVxdWVzdCBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdFByaW9yaXR5IiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgbGV2ZWwgb2YgaW1wb3J0YW5jZSB0byBiZSBhc3NpZ25lZCB0byBhY3Rpb25pbmcgdGhlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRydWUgaWYgbWVkaWNhdGlvbiB3YXMgbm90IHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iSWYgdHJ1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvdmlkZXIgaXMgYXNraW5nIGZvciB0aGUgbWVkaWNhdGlvbiByZXF1ZXN0IG5vdCB0byBvY2N1ci4iIGNvbW1lbnQ9IklmIGRvIG5vdCBwZXJmb3JtIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSByZXF1ZXN0IGlzIGEgcG9zaXRpdmUgcmVxdWVzdCBlLmcuICZxdW90O2RvIHBlcmZvcm0mcXVvdDsuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0ZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBSZXBvcnRlZCByYXRoZXIgdGhhbiBwcmltYXJ5IHJlY29yZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGlmIHRoaXMgcmVjb3JkIHdhcyBjYXB0dXJlZCBhcyBhIHNlY29uZGFyeSAncmVwb3J0ZWQnIHJlY29yZCByYXRoZXIgdGhhbiBhcyBhbiBvcmlnaW5hbCBwcmltYXJ5IHNvdXJjZS1vZi10cnV0aCByZWNvcmQuICBJdCBtYXkgYWxzbyBpbmRpY2F0ZSB0aGUgc291cmNlIG9mIHRoZSByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGljYXRpb24iIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5tZWRpY2F0aW9uW3hdLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgTWVkaWNhdGlvbiB0byBiZSB0YWtlbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBiZWluZyByZXF1ZXN0ZWQuIFRoaXMgaXMgYSBsaW5rIHRvIGEgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIHRoZSBtZWRpY2F0aW9uIHdoaWNoIG1heSBiZSB0aGUgZGV0YWlscyBvZiB0aGUgbWVkaWNhdGlvbiBvciBzaW1wbHkgYW4gYXR0cmlidXRlIGNhcnJ5aW5nIGEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gZnJvbSBhIGtub3duIGxpc3Qgb2YgbWVkaWNhdGlvbnMuIiBjb21tZW50PSJJZiBvbmx5IGEgY29kZSBpcyBzcGVjaWZpZWQsIHRoZW4gaXQgbmVlZHMgdG8gYmUgYSBjb2RlIGZvciBhIHNwZWNpZmljIHByb2R1Y3QuIElmIG1vcmUgaW5mb3JtYXRpb24gaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHVzZSBvZiB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZSBpcyByZWNvbW1lbmRlZC4gIEZvciBleGFtcGxlLCBpZiB5b3UgcmVxdWlyZSBmb3JtIG9yIGxvdCBudW1iZXIgb3IgaWYgdGhlIG1lZGljYXRpb24gaXMgY29tcG91bmRlZCBvciBleHRlbXBvcmFuZW91c2x5IHByZXBhcmVkLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBvciBncm91cCBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciBzZXQgb2YgaW5kaXZpZHVhbHMgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iVGhlIHN1YmplY3Qgb24gYSBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgbWFuZGF0b3J5LiAgRm9yIHRoZSBzZWNvbmRhcnkgdXNlIGNhc2Ugd2hlcmUgdGhlIGFjdHVhbCBzdWJqZWN0IGlzIG5vdCBwcm92aWRlZCwgdGhlcmUgc3RpbGwgbXVzdCBiZSBhbiBhbm9ueW1pemVkIHN1YmplY3Qgc3BlY2lmaWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIGVuY291bnRlci9hZG1pc3Npb24vc3RheSIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBbeF0gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuJnF1b3Q7ICAgIElmIHRoZXJlIGlzIGEgbmVlZCB0byBsaW5rIHRvIGVwaXNvZGVzIG9mIGNhcmUgdGhleSB3aWxsIGJlIGhhbmRsZWQgd2l0aCBhbiBleHRlbnNpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHRvIHN1cHBvcnQgb3JkZXJpbmcgb2YgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IkluY2x1ZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIG9yZGVyaW5nIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHJlcXVlc3Qgd2FzIGluaXRpYWxseSBhdXRob3JlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgKGFuZCBwZXJoYXBzIHRpbWUpIHdoZW4gdGhlIHByZXNjcmlwdGlvbiB3YXMgaW5pdGlhbGx5IHdyaXR0ZW4gb3IgYXV0aG9yZWQgb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoby9XaGF0IHJlcXVlc3RlZCB0aGUgUmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwsIG9yZ2FuaXphdGlvbiwgb3IgZGV2aWNlIHRoYXQgaW5pdGlhdGVkIHRoZSByZXF1ZXN0IGFuZCBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBhY3RpdmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW50ZW5kZWQgcGVyZm9ybWVyIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2lmaWVkIGRlc2lyZWQgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIHRyZWF0bWVudCAoZS5nLiB0aGUgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXJUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEZXNpcmVkIGtpbmQgb2YgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgcGVyZm9ybWVyIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbi4iIGNvbW1lbnQ9IklmIHNwZWNpZmllZCB3aXRob3V0IGluZGljYXRpbmcgYSBwZXJmb3JtZXIsIHRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIHBlcmZvcm1lciBtdXN0IGJlIG9mIHRoZSBzcGVjaWZpZWQgdHlwZS4gSWYgc3BlY2lmaWVkIHdpdGggYSBwZXJmb3JtZXIgdGhlbiBpdCBpbmRpY2F0ZXMgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgcGVyZm9ybWVyIGlmIHRoZSBkZXNpZ25hdGVkIHBlcmZvcm1lciBpcyBub3QgYXZhaWxhYmxlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0UGVyZm9ybWVyVHlwZSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIHR5cGUgb2YgaW5kaXZpZHVhbCB0aGF0IGlzIGRlc2lyZWQgdG8gYWRtaW5pc3RlciB0aGUgbWVkaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gZW50ZXJlZCB0aGUgcmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiB3aG8gZW50ZXJlZCB0aGUgb3JkZXIgb24gYmVoYWxmIG9mIGFub3RoZXIgaW5kaXZpZHVhbCBmb3IgZXhhbXBsZSBpbiB0aGUgY2FzZSBvZiBhIHZlcmJhbCBvciBhIHRlbGVwaG9uZSBvcmRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFJlYXNvbiBvciBpbmRpY2F0aW9uIGZvciBvcmRlcmluZyBvciBub3Qgb3JkZXJpbmcgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IgdGhlIGluZGljYXRpb24gZm9yIG9yZGVyaW5nIG9yIG5vdCBvcmRlcmluZyB0aGUgbWVkaWNhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gSWYgYSBmdWxsIGNvbmRpdGlvbiByZWNvcmQgZXhpc3RzIG9yIGFkZGl0aW9uYWwgZGV0YWlsIGlzIG5lZWRlZCwgdXNlIHJlYXNvblJlZmVyZW5jZS4iPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgbWVkaWNhdGlvbiB3YXMgbm90IHJlcXVlc3RlZCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBVUyBDb3JlIENvbmRpdGlvbiBvciBPYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBwcmVzY3JpcHRpb24iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiBvcmRlci4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCwgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE1lZGljYXRpb25SZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE1lZGljYXRpb25SZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IkEgcGxhbiBvciByZXF1ZXN0IHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCByZXF1ZXN0cyB0aGF0IHdlcmUgYXV0aG9yaXplZCBtb3JlIG9yIGxlc3Mgc2ltdWx0YW5lb3VzbHkgYnkgYSBzaW5nbGUgYXV0aG9yLCByZXByZXNlbnRpbmcgdGhlIGlkZW50aWZpZXIgb2YgdGhlIHJlcXVpc2l0aW9uIG9yIHByZXNjcmlwdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3Vyc2VPZlRoZXJhcHlUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBvdmVyYWxsIHBhdHRlM3JuIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCB0aGUgcHJvdG9jb2wgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDb3Vyc2VPZlRoZXJhcHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBvdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVxdWlyZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJlc2NyaXB0aW9uIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IihVU0NESSkgSG93IHRoZSBtZWRpY2F0aW9uIHNob3VsZCBiZSB0YWtlbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyB0aGUgbWVkaWNhdGlvbiBpcyB0byBiZSB1c2VkIGJ5IHRoZSBwYXRpZW50LiIgY29tbWVudD0iVGhlcmUgYXJlIGV4YW1wbGVzIHdoZXJlIGEgbWVkaWNhdGlvbiByZXF1ZXN0IG1heSBpbmNsdWRlIHRoZSBvcHRpb24gb2YgYW4gb3JhbCBkb3NlIG9yIGFuIEludHJhdmVub3VzIG9yIEludHJhbXVzY3VsYXIgZG9zZS4gIEZvciBleGFtcGxlLCAmcXVvdDtPbmRhbnNldHJvbiA4bWcgb3JhbGx5IG9yIElWIHR3aWNlIGEgZGF5IGFzIG5lZWRlZCBmb3IgbmF1c2VhJnF1b3Q7IG9yICZxdW90O0NvbXBhemluZcKuIChwcm9jaGxvcnBlcmF6aW5lKSA1LTEwbWcgUE8gb3IgMjVtZyBQUiBiaWQgcHJuIG5hdXNlYSBvciB2b21pdGluZyZxdW90Oy4gIEluIHRoZXNlIGNhc2VzLCB0d28gbWVkaWNhdGlvbiByZXF1ZXN0cyB3b3VsZCBiZSBjcmVhdGVkIHRoYXQgY291bGQgYmUgZ3JvdXBlZCB0b2dldGhlci4gIFRoZSBkZWNpc2lvbiBvbiB3aGljaCBkb3NlIGFuZCByb3V0ZSBvZiBhZG1pbmlzdHJhdGlvbiB0byB1c2UgaXMgYmFzZWQgb24gdGhlIHBhdGllbnQncyBjb25kaXRpb24gYXQgdGhlIHRpbWUgdGhlIGRvc2UgaXMgbmVlZGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3QuRGlzcGVuc2VSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBNZWRpY2F0aW9uIHN1cHBseSBhdXRob3JpemF0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNwZWNpZmljIGRldGFpbHMgZm9yIHRoZSBkaXNwZW5zZSBvciBtZWRpY2F0aW9uIHN1cHBseSBwYXJ0IG9mIGEgbWVkaWNhdGlvbiByZXF1ZXN0IChhbHNvIGtub3duIGFzIGEgTWVkaWNhdGlvbiBQcmVzY3JpcHRpb24gb3IgTWVkaWNhdGlvbiBPcmRlcikuICBOb3RlIHRoYXQgdGhpcyBpbmZvcm1hdGlvbiBpcyBub3QgYWx3YXlzIHNlbnQgd2l0aCB0aGUgb3JkZXIuICBUaGVyZSBtYXkgYmUgaW4gc29tZSBzZXR0aW5ncyAoZS5nLiBob3NwaXRhbHMpIGluc3RpdHV0aW9uYWwgb3Igc3lzdGVtIHN1cHBvcnQgZm9yIGNvbXBsZXRpbmcgdGhlIGRpc3BlbnNlIGRldGFpbHMgaW4gdGhlIHBoYXJtYWN5IGRlcGFydG1lbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnN0aXR1dGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uUmVxdWVzdC5TdWJzdGl0dXRpb24iIGRlc2NyaXB0aW9uPSJBbnkgcmVzdHJpY3Rpb25zIG9uIG1lZGljYXRpb24gc3Vic3RpdHV0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBvciBub3Qgc3Vic3RpdHV0aW9uIGNhbiBvciBzaG91bGQgYmUgcGFydCBvZiB0aGUgZGlzcGVuc2UuIEluIHNvbWUgY2FzZXMsIHN1YnN0aXR1dGlvbiBtdXN0IGhhcHBlbiwgaW4gb3RoZXIgY2FzZXMgc3Vic3RpdHV0aW9uIG11c3Qgbm90IGhhcHBlbi4gVGhpcyBibG9jayBleHBsYWlucyB0aGUgcHJlc2NyaWJlcidzIGludGVudC4gSWYgbm90aGluZyBpcyBzcGVjaWZpZWQgc3Vic3RpdHV0aW9uIG1heSBiZSBkb25lLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yUHJlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFuIG9yZGVyL3ByZXNjcmlwdGlvbiB0aGF0IGlzIGJlaW5nIHJlcGxhY2VkIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgYW4gZWFybGllciBvcmRlciByZWxhdGVkIG9yZGVyIG9yIHByZXNjcmlwdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgSXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIERydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJMaW5rcyB0byBQcm92ZW5hbmNlIHJlY29yZHMgZm9yIHBhc3QgdmVyc2lvbnMgb2YgdGhpcyByZXNvdXJjZSBvciBmdWxmaWxsaW5nIHJlcXVlc3Qgb3IgZXZlbnQgcmVzb3VyY2VzIHRoYXQgaWRlbnRpZnkga2V5IHN0YXRlIHRyYW5zaXRpb25zIG9yIHVwZGF0ZXMgdGhhdCBhcmUgbGlrZWx5IHRvIGJlIHJlbGV2YW50IHRvIGEgdXNlciBsb29raW5nIGF0IHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIHByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgcHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LikuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbWVkaWNhdGlvbnJlcXVlc3QiIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvblJlcXVlc3QiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBpZHMgZm9yIHRoaXMgcmVxdWVzdCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbWVkaWNhdGlvbiByZXF1ZXN0IHRoYXQgYXJlIGRlZmluZWQgYnkgYnVzaW5lc3MgcHJvY2Vzc2VzIGFuZC9vciB1c2VkIHRvIHJlZmVyIHRvIGl0IHdoZW4gYSBkaXJlY3QgVVJMIHJlZmVyZW5jZSB0byB0aGUgcmVzb3VyY2UgaXRzZWxmIGlzIG5vdCBhcHByb3ByaWF0ZS4gVGhleSBhcmUgYnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyByZXNvdXJjZSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgYW5kIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIGFjdGl2ZSB8IG9uLWhvbGQgfCBjYW5jZWxsZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgc3RvcHBlZCB8IGRyYWZ0IHwgdW5rbm93biIgZGVmaW5pdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIG9yZGVyLiAgR2VuZXJhbGx5LCB0aGlzIHdpbGwgYmUgYWN0aXZlIG9yIGNvbXBsZXRlZCBzdGF0ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgcHJlc2NyaWJpbmcgZXZlbnQuIERlc2NyaWJlcyB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBwcmVzY3JpcHRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgTWVkaWNhdGlvblJlcXVlc3QuIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yICZxdW90O2V4Y2VwdGlvbiZxdW90OyBzdGF0dXNlcyBzdWNoIGFzICZxdW90O3N1c3BlbmRlZCZxdW90OyBvciAmcXVvdDtjYW5jZWxsZWQmcXVvdDsuIFRoZSByZWFzb24gd2h5IHRoZSBNZWRpY2F0aW9uUmVxdWVzdCB3YXMgY3JlYXRlZCBhdCBhbGwgaXMgY2FwdHVyZWQgaW4gcmVhc29uQ29kZSwgbm90IGhlcmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSByZWFzb25zIGZvciBhIGdpdmVuIHN0YXR1cy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBwcm9wb3NhbCB8IHBsYW4gfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHJlcXVlc3QgaXMgYSBwcm9wb3NhbCwgcGxhbiwgb3IgYW4gb3JpZ2luYWwgb3JkZXIuIiBjb21tZW50PSJJdCBpcyBleHBlY3RlZCB0aGF0IHRoZSB0eXBlIG9mIHJlcXVlc3RlciB3aWxsIGJlIHJlc3RyaWN0ZWQgZm9yIGRpZmZlcmVudCBzdGFnZXMgb2YgYSBNZWRpY2F0aW9uUmVxdWVzdC4gIEZvciBleGFtcGxlLCBQcm9wb3NhbHMgY2FuIGJlIGNyZWF0ZWQgYnkgYSBwYXRpZW50LCByZWxhdGVkUGVyc29uLCBQcmFjdGl0aW9uZXIgb3IgRGV2aWNlLiAgUGxhbnMgY2FuIGJlIGNyZWF0ZWQgYnkgUHJhY3RpdGlvbmVycywgUGF0aWVudHMsIFJlbGF0ZWRQZXJzb25zIGFuZCBEZXZpY2VzLiAgT3JpZ2luYWwgb3JkZXJzIGNhbiBiZSBjcmVhdGVkIGJ5IGEgUHJhY3RpdGlvbmVyIG9ubHkuJiMxMzsmIzEzO0FuIGluc3RhbmNlLW9yZGVyIGlzIGFuIGluc3RhbnRpYXRpb24gb2YgYSByZXF1ZXN0IG9yIG9yZGVyIGFuZCBtYXkgYmUgdXNlZCB0byBwb3B1bGF0ZSBNZWRpY2F0aW9uIEFkbWluaXN0cmF0aW9uIFJlY29yZC4mIzEzOyYjMTM7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBpbnRlbnQgYWx0ZXJzIHdoZW4gYW5kIGhvdyB0aGUgcmVzb3VyY2UgaXMgYWN0dWFsbHkgYXBwbGljYWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIG1lZGljYXRpb24gb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lZGljYXRpb24gcmVxdWVzdCAoZm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCAoaS5lLiBpbnBhdGllbnQgb3Igb3V0cGF0aWVudCkpLiIgY29tbWVudD0iVGhlIGNhdGVnb3J5IGNhbiBiZSB1c2VkIHRvIGluY2x1ZGUgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3Igb3RoZXIgdHlwZXMgb2YgcmVxdWVzdHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGlkZW50aWZ5aW5nIHRoZSBjYXRlZ29yeSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QuICBGb3IgZXhhbXBsZSwgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLCBvciB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHRyZWF0bWVudC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lZGljYXRpb24gcmVxdWVzdCAoZm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCAoaS5lLiBpbnBhdGllbnQgb3Igb3V0cGF0aWVudCkpLiIgY29tbWVudD0iVGhlIGNhdGVnb3J5IGNhbiBiZSB1c2VkIHRvIGluY2x1ZGUgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3Igb3RoZXIgdHlwZXMgb2YgcmVxdWVzdHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgbWVkaWNhdGlvbiBvcmRlci4gTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgTWVkaWNhdGlvbiBSZXF1ZXN0IHNob3VsZCBiZSBhZGRyZXNzZWQgd2l0aCByZXNwZWN0IHRvIG90aGVyIHJlcXVlc3RzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBsZXZlbCBvZiBpbXBvcnRhbmNlIHRvIGJlIGFzc2lnbmVkIHRvIGFjdGlvbmluZyB0aGUgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVHJ1ZSBpZiBtZWRpY2F0aW9uIHdhcyBub3QgcmVxdWVzdGVkIiBkZWZpbml0aW9uPSJJZiB0cnVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm92aWRlciBpcyBhc2tpbmcgZm9yIHRoZSBtZWRpY2F0aW9uIHJlcXVlc3Qgbm90IHRvIG9jY3VyLiIgY29tbWVudD0iSWYgZG8gbm90IHBlcmZvcm0gaXMgbm90IHNwZWNpZmllZCwgdGhlIHJlcXVlc3QgaXMgYSBwb3NpdGl2ZSByZXF1ZXN0IGUuZy4gJnF1b3Q7ZG8gcGVyZm9ybSZxdW90Oy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXBvcnRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFJlcG9ydGVkIHJhdGhlciB0aGFuIHByaW1hcnkgcmVjb3JkIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaWYgdGhpcyByZWNvcmQgd2FzIGNhcHR1cmVkIGFzIGEgc2Vjb25kYXJ5ICdyZXBvcnRlZCcgcmVjb3JkIHJhdGhlciB0aGFuIGFzIGFuIG9yaWdpbmFsIHByaW1hcnkgc291cmNlLW9mLXRydXRoIHJlY29yZC4gIEl0IG1heSBhbHNvIGluZGljYXRlIHRoZSBzb3VyY2Ugb2YgdGhlIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE1lZGljYXRpb24gdG8gYmUgdGFrZW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gYmVpbmcgcmVxdWVzdGVkLiBUaGlzIGlzIGEgbGluayB0byBhIHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyB0aGUgbWVkaWNhdGlvbiB3aGljaCBtYXkgYmUgdGhlIGRldGFpbHMgb2YgdGhlIG1lZGljYXRpb24gb3Igc2ltcGx5IGFuIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyIG9yIGlmIHRoZSBtZWRpY2F0aW9uIGlzIGNvbXBvdW5kZWQgb3IgZXh0ZW1wb3JhbmVvdXNseSBwcmVwYXJlZCwgdGhlbiB5b3UgbXVzdCByZWZlcmVuY2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBvciBncm91cCBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciBzZXQgb2YgaW5kaXZpZHVhbHMgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iVGhlIHN1YmplY3Qgb24gYSBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgbWFuZGF0b3J5LiAgRm9yIHRoZSBzZWNvbmRhcnkgdXNlIGNhc2Ugd2hlcmUgdGhlIGFjdHVhbCBzdWJqZWN0IGlzIG5vdCBwcm92aWRlZCwgdGhlcmUgc3RpbGwgbXVzdCBiZSBhbiBhbm9ueW1pemVkIHN1YmplY3Qgc3BlY2lmaWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIGVuY291bnRlci9hZG1pc3Npb24vc3RheSIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBbeF0gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuJnF1b3Q7ICAgIElmIHRoZXJlIGlzIGEgbmVlZCB0byBsaW5rIHRvIGVwaXNvZGVzIG9mIGNhcmUgdGhleSB3aWxsIGJlIGhhbmRsZWQgd2l0aCBhbiBleHRlbnNpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHRvIHN1cHBvcnQgb3JkZXJpbmcgb2YgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IkluY2x1ZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIG9yZGVyaW5nIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHJlcXVlc3Qgd2FzIGluaXRpYWxseSBhdXRob3JlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgKGFuZCBwZXJoYXBzIHRpbWUpIHdoZW4gdGhlIHByZXNjcmlwdGlvbiB3YXMgaW5pdGlhbGx5IHdyaXR0ZW4gb3IgYXV0aG9yZWQgb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoby9XaGF0IHJlcXVlc3RlZCB0aGUgUmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwsIG9yZ2FuaXphdGlvbiwgb3IgZGV2aWNlIHRoYXQgaW5pdGlhdGVkIHRoZSByZXF1ZXN0IGFuZCBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBhY3RpdmF0aW9uLiIgY29tbWVudD0iU2hvdWxkIGluY2x1ZGUgUUlDb3JlRGV2aWNlIGJ1dCB0aGUgYmFzZSBwcm9maWxlIGRvZXMgZXhjbHVkZXMgZGV2aWNlIHJlZmVyZW5jZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJJbnRlbmRlZCBwZXJmb3JtZXIgb2YgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaWZpZWQgZGVzaXJlZCBwZXJmb3JtZXIgb2YgdGhlIG1lZGljYXRpb24gdHJlYXRtZW50IChlLmcuIHRoZSBwZXJmb3JtZXIgb2YgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24pLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2lyZWQga2luZCBvZiBwZXJmb3JtZXIgb2YgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBwZXJmb3JtZXIgb2YgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uLiIgY29tbWVudD0iSWYgc3BlY2lmaWVkIHdpdGhvdXQgaW5kaWNhdGluZyBhIHBlcmZvcm1lciwgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgcGVyZm9ybWVyIG11c3QgYmUgb2YgdGhlIHNwZWNpZmllZCB0eXBlLiBJZiBzcGVjaWZpZWQgd2l0aCBhIHBlcmZvcm1lciB0aGVuIGl0IGluZGljYXRlcyB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBwZXJmb3JtZXIgaWYgdGhlIGRlc2lnbmF0ZWQgcGVyZm9ybWVyIGlzIG5vdCBhdmFpbGFibGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQZXJmb3JtZXJUeXBlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgdHlwZSBvZiBpbmRpdmlkdWFsIHRoYXQgaXMgZGVzaXJlZCB0byBhZG1pbmlzdGVyIHRoZSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGVyc29uIHdobyBlbnRlcmVkIHRoZSByZXF1ZXN0IiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIHdobyBlbnRlcmVkIHRoZSBvcmRlciBvbiBiZWhhbGYgb2YgYW5vdGhlciBpbmRpdmlkdWFsIGZvciBleGFtcGxlIGluIHRoZSBjYXNlIG9mIGEgdmVyYmFsIG9yIGEgdGVsZXBob25lIG9yZGVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFJlYXNvbiBvciBpbmRpY2F0aW9uIGZvciBvcmRlcmluZyBvciBub3Qgb3JkZXJpbmcgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IgdGhlIGluZGljYXRpb24gZm9yIG9yZGVyaW5nIG9yIG5vdCBvcmRlcmluZyB0aGUgbWVkaWNhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gSWYgYSBmdWxsIGNvbmRpdGlvbiByZWNvcmQgZXhpc3RzIG9yIGFkZGl0aW9uYWwgZGV0YWlsIGlzIG5lZWRlZCwgdXNlIHJlYXNvblJlZmVyZW5jZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBRSS1Db3JlIENvbmRpdGlvbiBvciBPYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBwcmVzY3JpcHRpb24iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiBvcmRlci4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCwgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE1lZGljYXRpb25SZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE1lZGljYXRpb25SZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IkEgcGxhbiBvciByZXF1ZXN0IHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCByZXF1ZXN0cyB0aGF0IHdlcmUgYXV0aG9yaXplZCBtb3JlIG9yIGxlc3Mgc2ltdWx0YW5lb3VzbHkgYnkgYSBzaW5nbGUgYXV0aG9yLCByZXByZXNlbnRpbmcgdGhlIGlkZW50aWZpZXIgb2YgdGhlIHJlcXVpc2l0aW9uIG9yIHByZXNjcmlwdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3Vyc2VPZlRoZXJhcHlUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBvdmVyYWxsIHBhdHRlM3JuIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCB0aGUgcHJvdG9jb2wgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDb3Vyc2VPZlRoZXJhcHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBvdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVxdWlyZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJlc2NyaXB0aW9uIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSG93IG1lZGljYXRpb24gc2hvdWxkIGJlIHRha2VuIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQuIiBjb21tZW50PSJUaGVyZSBhcmUgZXhhbXBsZXMgd2hlcmUgYSBtZWRpY2F0aW9uIHJlcXVlc3QgbWF5IGluY2x1ZGUgdGhlIG9wdGlvbiBvZiBhbiBvcmFsIGRvc2Ugb3IgYW4gSW50cmF2ZW5vdXMgb3IgSW50cmFtdXNjdWxhciBkb3NlLiAgRm9yIGV4YW1wbGUsICZxdW90O09uZGFuc2V0cm9uIDhtZyBvcmFsbHkgb3IgSVYgdHdpY2UgYSBkYXkgYXMgbmVlZGVkIGZvciBuYXVzZWEmcXVvdDsgb3IgJnF1b3Q7Q29tcGF6aW5lwq4gKHByb2NobG9ycGVyYXppbmUpIDUtMTBtZyBQTyBvciAyNW1nIFBSIGJpZCBwcm4gbmF1c2VhIG9yIHZvbWl0aW5nJnF1b3Q7LiAgSW4gdGhlc2UgY2FzZXMsIHR3byBtZWRpY2F0aW9uIHJlcXVlc3RzIHdvdWxkIGJlIGNyZWF0ZWQgdGhhdCBjb3VsZCBiZSBncm91cGVkIHRvZ2V0aGVyLiAgVGhlIGRlY2lzaW9uIG9uIHdoaWNoIGRvc2UgYW5kIHJvdXRlIG9mIGFkbWluaXN0cmF0aW9uIHRvIHVzZSBpcyBiYXNlZCBvbiB0aGUgcGF0aWVudCdzIGNvbmRpdGlvbiBhdCB0aGUgdGltZSB0aGUgZG9zZSBpcyBuZWVkZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BlbnNlUmVxdWVzdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uUmVxdWVzdC5EaXNwZW5zZVJlcXVlc3QiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIE1lZGljYXRpb24gc3VwcGx5IGF1dGhvcml6YXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc3BlY2lmaWMgZGV0YWlscyBmb3IgdGhlIGRpc3BlbnNlIG9yIG1lZGljYXRpb24gc3VwcGx5IHBhcnQgb2YgYSBtZWRpY2F0aW9uIHJlcXVlc3QgKGFsc28ga25vd24gYXMgYSBNZWRpY2F0aW9uIFByZXNjcmlwdGlvbiBvciBNZWRpY2F0aW9uIE9yZGVyKS4gIE5vdGUgdGhhdCB0aGlzIGluZm9ybWF0aW9uIGlzIG5vdCBhbHdheXMgc2VudCB3aXRoIHRoZSBvcmRlci4gIFRoZXJlIG1heSBiZSBpbiBzb21lIHNldHRpbmdzIChlLmcuIGhvc3BpdGFscykgaW5zdGl0dXRpb25hbCBvciBzeXN0ZW0gc3VwcG9ydCBmb3IgY29tcGxldGluZyB0aGUgZGlzcGVuc2UgZGV0YWlscyBpbiB0aGUgcGhhcm1hY3kgZGVwYXJ0bWVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic3RpdHV0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25SZXF1ZXN0LlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IkFueSByZXN0cmljdGlvbnMgb24gbWVkaWNhdGlvbiBzdWJzdGl0dXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gY2FuIG9yIHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBkaXNwZW5zZS4gSW4gc29tZSBjYXNlcywgc3Vic3RpdHV0aW9uIG11c3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gbXVzdCBub3QgaGFwcGVuLiBUaGlzIGJsb2NrIGV4cGxhaW5zIHRoZSBwcmVzY3JpYmVyJ3MgaW50ZW50LiBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCBzdWJzdGl0dXRpb24gbWF5IGJlIGRvbmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JQcmVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQW4gb3JkZXIvcHJlc2NyaXB0aW9uIHRoYXQgaXMgYmVpbmcgcmVwbGFjZWQiIGRlZmluaXRpb249IkEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyBhbiBlYXJsaWVyIG9yZGVyIHJlbGF0ZWQgb3JkZXIgb3IgcHJlc2NyaXB0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldGVjdGVkSXNzdWUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBJc3N1ZSB3aXRoIGFjdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFuIGFjdHVhbCBvciBwb3RlbnRpYWwgY2xpbmljYWwgaXNzdWUgd2l0aCBvciBiZXR3ZWVuIG9uZSBvciBtb3JlIGFjdGl2ZSBvciBwcm9wb3NlZCBjbGluaWNhbCBhY3Rpb25zIGZvciBhIHBhdGllbnQ7IGUuZy4gRHJ1Zy1kcnVnIGludGVyYWN0aW9uLCBkdXBsaWNhdGUgdGhlcmFweSwgZG9zYWdlIGFsZXJ0IGV0Yy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gaW5jbHVkZSBhIGRldGVjdGVkIGlzc3VlIHRoYXQgaGFzIGJlZW4gaWRlbnRpZmllZCBlaXRoZXIgYnkgYSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSBvciBieSBhIGNsaW5pY2lhbiBhbmQgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gb24gdGhlIHN0ZXBzIHRoYXQgd2VyZSB0YWtlbiB0byBhZGRyZXNzIHRoZSBpc3N1ZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJldmVudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgZXZlbnRzIG9mIGludGVyZXN0IGluIHRoZSBsaWZlY3ljbGUiIGRlZmluaXRpb249IkxpbmtzIHRvIFByb3ZlbmFuY2UgcmVjb3JkcyBmb3IgcGFzdCB2ZXJzaW9ucyBvZiB0aGlzIHJlc291cmNlIG9yIGZ1bGZpbGxpbmcgcmVxdWVzdCBvciBldmVudCByZXNvdXJjZXMgdGhhdCBpZGVudGlmeSBrZXkgc3RhdGUgdHJhbnNpdGlvbnMgb3IgdXBkYXRlcyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgcmVsZXZhbnQgdG8gYSB1c2VyIGxvb2tpbmcgYXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgcHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBwcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3QuRGlzcGVuc2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZUludGVydmFsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBNaW5pbXVtIHBlcmlvZCBvZiB0aW1lIGJldHdlZW4gZGlzcGVuc2VzIiBkZWZpbml0aW9uPSJUaGUgbWluaW11bSBwZXJpb2Qgb2YgdGltZSB0aGF0IG11c3Qgb2NjdXIgYmV0d2VlbiBkaXNwZW5zZXMgb2YgdGhlIG1lZGljYXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsaWRpdHlQZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2Qgc3VwcGx5IGlzIGF1dGhvcml6ZWQgZm9yIiBkZWZpbml0aW9uPSJUaGlzIGluZGljYXRlcyB0aGUgdmFsaWRpdHkgcGVyaW9kIG9mIGEgcHJlc2NyaXB0aW9uIChzdGFsZSBkYXRpbmcgdGhlIFByZXNjcmlwdGlvbikuIiBjb21tZW50PSJJdCByZWZsZWN0cyB0aGUgcHJlc2NyaWJlcnMnIHBlcnNwZWN0aXZlIGZvciB0aGUgdmFsaWRpdHkgb2YgdGhlIHByZXNjcmlwdGlvbi4gRGlzcGVuc2VzIG11c3Qgbm90IGJlIG1hZGUgYWdhaW5zdCB0aGUgcHJlc2NyaXB0aW9uIG91dHNpZGUgb2YgdGhpcyBwZXJpb2QuIFRoZSBsb3dlci1ib3VuZCBvZiB0aGUgRGlzcGVuc2luZyBXaW5kb3cgc2lnbmlmaWVzIHRoZSBlYXJsaWVzdCBkYXRlIHRoYXQgdGhlIHByZXNjcmlwdGlvbiBjYW4gYmUgZmlsbGVkIGZvciB0aGUgZmlyc3QgdGltZS4gSWYgYW4gdXBwZXItYm91bmQgaXMgbm90IHNwZWNpZmllZCB0aGVuIHRoZSBQcmVzY3JpcHRpb24gaXMgb3Blbi1lbmRlZCBvciB3aWxsIGRlZmF1bHQgdG8gYSBzdGFsZS1kYXRlIGJhc2VkIG9uIHJlZ3VsYXRpb25zLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mUmVwZWF0c0FsbG93ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIE51bWJlciBvZiByZWZpbGxzIGF1dGhvcml6ZWQiIGRlZmluaXRpb249IkFuIGludGVnZXIgaW5kaWNhdGluZyB0aGUgbnVtYmVyIG9mIHRpbWVzLCBpbiBhZGRpdGlvbiB0byB0aGUgb3JpZ2luYWwgZGlzcGVuc2UsIChha2EgcmVmaWxscyBvciByZXBlYXRzKSB0aGF0IHRoZSBwYXRpZW50IGNhbiByZWNlaXZlIHRoZSBwcmVzY3JpYmVkIG1lZGljYXRpb24uIFVzYWdlIE5vdGVzOiBUaGlzIGludGVnZXIgZG9lcyBub3QgaW5jbHVkZSB0aGUgb3JpZ2luYWwgb3JkZXIgZGlzcGVuc2UuIFRoaXMgbWVhbnMgdGhhdCBpZiBhbiBvcmRlciBpbmRpY2F0ZXMgZGlzcGVuc2UgMzAgdGFibGV0cyBwbHVzICZxdW90OzMgcmVwZWF0cyZxdW90OywgdGhlbiB0aGUgb3JkZXIgY2FuIGJlIGRpc3BlbnNlZCBhIHRvdGFsIG9mIDQgdGltZXMgYW5kIHRoZSBwYXRpZW50IGNhbiByZWNlaXZlIGEgdG90YWwgb2YgMTIwIHRhYmxldHMuICBBIHByZXNjcmliZXIgbWF5IGV4cGxpY2l0bHkgc2F5IHRoYXQgemVybyByZWZpbGxzIGFyZSBwZXJtaXR0ZWQgYWZ0ZXIgdGhlIGluaXRpYWwgZGlzcGVuc2UuIiBjb21tZW50PSJJZiBkaXNwbGF5aW5nICZxdW90O251bWJlciBvZiBhdXRob3JpemVkIGZpbGxzJnF1b3Q7LCBhZGQgMSB0byB0aGlzIG51bWJlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBbW91bnQgb2YgbWVkaWNhdGlvbiB0byBzdXBwbHkgcGVyIGRpc3BlbnNlIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IHRoYXQgaXMgdG8gYmUgZGlzcGVuc2VkIGZvciBvbmUgZmlsbC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgTnVtYmVyIG9mIGRheXMgc3VwcGx5IHBlciBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcGVyaW9kIHRpbWUgb3ZlciB3aGljaCB0aGUgc3VwcGxpZWQgcHJvZHVjdCBpcyBleHBlY3RlZCB0byBiZSB1c2VkLCBvciB0aGUgbGVuZ3RoIG9mIHRpbWUgdGhlIGRpc3BlbnNlIGlzIGV4cGVjdGVkIHRvIGxhc3QuIiBjb21tZW50PSJJbiBzb21lIHNpdHVhdGlvbnMsIHRoaXMgYXR0cmlidXRlIG1heSBiZSB1c2VkIGluc3RlYWQgb2YgcXVhbnRpdHkgdG8gaWRlbnRpZnkgdGhlIGFtb3VudCBzdXBwbGllZCBieSBob3cgbG9uZyBpdCBpcyBleHBlY3RlZCB0byBsYXN0LCByYXRoZXIgdGhhbiB0aGUgcGh5c2ljYWwgcXVhbnRpdHkgaXNzdWVkLCBlLmcuIDkwIGRheXMgc3VwcGx5IG9mIG1lZGljYXRpb24gKGJhc2VkIG9uIGFuIG9yZGVyZWQgZG9zYWdlKS4gV2hlbiBwb3NzaWJsZSwgaXQgaXMgYWx3YXlzIGJldHRlciB0byBzcGVjaWZ5IHF1YW50aXR5LCBhcyB0aGlzIHRlbmRzIHRvIGJlIG1vcmUgcHJlY2lzZS4gZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiB3aWxsIGFsd2F5cyBiZSBhbiBlc3RpbWF0ZSB0aGF0IGNhbiBiZSBpbmZsdWVuY2VkIGJ5IGV4dGVybmFsIGZhY3RvcnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkludGVuZGVkIGRpc3BlbnNlciIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBpbnRlbmRlZCBkaXNwZW5zaW5nIE9yZ2FuaXphdGlvbiBzcGVjaWZpZWQgYnkgdGhlIHByZXNjcmliZXIuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdC5EaXNwZW5zZVJlcXVlc3QuSW5pdGlhbEZpbGwiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZpcnN0IGZpbGwgcXVhbnRpdHkiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb3IgcXVhbnRpdHkgdG8gcHJvdmlkZSBhcyBwYXJ0IG9mIHRoZSBmaXJzdCBkaXNwZW5zZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGaXJzdCBmaWxsIGR1cmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgbGVuZ3RoIG9mIHRpbWUgdGhhdCB0aGUgZmlyc3QgZGlzcGVuc2UgaXMgZXhwZWN0ZWQgdG8gbGFzdC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0LlN1YnN0aXR1dGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWxsb3dlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHN1YnN0aXR1dGlvbiBpcyBhbGxvd2VkIG9yIG5vdCIgZGVmaW5pdGlvbj0iVHJ1ZSBpZiB0aGUgcHJlc2NyaWJlciBhbGxvd3MgYSBkaWZmZXJlbnQgZHJ1ZyB0byBiZSBkaXNwZW5zZWQgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHdoZXRoZXIgc3Vic3RpdHV0aW9uIGlzIGFsbG93IG9yIG5vdCwgaXQgY2Fubm90IGJlIGlnbm9yZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RTdWJzdGl0dXRpb24iIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIHN1YnN0aXR1dGlvbiBhbGxvd2VkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgc2hvdWxkIChub3QpIHN1YnN0aXR1dGlvbiBiZSBtYWRlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiBmb3IgdGhlIHN1YnN0aXR1dGlvbiwgb3Igd2h5IHN1YnN0aXR1dGlvbiBtdXN0IG9yIG11c3Qgbm90IGJlIHBlcmZvcm1lZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uSW50ZW5kZWRTdWJzdGl0dXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcmVhc29uIHRoYXQgYSBkaWZmZXJlbnQgbWVkaWNhdGlvbiBzaG91bGQgKG9yIHNob3VsZCBub3QpIGJlIHN1YnN0aXR1dGVkIGZyb20gd2hhdCB3YXMgcHJlc2NyaWJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1tZWRpY2F0aW9uc3RhdGVtZW50IiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25TdGF0ZW1lbnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBNZWRpY2F0aW9uIFN0YXRlbWVudCB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBldmVudCBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBhY3RpdmUgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgaW50ZW5kZWQgfCBzdG9wcGVkIHwgb24taG9sZCB8IHVua25vd24gfCBub3QtdGFrZW4iIGRlZmluaXRpb249IkEgY29kZSByZXByZXNlbnRpbmcgdGhlIHBhdGllbnQgb3Igb3RoZXIgc291cmNlJ3MganVkZ21lbnQgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBtZWRpY2F0aW9uIHVzZWQgdGhhdCB0aGlzIHN0YXRlbWVudCBpcyBhYm91dC4gIEdlbmVyYWxseSwgdGhpcyB3aWxsIGJlIGFjdGl2ZSBvciBjb21wbGV0ZWQuIiBjb21tZW50PSJNZWRpY2F0aW9uU3RhdGVtZW50IGlzIGEgc3RhdGVtZW50IGF0IGEgcG9pbnQgaW4gdGltZS4gIFRoZSBzdGF0dXMgaXMgb25seSByZXByZXNlbnRhdGl2ZSBhdCB0aGUgcG9pbnQgd2hlbiBpdCB3YXMgYXNzZXJ0ZWQuICBUaGUgdmFsdWUgc2V0IGZvciBNZWRpY2F0aW9uU3RhdGVtZW50LnN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IGFzc2VydCB0aGUgc3RhdHVzIG9mIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gYnkgdGhlIHBhdGllbnQgKGZvciBleGFtcGxlLCBzdG9wcGVkIG9yIG9uIGhvbGQpIGFzIHdlbGwgYXMgY29kZXMgdGhhdCBhc3NlcnQgdGhlIHN0YXR1cyBvZiB0aGUgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgaXRzZWxmIChmb3IgZXhhbXBsZSwgZW50ZXJlZCBpbiBlcnJvcikuJiMxMzsmIzEzO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIGEgTWVkaWNhdGlvblN0YXRlbWVudC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG9ubHkgdXNlZCBmb3IgJnF1b3Q7ZXhjZXB0aW9uJnF1b3Q7IHN0YXR1c2VzIHN1Y2ggYXMgJnF1b3Q7bm90LXRha2VuJnF1b3Q7LCAmcXVvdDtvbi1ob2xkJnF1b3Q7LCAmcXVvdDtjYW5jZWxsZWQmcXVvdDsgb3IgJnF1b3Q7ZW50ZXJlZC1pbi1lcnJvciZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgdGhlIHN0YXR1cyBvZiB0aGUgc3RhdGVtZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgd2hlcmUgdGhlIG1lZGljYXRpb24gaW5jbHVkZWQgaW4gdGhlIE1lZGljYXRpb25TdGF0ZW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGF0IG1lZGljYXRpb24gd2FzIHRha2VuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgc2V0IG9mIFJ4Tm9ybSBjb2RlcyB0byByZXByZXNlbnQgbWVkaWNhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIGlzL3dhcyB0YWtpbmcgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24sIGFuaW1hbCBvciBncm91cCB3aG8gaXMvd2FzIHRha2luZyB0aGUgbWVkaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciAvIEVwaXNvZGUgYXNzb2NpYXRlZCB3aXRoIE1lZGljYXRpb25TdGF0ZW1lbnQiIGRlZmluaXRpb249IlRoZSBlbmNvdW50ZXIgb3IgZXBpc29kZSBvZiBjYXJlIHRoYXQgZXN0YWJsaXNoZXMgdGhlIGNvbnRleHQgZm9yIHRoaXMgTWVkaWNhdGlvblN0YXRlbWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSBkYXRlL3RpbWUgb3IgaW50ZXJ2YWwgd2hlbiB0aGUgbWVkaWNhdGlvbiBpcy93YXMvd2lsbCBiZSB0YWtlbiIgZGVmaW5pdGlvbj0iVGhlIGludGVydmFsIG9mIHRpbWUgZHVyaW5nIHdoaWNoIGl0IGlzIGJlaW5nIGFzc2VydGVkIHRoYXQgdGhlIHBhdGllbnQgaXMvd2FzL3dpbGwgYmUgdGFraW5nIHRoZSBtZWRpY2F0aW9uIChvciB3YXMgbm90IHRha2luZywgd2hlbiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC50YWtlbiBlbGVtZW50IGlzIE5vKS4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHJlZmxlY3RzIHRoZSBwZXJpb2Qgb3ZlciB3aGljaCB0aGUgcGF0aWVudCBjb25zdW1lZCB0aGUgbWVkaWNhdGlvbiBhbmQgaXMgZXhwZWN0ZWQgdG8gYmUgcG9wdWxhdGVkIG9uIHRoZSBtYWpvcml0eSBvZiBNZWRpY2F0aW9uIFN0YXRlbWVudHMuIElmIHRoZSBtZWRpY2F0aW9uIGlzIHN0aWxsIGJlaW5nIHRha2VuIGF0IHRoZSB0aW1lIHRoZSBzdGF0ZW1lbnQgaXMgcmVjb3JkZWQsIHRoZSAmcXVvdDtlbmQmcXVvdDsgZGF0ZSB3aWxsIGJlIG9taXR0ZWQuICBUaGUgZGF0ZS90aW1lIGF0dHJpYnV0ZSBzdXBwb3J0cyBhIHZhcmlldHkgb2YgZGF0ZXMgLSB5ZWFyLCB5ZWFyL21vbnRoIGFuZCBleGFjdCBkYXRlLiAgSWYgc29tZXRoaW5nIG1vcmUgdGhhbiB0aGlzIGlzIHJlcXVpcmVkLCB0aGlzIHNob3VsZCBiZSBjb252ZXllZCBhcyB0ZXh0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGVBc3NlcnRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hlbiB0aGUgc3RhdGVtZW50IHdhcyBhc3NlcnRlZD8iIGRlZmluaXRpb249IlRoZSBkYXRlIHdoZW4gdGhlIG1lZGljYXRpb24gc3RhdGVtZW50IHdhcyBhc3NlcnRlZCBieSB0aGUgaW5mb3JtYXRpb24gc291cmNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImluZm9ybWF0aW9uU291cmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBQZXJzb24gb3Igb3JnYW5pemF0aW9uIHRoYXQgcHJvdmlkZWQgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0YWtpbmcgb2YgdGhpcyBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiB0aGF0IHByb3ZpZGVkIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFraW5nIG9mIHRoaXMgbWVkaWNhdGlvbi4gTm90ZTogVXNlIGRlcml2ZWRGcm9tIHdoZW4gYSBNZWRpY2F0aW9uU3RhdGVtZW50IGlzIGRlcml2ZWQgZnJvbSBvdGhlciByZXNvdXJjZXMsIGUuZy4gQ2xhaW0gb3IgTWVkaWNhdGlvblJlcXVlc3QuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQWRkaXRpb25hbCBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBbGxvd3MgbGlua2luZyB0aGUgTWVkaWNhdGlvblN0YXRlbWVudCB0byB0aGUgdW5kZXJseWluZyBNZWRpY2F0aW9uUmVxdWVzdCwgb3IgdG8gb3RoZXIgaW5mb3JtYXRpb24gdGhhdCBzdXBwb3J0cyBvciBpcyB1c2VkIHRvIGRlcml2ZSB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC4iIGNvbW1lbnQ9Ikxpa2VseSByZWZlcmVuY2VzIHdvdWxkIGJlIHRvIE1lZGljYXRpb25SZXF1ZXN0LCBNZWRpY2F0aW9uRGlzcGVuc2UsIENsYWltLCBPYnNlcnZhdGlvbiBvciBRdWVzdGlvbm5haXJlQW5zd2Vycy4gIFRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgZm9yIGRlcml2aW5nIGEgTWVkaWNhdGlvblN0YXRlbWVudCBjb21lcyBmcm9tIGNyZWF0aW5nIGEgTWVkaWNhdGlvblN0YXRlbWVudCBmcm9tIGEgTWVkaWNhdGlvblJlcXVlc3Qgb3IgZnJvbSBhIGxhYiBvYnNlcnZhdGlvbiBvciBhIGNsYWltLiAgaXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgdGhlIGFtb3VudCBvZiBpbmZvcm1hdGlvbiB0aGF0IGlzIGF2YWlsYWJsZSB2YXJpZXMgZnJvbSB0aGUgdHlwZSByZXNvdXJjZSB0aGF0IHlvdSBkZXJpdmUgdGhlIE1lZGljYXRpb25TdGF0ZW1lbnQgZnJvbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuIiBkZWZpbml0aW9uPSJBIHJlYXNvbiBmb3Igd2h5IHRoZSBtZWRpY2F0aW9uIGlzIGJlaW5nL3dhcyB0YWtlbi4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gSWYgYSBmdWxsIGNvbmRpdGlvbiByZWNvcmQgZXhpc3RzIG9yIGFkZGl0aW9uYWwgZGV0YWlsIGlzIG5lZWRlZCwgdXNlIHJlYXNvbkZvclVzZVJlZmVyZW5jZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGlkZW50aWZ5aW5nIHdoeSB0aGUgbWVkaWNhdGlvbiBpcyBiZWluZyB0YWtlbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiBpcyBiZWluZy93YXMgdGFrZW4iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiBpcyBiZWluZy93YXMgdGFrZW4uIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29uZGl0aW9uIHRoYXQgaXMgdGhlIHJlYXNvbiB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuLiAgSWYgb25seSBhIGNvZGUgZXhpc3RzLCB1c2UgcmVhc29uRm9yVXNlQ29kZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RhdGVtZW50IiBkZWZpbml0aW9uPSJQcm92aWRlcyBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgdGhhdCBpcyBub3QgY29udmV5ZWQgYnkgdGhlIG90aGVyIGF0dHJpYnV0ZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBEZXRhaWxzIG9mIGhvdyBtZWRpY2F0aW9uIGlzL3dhcyB0YWtlbiBvciBzaG91bGQgYmUgdGFrZW4iIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMvd2FzIG9yIHNob3VsZCBiZSB0YWtlbiBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoZSBkYXRlcyBpbmNsdWRlZCBpbiB0aGUgZG9zYWdlIG9uIGEgTWVkaWNhdGlvbiBTdGF0ZW1lbnQgcmVmbGVjdCB0aGUgZGF0ZXMgZm9yIGEgZ2l2ZW4gZG9zZS4gIEZvciBleGFtcGxlLCAmcXVvdDtmcm9tIE5vdmVtYmVyIDEsIDIwMTYgdG8gTm92ZW1iZXIgMywgMjAxNiwgdGFrZSBvbmUgdGFibGV0IGRhaWx5IGFuZCBmcm9tIE5vdmVtYmVyIDQsIDIwMTYgdG8gTm92ZW1iZXIgNywgMjAxNiwgdGFrZSB0d28gdGFibGV0cyBkYWlseS4mcXVvdDsgIEl0IGlzIGV4cGVjdGVkIHRoYXQgdGhpcyBzcGVjaWZpY2l0eSBtYXkgb25seSBiZSBwb3B1bGF0ZWQgd2hlcmUgdGhlIHBhdGllbnQgYnJpbmdzIGluIHRoZWlyIGxhYmVsZWQgY29udGFpbmVyIG9yIHdoZXJlIHRoZSBNZWRpY2F0aW9uIFN0YXRlbWVudCBpcyBkZXJpdmVkIGZyb20gYSBNZWRpY2F0aW9uUmVxdWVzdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJpbmZvcm1hdGlvblNvdXJjZSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9ImluZm9ybWF0aW9uU291cmNlIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25TdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWV0YSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01ldGEiIGxhYmVsPSJNZXRhIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbklkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWZXJzaW9uIHNwZWNpZmljIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlRoZSB2ZXJzaW9uIHNwZWNpZmljIGlkZW50aWZpZXIsIGFzIGl0IGFwcGVhcnMgaW4gdGhlIHZlcnNpb24gcG9ydGlvbiBvZiB0aGUgVVJMLiBUaGlzIHZhbHVlIGNoYW5nZXMgd2hlbiB0aGUgcmVzb3VyY2UgaXMgY3JlYXRlZCwgdXBkYXRlZCwgb3IgZGVsZXRlZC4iIGNvbW1lbnQ9IlRoZSBzZXJ2ZXIgYXNzaWducyB0aGlzIHZhbHVlLCBhbmQgaWdub3JlcyB3aGF0IHRoZSBjbGllbnQgc3BlY2lmaWVzLCBleGNlcHQgaW4gdGhlIGNhc2UgdGhhdCB0aGUgc2VydmVyIGlzIGltcG9zaW5nIHZlcnNpb24gaW50ZWdyaXR5IG9uIHVwZGF0ZXMvZGVsZXRlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYXN0VXBkYXRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSByZXNvdXJjZSB2ZXJzaW9uIGxhc3QgY2hhbmdlZCIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgcmVzb3VyY2UgbGFzdCBjaGFuZ2VkIC0gZS5nLiB3aGVuIHRoZSB2ZXJzaW9uIGNoYW5nZWQuIiBjb21tZW50PSJUaGlzIHZhbHVlIGlzIGFsd2F5cyBwb3B1bGF0ZWQgZXhjZXB0IHdoZW4gdGhlIHJlc291cmNlIGlzIGZpcnN0IGJlaW5nIGNyZWF0ZWQuIFRoZSBzZXJ2ZXIgLyByZXNvdXJjZSBtYW5hZ2VyIHNldHMgdGhpcyB2YWx1ZTsgd2hhdCBhIGNsaWVudCBwcm92aWRlcyBpcyBpcnJlbGV2YW50LiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gdGhlIEhUVFAgTGFzdC1Nb2RpZmllZCBhbmQgU0hPVUxEIGhhdmUgdGhlIHNhbWUgdmFsdWUgb24gYSBbcmVhZF0oaHR0cC5odG1sI3JlYWQpIGludGVyYWN0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNvdXJjZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB3aGVyZSB0aGUgcmVzb3VyY2UgY29tZXMgZnJvbSIgZGVmaW5pdGlvbj0iQSB1cmkgdGhhdCBpZGVudGlmaWVzIHRoZSBzb3VyY2Ugc3lzdGVtIG9mIHRoZSByZXNvdXJjZS4gVGhpcyBwcm92aWRlcyBhIG1pbmltYWwgYW1vdW50IG9mIFtQcm92ZW5hbmNlXShwcm92ZW5hbmNlLmh0bWwjKSBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHRyYWNrIG9yIGRpZmZlcmVudGlhdGUgdGhlIHNvdXJjZSBvZiBpbmZvcm1hdGlvbiBpbiB0aGUgcmVzb3VyY2UuIFRoZSBzb3VyY2UgbWF5IGlkZW50aWZ5IGFub3RoZXIgRkhJUiBzZXJ2ZXIsIGRvY3VtZW50LCBtZXNzYWdlLCBkYXRhYmFzZSwgZXRjLiIgY29tbWVudD0iSW4gdGhlIHByb3ZlbmFuY2UgcmVzb3VyY2UsIHRoaXMgY29ycmVzcG9uZHMgdG8gUHJvdmVuYW5jZS5lbnRpdHkud2hhdFt4XS4gVGhlIGV4YWN0IHVzZSBvZiB0aGUgc291cmNlIChhbmQgdGhlIGltcGxpZWQgUHJvdmVuYW5jZS5lbnRpdHkucm9sZSkgaXMgbGVmdCB0byBpbXBsZW1lbnRlciBkaXNjcmV0aW9uLiBPbmx5IG9uZSBub21pbmF0ZWQgc291cmNlIGlzIGFsbG93ZWQ7IGZvciBhZGRpdGlvbmFsIHByb3ZlbmFuY2UgZGV0YWlscywgYSBmdWxsIFByb3ZlbmFuY2UgcmVzb3VyY2Ugc2hvdWxkIGJlIHVzZWQuICYjMTA7JiMxMDtUaGlzIGVsZW1lbnQgY2FuIGJlIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmUgdGhlIGN1cnJlbnQgbWFzdGVyIHNvdXJjZSBvZiBhIHJlc291cmNlIHRoYXQgaGFzIGEgY2Fub25pY2FsIFVSTCBpZiB0aGUgcmVzb3VyY2UgaXMgbm8gbG9uZ2VyIGhvc3RlZCBhdCB0aGUgY2Fub25pY2FsIFVSTC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9maWxlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByb2ZpbGVzIHRoaXMgcmVzb3VyY2UgY2xhaW1zIHRvIGNvbmZvcm0gdG8iIGRlZmluaXRpb249IkEgbGlzdCBvZiBwcm9maWxlcyAocmVmZXJlbmNlcyB0byBbU3RydWN0dXJlRGVmaW5pdGlvbl0oc3RydWN0dXJlZGVmaW5pdGlvbi5odG1sIykgcmVzb3VyY2VzKSB0aGF0IHRoaXMgcmVzb3VyY2UgY2xhaW1zIHRvIGNvbmZvcm0gdG8uIFRoZSBVUkwgaXMgYSByZWZlcmVuY2UgdG8gW1N0cnVjdHVyZURlZmluaXRpb24udXJsXShzdHJ1Y3R1cmVkZWZpbml0aW9uLWRlZmluaXRpb25zLmh0bWwjU3RydWN0dXJlRGVmaW5pdGlvbi51cmwpLiIgY29tbWVudD0iSXQgaXMgdXAgdG8gdGhlIHNlcnZlciBhbmQvb3Igb3RoZXIgaW5mcmFzdHJ1Y3R1cmUgb2YgcG9saWN5IHRvIGRldGVybWluZSB3aGV0aGVyL2hvdyB0aGVzZSBjbGFpbXMgYXJlIHZlcmlmaWVkIGFuZC9vciB1cGRhdGVkIG92ZXIgdGltZS4gIFRoZSBsaXN0IG9mIHByb2ZpbGUgVVJMcyBpcyBhIHNldC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZWN1cml0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlY3VyaXR5IExhYmVscyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UiIGRlZmluaXRpb249IlNlY3VyaXR5IGxhYmVscyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UuIFRoZXNlIHRhZ3MgY29ubmVjdCBzcGVjaWZpYyByZXNvdXJjZXMgdG8gdGhlIG92ZXJhbGwgc2VjdXJpdHkgcG9saWN5IGFuZCBpbmZyYXN0cnVjdHVyZS4iIGNvbW1lbnQ9IlRoZSBzZWN1cml0eSBsYWJlbHMgY2FuIGJlIHVwZGF0ZWQgd2l0aG91dCBjaGFuZ2luZyB0aGUgc3RhdGVkIHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiBUaGUgbGlzdCBvZiBzZWN1cml0eSBsYWJlbHMgaXMgYSBzZXQuIFVuaXF1ZW5lc3MgaXMgYmFzZWQgdGhlIHN5c3RlbS9jb2RlLCBhbmQgdmVyc2lvbiBhbmQgZGlzcGxheSBhcmUgaWdub3JlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VjdXJpdHlMYWJlbHMiIGRlc2NyaXB0aW9uPSJTZWN1cml0eSBMYWJlbHMgZnJvbSB0aGUgSGVhbHRoY2FyZSBQcml2YWN5IGFuZCBTZWN1cml0eSBDbGFzc2lmaWNhdGlvbiBTeXN0ZW0uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0YWciIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUYWdzIGFwcGxpZWQgdG8gdGhpcyByZXNvdXJjZSIgZGVmaW5pdGlvbj0iVGFncyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UuIFRhZ3MgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgdG8gaWRlbnRpZnkgYW5kIHJlbGF0ZSByZXNvdXJjZXMgdG8gcHJvY2VzcyBhbmQgd29ya2Zsb3csIGFuZCBhcHBsaWNhdGlvbnMgYXJlIG5vdCByZXF1aXJlZCB0byBjb25zaWRlciB0aGUgdGFncyB3aGVuIGludGVycHJldGluZyB0aGUgbWVhbmluZyBvZiBhIHJlc291cmNlLiIgY29tbWVudD0iVGhlIHRhZ3MgY2FuIGJlIHVwZGF0ZWQgd2l0aG91dCBjaGFuZ2luZyB0aGUgc3RhdGVkIHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiBUaGUgbGlzdCBvZiB0YWdzIGlzIGEgc2V0LiBVbmlxdWVuZXNzIGlzIGJhc2VkIHRoZSBzeXN0ZW0vY29kZSwgYW5kIHZlcnNpb24gYW5kIGRpc3BsYXkgYXJlIGlnbm9yZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhZ3MiIGRlc2NyaXB0aW9uPSJDb2RlcyB0aGF0IHJlcHJlc2VudCB2YXJpb3VzIHR5cGVzIG9mIHRhZ3MsIGNvbW1vbmx5IHdvcmtmbG93LXJlbGF0ZWQ7IGUuZy4gJnF1b3Q7TmVlZHMgcmV2aWV3IGJ5IERyLiBKb25lcyZxdW90Oy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWltZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTmFtZVVzZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOYXJyYXRpdmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9OYXJyYXRpdmUiIGxhYmVsPSJOYXJyYXRpdmUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTmFycmF0aXZlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImdlbmVyYXRlZCB8IGV4dGVuc2lvbnMgfCBhZGRpdGlvbmFsIHwgZW1wdHkiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG5hcnJhdGl2ZSAtIHdoZXRoZXIgaXQncyBlbnRpcmVseSBnZW5lcmF0ZWQgKGZyb20ganVzdCB0aGUgZGVmaW5lZCBkYXRhIG9yIHRoZSBleHRlbnNpb25zIHRvbyksIG9yIHdoZXRoZXIgYSBodW1hbiBhdXRob3JlZCBpdCBhbmQgaXQgbWF5IGNvbnRhaW4gYWRkaXRpb25hbCBkYXRhLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik5hcnJhdGl2ZVN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgYSByZXNvdXJjZSBuYXJyYXRpdmUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGl2IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMaW1pdGVkIHhodG1sIGNvbnRlbnQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgbmFycmF0aXZlIGNvbnRlbnQsIGEgc3RyaXBwZWQgZG93biB2ZXJzaW9uIG9mIFhIVE1MLiIgY29tbWVudD0iVGhlIGNvbnRlbnRzIG9mIHRoZSBodG1sIGVsZW1lbnQgYXJlIGFuIFhIVE1MIGZyYWdtZW50IGNvbnRhaW5pbmcgb25seSB0aGUgYmFzaWMgaHRtbCBmb3JtYXR0aW5nIGVsZW1lbnRzIGRlc2NyaWJlZCBpbiBjaGFwdGVycyA3LTExIGFuZCAxNSBvZiB0aGUgSFRNTCA0LjAgc3RhbmRhcmQsICZsdDthJmd0OyBlbGVtZW50cyAoZWl0aGVyIG5hbWUgb3IgaHJlZiksIGltYWdlcyBhbmQgaW50ZXJuYWxseSBjb250YWluZWQgc3R5bGVzaGVldHMuIFRoZSBYSFRNTCBjb250ZW50IFNIQUxMIE5PVCBjb250YWluIGEgaGVhZCwgYSBib2R5LCBleHRlcm5hbCBzdHlsZXNoZWV0IHJlZmVyZW5jZXMsIHNjcmlwdHMsIGZvcm1zLCBiYXNlL2xpbmsveGxpbmssIGZyYW1lcywgaWZyYW1lcyBhbmQgb2JqZWN0cy4iPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0eHQtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJUaGUgbmFycmF0aXZlIFNIQUxMIGNvbnRhaW4gb25seSB0aGUgYmFzaWMgaHRtbCBmb3JtYXR0aW5nIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIGRlc2NyaWJlZCBpbiBjaGFwdGVycyA3LTExIChleGNlcHQgc2VjdGlvbiA0IG9mIGNoYXB0ZXIgOSkgYW5kIDE1IG9mIHRoZSBIVE1MIDQuMCBzdGFuZGFyZCwgJmx0O2EmZ3Q7IGVsZW1lbnRzIChlaXRoZXIgbmFtZSBvciBocmVmKSwgaW1hZ2VzIGFuZCBpbnRlcm5hbGx5IGNvbnRhaW5lZCBzdHlsZSBhdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJodG1sQ2hlY2tzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0eHQtMiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJUaGUgbmFycmF0aXZlIFNIQUxMIGhhdmUgc29tZSBub24td2hpdGVzcGFjZSBjb250ZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJodG1sQ2hlY2tzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5hcnJhdGl2ZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOb25QYXRpZW50T2JzZXJ2YXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vbnBhdGllbnQtb2JzZXJ2YXRpb24iIGxhYmVsPSJRSUNvcmUgTm9uUGF0aWVudCBPYnNlcnZhdGlvbiIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgcmVnaXN0ZXJlZCB8IHBybGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgfCBjb3JyZWN0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBDbGFzc2lmaWNhdGlvbiBvZiB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVHlwZSBvZiBvYnNlcnZhdGlvbiAoY29kZSAvIHR5cGUpIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGlzIHZhbHVlIHNldCBzcGVjaWZpZXMgdGhlIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGhlIGRldmljZS9sb2NhdGlvbi9pbXBsYW50YWJsZSBkZXZpY2UgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlL2xvY2F0aW9uL2ltcGxhbnRhYmxlIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4gVGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24sIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0ocXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUUkgQ29yZSBQcm9maWxlcyBvciBvdGhlciByZXNvdXJjZSB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJPYnNlcnZhdGlvbnMsIERvY3VtZW50UmVmZXJlbmNlLCBRdWVzdGlvbm5haXJlUmVzcG9uc2Ugb3Igb3RoZXIgcmVzb3VyY2UgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5vdERvbmVSZWFzb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVSZWFzb24iIGxhYmVsPSJRSUNvcmUgTm90IERvbmUgUmVhc29uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOb3REb25lUmVjb3JkZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXJlY29yZGVkIiBsYWJlbD0iUUlDb3JlIE5vdCBEb25lIFJlY29yZGVkIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTm90RG9uZVZhbHVlU2V0IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQiIGxhYmVsPSJRSUNvcmUgTm90IERvbmUgVmFsdWVTZXQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTm90ZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTnV0cml0aWlvbk9yZGVySW50ZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1udXRyaXRpb25vcmRlciIgbGFiZWw9IlFJQ29yZSBOdXRyaXRpb25PcmRlciIgcmV0cmlldmFibGU9InRydWUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIGJ5IHRoZSBvcmRlciBzZW5kZXIgb3IgYnkgdGhlIG9yZGVyIHJlY2VpdmVyLiIgY29tbWVudD0iVGhlIElkZW50aWZpZXIudHlwZSBlbGVtZW50IGNhbiBiZSB0byBpbmRpY2F0ZSBmaWxsZXIgdnMuIHBsYWNlciBpZiBuZWVkZWQuICBUaGlzIGlzIGV4cGxhaW5lZCBpbiBmdXJ0aGVyIGRldGFpbCBbaGVyZV0oc2VydmljZXJlcXVlc3QuaHRtbCNub3RlcykuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE51dHJpdGlvbk9yZGVyLiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE51dHJpdGlvbk9yZGVyLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE51dHJpdGlvbk9yZGVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5OdXRyaXRpb25PcmRlclN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGQgfCByZXZva2VkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSB3b3JrZmxvdyBzdGF0dXMgb2YgdGhlIG51dHJpdGlvbiBvcmRlci9yZXF1ZXN0LiIgY29tbWVudD0iVHlwaWNhbGx5IHRoZSBzeXN0ZW0gcGxhY2luZyB0aGUgb3JkZXIgc2V0cyB0aGUgc3RhdHVzIHRvICZxdW90O3JlcXVlc3RlZCZxdW90Oy4gVGhlcmVhZnRlciwgdGhlIG9yZGVyIGlzIG1haW50YWluZWQgYnkgdGhlIHJlY2VpdmVyIHRoYXQgdXBkYXRlcyB0aGUgc3RhdHVzIGFzIHRoZSByZXF1ZXN0IGlzIGhhbmRsZWQuICBUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTnV0cml0aW9uT3JkZXJTdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyB0aGUgbGlmZWN5Y2xlIHN0YWdlIG9mIHRoZSBudXRyaXRpb24gb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLk51dHJpdGlpb25PcmRlckludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcm9wb3NhbCB8IHBsYW4gfCBkaXJlY3RpdmUgfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbGV2ZWwgb2YgYXV0aG9yaXR5L2ludGVudGlvbmFsaXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgTnV0cmlvbk9yZGVyIGFuZCB3aGVyZSB0aGUgcmVxdWVzdCBmaXRzIGludG8gdGhlIHdvcmtmbG93IGNoYWluLiIgY29tbWVudD0iV2hlbiByZXNvdXJjZXMgbWFwIHRvIHRoaXMgZWxlbWVudCwgdGhleSBhcmUgZnJlZSB0byBkZWZpbmUgYXMgbWFueSBjb2RlcyBhcyBuZWNlc3NhcnkgdG8gY292ZXIgdGhlaXIgc3BhY2UgYW5kIHdpbGwgbWFwIHRvICZxdW90O3Byb3Bvc2FsLCBwbGFuIG9yIG9yZGVyJnF1b3Q7LiAgQ2FuIGhhdmUgbXVsdGlwbGUgY29kZXMgdGhhdCBtYXAgdG8gb25lIG9mIHRoZXNlLiAgRS5nLiAmcXVvdDtvcmlnaW5hbCBvcmRlciZxdW90OywgJnF1b3Q7ZW5jb2RlZCBvcmRlciZxdW90OywgJnF1b3Q7cmVmbGV4IG9yZGVyJnF1b3Q7IHdvdWxkIGFsbCBtYXAgdG8gJnF1b3Q7b3JkZXImcXVvdDsuICBFeHBlY3RhdGlvbiBpcyB0aGF0IHRoZSBzZXQgb2YgY29kZXMgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIG9yIGEgc3RyaWN0IGFsbC1lbmNvbXBhc3NpbmcgaGllcmFyY2h5LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik51dHJpdGlpb25PcmRlckludGVudCIgZGVzY3JpcHRpb249IkNvZGVzIGluZGljYXRpbmcgdGhlIGRlZ3JlZSBvZiBhdXRob3JpdHkvaW50ZW50aW9uYWxpdHkgYXNzb2NpYXRlZCB3aXRoIGEgbnV0cml0aW9uIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSBwZXJzb24gd2hvIHJlcXVpcmVzIHRoZSBkaWV0LCBmb3JtdWxhIG9yIG51dHJpdGlvbmFsIHN1cHBsZW1lbnQiIGRlZmluaXRpb249IlRoZSBwZXJzb24gKHBhdGllbnQpIHdobyBuZWVkcyB0aGUgbnV0cml0aW9uIG9yZGVyIGZvciBhbiBvcmFsIGRpZXQsIG51dHJpdGlvbmFsIHN1cHBsZW1lbnQgYW5kL29yIGVudGVyYWwgb3IgZm9ybXVsYSBmZWVkaW5nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgZW5jb3VudGVyIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG51dHJpdGlvbiBvcmRlciIgZGVmaW5pdGlvbj0iQW4gZW5jb3VudGVyIHRoYXQgcHJvdmlkZXMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaGVhbHRoY2FyZSBjb250ZXh0IGluIHdoaWNoIHRoaXMgcmVxdWVzdCBpcyBtYWRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGVUaW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgYW5kIHRpbWUgdGhlIG51dHJpdGlvbiBvcmRlciB3YXMgcmVxdWVzdGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGF0IHRoaXMgbnV0cml0aW9uIG9yZGVyIHdhcyByZXF1ZXN0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JkZXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gb3JkZXJlZCB0aGUgZGlldCwgZm9ybXVsYSBvciBudXRyaXRpb25hbCBzdXBwbGVtZW50IiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIHRoYXQgaG9sZHMgbGVnYWwgcmVzcG9uc2liaWxpdHkgZm9yIG9yZGVyaW5nIHRoZSBkaWV0LCBudXRyaXRpb25hbCBzdXBwbGVtZW50LCBvciBmb3JtdWxhIGZlZWRpbmdzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFsbGVyZ3lJbnRvbGVyYW5jZSIgZGVzY3JpcHRpb249Ikxpc3Qgb2YgdGhlIHBhdGllbnQncyBmb29kIGFuZCBudXRyaXRpb24tcmVsYXRlZCBhbGxlcmdpZXMgYW5kIGludG9sZXJhbmNlcyIgZGVmaW5pdGlvbj0iQSBsaW5rIHRvIGEgcmVjb3JkIG9mIGFsbGVyZ2llcyBvciBpbnRvbGVyYW5jZXMgIHdoaWNoIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgbnV0cml0aW9uIG9yZGVyLiIgY29tbWVudD0iSW5mb3JtYXRpb24gb24gYSBwYXRpZW50J3MgZm9vZCBhbGxlcmdpZXMgYW5kIGludG9sZXJhbmNlcyB0byBpbmZvcm0gaGVhbHRoY2FyZSBwZXJzb25uZWwgYWJvdXQgdGhlIHR5cGUgb2YgZm9vZHMgdGhhdCB0aGUgcGF0aWVudCBzaG91bGRuJ3QgcmVjZWl2ZSBvciBjb25zdW1lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvb2RQcmVmZXJlbmNlTW9kaWZpZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPcmRlci1zcGVjaWZpYyBtb2RpZmllciBhYm91dCB0aGUgdHlwZSBvZiBmb29kIHRoYXQgc2hvdWxkIGJlIGdpdmVuIiBkZWZpbml0aW9uPSJUaGlzIG1vZGlmaWVyIGlzIHVzZWQgdG8gY29udmV5IG9yZGVyLXNwZWNpZmljIG1vZGlmaWVycyBhYm91dCB0aGUgdHlwZSBvZiBmb29kIHRoYXQgc2hvdWxkIGJlIGdpdmVuLiBUaGVzZSBjYW4gYmUgZGVyaXZlZCBmcm9tIHBhdGllbnQgYWxsZXJnaWVzLCBpbnRvbGVyYW5jZXMsIG9yIHByZWZlcmVuY2VzIHN1Y2ggYXMgSGFsYWwsIFZlZ2FuIG9yIEtvc2hlci4gVGhpcyBtb2RpZmllciBhcHBsaWVzIHRvIHRoZSBlbnRpcmUgbnV0cml0aW9uIG9yZGVyIGluY2x1c2l2ZSBvZiB0aGUgb3JhbCBkaWV0LCBudXRyaXRpb25hbCBzdXBwbGVtZW50cyBhbmQgZW50ZXJhbCBmb3JtdWxhIGZlZWRpbmdzLiIgY29tbWVudD0iSW5mb3JtYXRpb24gb24gYSBwYXRpZW50J3MgZm9vZCBwcmVmZXJlbmNlcyB0aGF0IGluZm9ybSBoZWFsdGhjYXJlIHBlcnNvbm5lbCBhYm91dCB0aGUgZm9vZCB0aGF0IHRoZSBwYXRpZW50IHNob3VsZCByZWNlaXZlIG9yIGNvbnN1bWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBhdGllbnREaWV0IiBkZXNjcmlwdGlvbj0iTWVkaWNhbCwgY3VsdHVyYWwgb3IgZXRoaWNhbCBmb29kIHByZWZlcmVuY2VzIHRvIGhlbHAgd2l0aCBjYXRlcmluZyByZXF1aXJlbWVudHMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleGNsdWRlRm9vZE1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT3JkZXItc3BlY2lmaWMgbW9kaWZpZXIgYWJvdXQgdGhlIHR5cGUgb2YgZm9vZCB0aGF0IHNob3VsZCBub3QgYmUgZ2l2ZW4iIGRlZmluaXRpb249IlRoaXMgbW9kaWZpZXIgaXMgdXNlZCB0byBjb252ZXkgT3JkZXItc3BlY2lmaWMgbW9kaWZpZXIgYWJvdXQgdGhlIHR5cGUgb2Ygb3JhbCBmb29kIG9yIG9yYWwgZmx1aWRzIHRoYXQgc2hvdWxkIG5vdCBiZSBnaXZlbi4gVGhlc2UgY2FuIGJlIGRlcml2ZWQgZnJvbSBwYXRpZW50IGFsbGVyZ2llcywgaW50b2xlcmFuY2VzLCBvciBwcmVmZXJlbmNlcyBzdWNoIGFzIE5vIFJlZCBNZWF0LCBObyBTb3kgb3IgTm8gV2hlYXQgb3IgIEdsdXRlbi1GcmVlLiAgV2hpbGUgaXQgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkgdG8gcmVwZWF0IGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgaW5mb3JtYXRpb24gY2FwdHVyZWQgaW4gdGhlIHJlZmVyZW5jZWQgQWxsZXJneUludG9sZXJhbmNlIHJlc291cmNlIGluIHRoZSBleGNsdWRlRm9vZE1vZGlmaWVyLCB0aGlzIGVsZW1lbnQgbWF5IGJlIHVzZWQgdG8gY29udmV5IGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkgcmVsYXRlZCB0byBmb29kcyB0aGF0IHNob3VsZCBiZSBlbGltaW5hdGVkIGZyb20gdGhlIHBhdGllbnTigJlzIGRpZXQgZm9yIGFueSByZWFzb24uICBUaGlzIG1vZGlmaWVyIGFwcGxpZXMgdG8gdGhlIGVudGlyZSBudXRyaXRpb24gb3JkZXIgaW5jbHVzaXZlIG9mIHRoZSBvcmFsIGRpZXQsIG51dHJpdGlvbmFsIHN1cHBsZW1lbnRzIGFuZCBlbnRlcmFsIGZvcm11bGEgZmVlZGluZ3MuIiBjb21tZW50PSJJbmZvcm1hdGlvbiBvbiBhIHBhdGllbnQncyBmb29kIGFsbGVyZ2llcywgaW50b2xlcmFuY2VzIGFuZCBwcmVmZXJlbmNlcyB0byBpbmZvcm0gaGVhbHRoY2FyZSBwZXJzb25uZWwgYWJvdXQgdGhlIHR5cGUgIG9mIGZvb2RzIHRoYXQgdGhlIHBhdGllbnQgc2hvdWxkbid0IHJlY2VpdmUgb3IgY29uc3VtZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRm9vZFR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyB1c2VkIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIGZvb2QgdGhhdCBzaG91bGQgTk9UIGJlIGdpdmVuIHRvIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JhbERpZXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTnV0cml0aW9uT3JkZXIuT3JhbERpZXQiIGRlc2NyaXB0aW9uPSJPcmFsIGRpZXQgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iRGlldCBnaXZlbiBvcmFsbHkgaW4gY29udHJhc3QgdG8gZW50ZXJhbCAodHViZSkgZmVlZGluZy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwbGVtZW50IiBkZXNjcmlwdGlvbj0iU3VwcGxlbWVudCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJPcmFsIG51dHJpdGlvbmFsIHByb2R1Y3RzIGdpdmVuIGluIG9yZGVyIHRvIGFkZCBmdXJ0aGVyIG51dHJpdGlvbmFsIHZhbHVlIHRvIHRoZSBwYXRpZW50J3MgZGlldC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk51dHJpdGlvbk9yZGVyLlN1cHBsZW1lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW50ZXJhbEZvcm11bGEiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTnV0cml0aW9uT3JkZXIuRW50ZXJhbEZvcm11bGEiIGRlc2NyaXB0aW9uPSJFbnRlcmFsIGZvcm11bGEgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iRmVlZGluZyBwcm92aWRlZCB0aHJvdWdoIHRoZSBnYXN0cm9pbnRlc3RpbmFsIHRyYWN0IHZpYSBhIHR1YmUsIGNhdGhldGVyLCBvciBzdG9tYSB0aGF0IGRlbGl2ZXJzIG51dHJpdGlvbiBkaXN0YWwgdG8gdGhlIG9yYWwgY2F2aXR5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyIgZGVmaW5pdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCB0aGUge3t0aXRsZX19IGJ5IHRoZSByZXF1ZXN0ZXIsIHBlcmZvcm1lciwgc3ViamVjdCBvciBvdGhlciBwYXJ0aWNpcGFudHMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgU0hBTEwgTk9UIGJlIHVzZWQgdG8gc3VwcGx5IGZyZWUgdGV4dCBpbnN0cnVjdGlvbnMgZm9yIHRoZSBkaWV0IHdoaWNoIGFyZSByZXByZXNlbnRlZCBpbiB0aGUgYC5vcmFsRGlldC5pbnN0cnVjdGlvbmAsIGBzdXBwbGVtZW50Lmluc3RydWN0aW9uYCwgb3IgYGVudGVyYWxGb3JtdWxhLmFkbWluaXN0cmF0aW9uSW5zdHJ1Y3Rpb25gIGVsZW1lbnRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJvcmRlcmVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyLkVudGVyYWxGb3JtdWxhIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlRm9ybXVsYVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgZW50ZXJhbCBvciBpbmZhbnQgZm9ybXVsYSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgZW50ZXJhbCBvciBpbmZhbnQgZm9ybXVsYSBzdWNoIGFzIGFuIGFkdWx0IHN0YW5kYXJkIGZvcm11bGEgd2l0aCBmaWJlciBvciBhIHNveS1iYXNlZCBpbmZhbnQgZm9ybXVsYS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJFbnRlcmFsRm9ybXVsYVR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdHlwZSBvZiBlbnRlcmFsIGZvcm11bGEgdG8gYmUgYWRtaW5pc3RlcmVkIHRvIHBhdGllbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlRm9ybXVsYVByb2R1Y3ROYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcm9kdWN0IG9yIGJyYW5kIG5hbWUgb2YgdGhlIGVudGVyYWwgb3IgaW5mYW50IGZvcm11bGEiIGRlZmluaXRpb249IlRoZSBwcm9kdWN0IG9yIGJyYW5kIG5hbWUgb2YgdGhlIGVudGVyYWwgb3IgaW5mYW50IGZvcm11bGEgcHJvZHVjdCBzdWNoIGFzICZxdW90O0FDTUUgQWR1bHQgU3RhbmRhcmQgRm9ybXVsYSZxdW90Oy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRpdGl2ZVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbW9kdWxhciBjb21wb25lbnQgdG8gYWRkIHRvIHRoZSBmZWVkaW5nIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgbW9kdWxhciBjb21wb25lbnQgc3VjaCBhcyBwcm90ZWluLCBjYXJib2h5ZHJhdGUsIGZhdCBvciBmaWJlciB0byBiZSBwcm92aWRlZCBpbiBhZGRpdGlvbiB0byBvciBtaXhlZCB3aXRoIHRoZSBiYXNlIGZvcm11bGEuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW50ZXJhbEZvcm11bGFBZGRpdGl2ZVR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdGhlIHR5cGUgb2YgbW9kdWxhciBjb21wb25lbnQgc3VjaCBhcyBwcm90ZWluLCBjYXJib2h5ZHJhdGUgb3IgZmliZXIgdG8gYmUgcHJvdmlkZWQgaW4gYWRkaXRpb24gdG8gb3IgbWl4ZWQgd2l0aCB0aGUgYmFzZSBmb3JtdWxhLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkaXRpdmVQcm9kdWN0TmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBicmFuZCBuYW1lIG9mIHRoZSBtb2R1bGFyIGFkZGl0aXZlIiBkZWZpbml0aW9uPSJUaGUgcHJvZHVjdCBvciBicmFuZCBuYW1lIG9mIHRoZSB0eXBlIG9mIG1vZHVsYXIgY29tcG9uZW50IHRvIGJlIGFkZGVkIHRvIHRoZSBmb3JtdWxhLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhbG9yaWNEZW5zaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBlbmVyZ3kgcGVyIHNwZWNpZmllZCB2b2x1bWUgdGhhdCBpcyByZXF1aXJlZCIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiBlbmVyZ3kgKGNhbG9yaWVzKSB0aGF0IHRoZSBmb3JtdWxhIHNob3VsZCBwcm92aWRlIHBlciBzcGVjaWZpZWQgdm9sdW1lLCB0eXBpY2FsbHkgcGVyIG1MIG9yIGZsdWlkIG96LiAgRm9yIGV4YW1wbGUsIGFuIGluZmFudCBtYXkgcmVxdWlyZSBhIGZvcm11bGEgdGhhdCBwcm92aWRlcyAyNCBjYWxvcmllcyBwZXIgZmx1aWQgb3VuY2Ugb3IgYW4gYWR1bHQgbWF5IHJlcXVpcmUgYW4gZW50ZXJhbCBmb3JtdWxhIHRoYXQgcHJvdmlkZXMgMS41IGNhbG9yaWUvbUwuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icm91dGVvZkFkbWluaXN0cmF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdGhlIGZvcm11bGEgc2hvdWxkIGVudGVyIHRoZSBwYXRpZW50J3MgZ2FzdHJvaW50ZXN0aW5hbCB0cmFjdCIgZGVmaW5pdGlvbj0iVGhlIHJvdXRlIG9yIHBoeXNpb2xvZ2ljYWwgcGF0aCBvZiBhZG1pbmlzdHJhdGlvbiBpbnRvIHRoZSBwYXRpZW50J3MgZ2FzdHJvaW50ZXN0aW5hbCAgdHJhY3QgZm9yIHB1cnBvc2VzIG9mIHByb3ZpZGluZyB0aGUgZm9ybXVsYSBmZWVkaW5nLCBlLmcuIG5hc29nYXN0cmljIHR1YmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW50ZXJhbFJvdXRlT2ZBZG1pbmlzdHJhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgdGhlIHJvdXRlIG9mIGFkbWluaXN0cmF0aW9uIG9mIGVudGVyYWwgZm9ybXVsYS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkbWluaXN0cmF0aW9uIiBkZXNjcmlwdGlvbj0iRm9ybXVsYSBmZWVkaW5nIGluc3RydWN0aW9uIGFzIHN0cnVjdHVyZWQgZGF0YSIgZGVmaW5pdGlvbj0iRm9ybXVsYSBhZG1pbmlzdHJhdGlvbiBpbnN0cnVjdGlvbnMgYXMgc3RydWN0dXJlZCBkYXRhLiAgVGhpcyByZXBlYXRpbmcgc3RydWN0dXJlIGFsbG93cyBmb3IgY2hhbmdpbmcgdGhlIGFkbWluaXN0cmF0aW9uIHJhdGUgb3Igdm9sdW1lIG92ZXIgdGltZSBmb3IgYm90aCBib2x1cyBhbmQgY29udGludW91cyBmZWVkaW5nLiAgQW4gZXhhbXBsZSBvZiB0aGlzIHdvdWxkIGJlIGFuIGluc3RydWN0aW9uIHRvIGluY3JlYXNlIHRoZSByYXRlIG9mIGNvbnRpbnVvdXMgZmVlZGluZyBldmVyeSAyIGhvdXJzLiIgY29tbWVudD0iU2VlIGltcGxlbWVudGF0aW9uIG5vdGVzIGJlbG93IGZvciBmdXJ0aGVyIGRpc2N1c3Npb24gb24gaG93IHRvIG9yZGVyIGNvbnRpbnVvdXMgdnMgYm9sdXMgZW50ZXJhbCBmZWVkaW5nIHVzaW5nIHRoaXMgcmVzb3VyY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5OdXRyaXRpb25PcmRlci5FbnRlcmFsRm9ybXVsYS5BZG1pbmlzdHJhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYXhWb2x1bWVUb0RlbGl2ZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVXBwZXIgbGltaXQgb24gZm9ybXVsYSB2b2x1bWUgcGVyIHVuaXQgb2YgdGltZSIgZGVmaW5pdGlvbj0iVGhlIG1heGltdW0gdG90YWwgcXVhbnRpdHkgb2YgZm9ybXVsYSB0aGF0IG1heSBiZSBhZG1pbmlzdGVyZWQgdG8gYSBzdWJqZWN0IG92ZXIgdGhlIHBlcmlvZCBvZiB0aW1lLCBlLmcuIDE0NDAgbUwgb3ZlciAyNCBob3Vycy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZG1pbmlzdHJhdGlvbkluc3RydWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtdWxhIGZlZWRpbmcgaW5zdHJ1Y3Rpb25zIGV4cHJlc3NlZCBhcyB0ZXh0IiBkZWZpbml0aW9uPSJGcmVlIHRleHQgZm9ybXVsYSBhZG1pbmlzdHJhdGlvbiwgZmVlZGluZyBpbnN0cnVjdGlvbnMgb3IgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgb3IgaW5mb3JtYXRpb24uIiBjb21tZW50PSJGcmVlIHRleHQgZG9zYWdlIGluc3RydWN0aW9ucyBjYW4gYmUgdXNlZCBmb3IgY2FzZXMgd2hlcmUgdGhlIGluc3RydWN0aW9ucyBhcmUgdG9vIGNvbXBsZXggdG8gY29kZS4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyLkVudGVyYWxGb3JtdWxhLkFkbWluaXN0cmF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzY2hlZHVsZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciIGRlc2NyaXB0aW9uPSJTY2hlZHVsZWQgZnJlcXVlbmN5IG9mIGVudGVyYWwgZmVlZGluZyIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgcGVyaW9kIGFuZCBmcmVxdWVuY3kgYXQgd2hpY2ggdGhlIGVudGVyYWwgZm9ybXVsYSBzaG91bGQgYmUgZGVsaXZlcmVkIHRvIHRoZSBwYXRpZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB2b2x1bWUgb2YgZm9ybXVsYSB0byBwcm92aWRlIiBkZWZpbml0aW9uPSJUaGUgdm9sdW1lIG9mIGZvcm11bGEgdG8gcHJvdmlkZSB0byB0aGUgcGF0aWVudCBwZXIgdGhlIHNwZWNpZmllZCBhZG1pbmlzdHJhdGlvbiBzY2hlZHVsZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyYXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNwZWVkIHdpdGggd2hpY2ggdGhlIGZvcm11bGEgaXMgcHJvdmlkZWQgcGVyIHBlcmlvZCBvZiB0aW1lIiBkZWZpbml0aW9uPSJUaGUgcmF0ZSBvZiBhZG1pbmlzdHJhdGlvbiBvZiBmb3JtdWxhIHZpYSBhIGZlZWRpbmcgcHVtcCwgZS5nLiA2MCBtTCBwZXIgaG91ciwgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGUuIiBjb21tZW50PSJSYXRpbyBpcyB1c2VkIHdoZW4gdGhlIHF1YW50aXR5IHZhbHVlIGluIHRoZSBkZW5vbWluYXRvciBpcyBub3QgJnF1b3Q7MSZxdW90Oywgb3RoZXJ3aXNlIHVzZSBRdWFudGl0eS4gRm9yIGV4YW1wbGUsIHRoZSBSYXRpbyBkYXRhdHlwZSBpcyB1c2VkIGZvciAmcXVvdDsyMDAgbUwvNCBocnMmcXVvdDsgdmVyc3VzIHRoZSBRdWFudGl0eSBkYXRhdHlwZSBmb3IgJnF1b3Q7NTAgbUwvaHImcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyLk9yYWxEaWV0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBvcmFsIGRpZXQgb3IgZGlldCByZXN0cmljdGlvbnMgdGhhdCBkZXNjcmliZSB3aGF0IGNhbiBiZSBjb25zdW1lZCBvcmFsbHkiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIGRpZXQgb3IgZGlldGFyeSByZXN0cmljdGlvbiBzdWNoIGFzIGZpYmVyIHJlc3RyaWN0ZWQgZGlldCBvciBkaWFiZXRpYyBkaWV0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPcmFsRGlldCIgZGVzY3JpcHRpb249IkNvZGVzIHVzZWQgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgZGlldCBiZWluZyBvcmRlcmVkIGZvciBhIHBhdGllbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzY2hlZHVsZSIgZGVzY3JpcHRpb249IlNjaGVkdWxlZCBmcmVxdWVuY3kgb2YgZGlldCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgcGVyaW9kIGFuZCBmcmVxdWVuY3kgYXQgd2hpY2ggdGhlIGRpZXQgc2hvdWxkIGJlIGdpdmVuLiAgVGhlIGRpZXQgc2hvdWxkIGJlIGdpdmVuIGZvciB0aGUgY29tYmluYXRpb24gb2YgYWxsIHNjaGVkdWxlcyBpZiBtb3JlIHRoYW4gb25lIHNjaGVkdWxlIGlzIHByZXNlbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibnV0cmllbnQiIGRlc2NyaXB0aW9uPSJSZXF1aXJlZCAgbnV0cmllbnQgbW9kaWZpY2F0aW9ucyIgZGVmaW5pdGlvbj0iQ2xhc3MgdGhhdCBkZWZpbmVzIHRoZSBxdWFudGl0eSBhbmQgdHlwZSBvZiBudXRyaWVudCBtb2RpZmljYXRpb25zIChmb3IgZXhhbXBsZSBjYXJib2h5ZHJhdGUsIGZpYmVyIG9yIHNvZGl1bSkgcmVxdWlyZWQgZm9yIHRoZSBvcmFsIGRpZXQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5OdXRyaXRpb25PcmRlci5PcmFsRGlldC5OdXRyaWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0dXJlIiBkZXNjcmlwdGlvbj0iUmVxdWlyZWQgIHRleHR1cmUgbW9kaWZpY2F0aW9ucyIgZGVmaW5pdGlvbj0iQ2xhc3MgdGhhdCBkZXNjcmliZXMgYW55IHRleHR1cmUgbW9kaWZpY2F0aW9ucyByZXF1aXJlZCBmb3IgdGhlIHBhdGllbnQgdG8gc2FmZWx5IGNvbnN1bWUgdmFyaW91cyB0eXBlcyBvZiBzb2xpZCBmb29kcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk51dHJpdGlvbk9yZGVyLk9yYWxEaWV0LlRleHR1cmUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmx1aWRDb25zaXN0ZW5jeVR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcmVxdWlyZWQgY29uc2lzdGVuY3kgb2YgZmx1aWRzIGFuZCBsaXF1aWRzIHByb3ZpZGVkIHRvIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGUgcmVxdWlyZWQgY29uc2lzdGVuY3kgKGUuZy4gaG9uZXktdGhpY2ssIG5lY3Rhci10aGljaywgdGhpbiwgdGhpY2tlbmVkLikgb2YgbGlxdWlkcyBvciBmbHVpZHMgc2VydmVkIHRvIHRoZSBwYXRpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGbHVpZENvbnNpc3RlbmN5VHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb25zaXN0ZW5jeSBvZiBmbHVpZHMgYW5kIGxpcXVpZHMgcHJvdmlkZWQgdG8gdGhlIHBhdGllbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0cnVjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdHJ1Y3Rpb25zIG9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yYWwgZGlldCIgZGVmaW5pdGlvbj0iRnJlZSB0ZXh0IG9yIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIG9yIGluZm9ybWF0aW9uIHBlcnRhaW5pbmcgdG8gdGhlIG9yYWwgZGlldC4iIGNvbW1lbnQ9IkZyZWUgdGV4dCBkb3NhZ2UgaW5zdHJ1Y3Rpb25zIGNhbiBiZSB1c2VkIGZvciBjYXNlcyB3aGVyZSB0aGUgaW5zdHJ1Y3Rpb25zIGFyZSB0b28gY29tcGxleCB0byBjb2RlLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTnV0cml0aW9uT3JkZXIuT3JhbERpZXQuTnV0cmllbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG51dHJpZW50IHRoYXQgaXMgYmVpbmcgbW9kaWZpZWQiIGRlZmluaXRpb249IlRoZSBudXRyaWVudCB0aGF0IGlzIGJlaW5nIG1vZGlmaWVkIHN1Y2ggYXMgY2FyYm9oeWRyYXRlIG9yIHNvZGl1bS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJOdXRyaWVudE1vZGlmaWVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHR5cGVzIG9mIG51dHJpZW50cyB0aGF0IGFyZSBiZWluZyBtb2RpZmllZCBzdWNoIGFzIGNhcmJvaHlkcmF0ZSBvciBzb2RpdW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUXVhbnRpdHkgb2YgdGhlIHNwZWNpZmllZCBudXRyaWVudCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IG9mIHRoZSBzcGVjaWZpZWQgbnV0cmllbnQgdG8gaW5jbHVkZSBpbiBkaWV0LiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTnV0cml0aW9uT3JkZXIuT3JhbERpZXQuVGV4dHVyZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGUgdG8gaW5kaWNhdGUgaG93IHRvIGFsdGVyIHRoZSB0ZXh0dXJlIG9mIHRoZSBmb29kcywgZS5nLiBwdXJlZWQiIGRlZmluaXRpb249IkFueSB0ZXh0dXJlIG1vZGlmaWNhdGlvbnMgKGZvciBzb2xpZCBmb29kcykgdGhhdCBzaG91bGQgYmUgbWFkZSwgZS5nLiBlYXN5IHRvIGNoZXcsIGNob3BwZWQsIGdyb3VuZCwgYW5kIHB1cmVlZC4iIGNvbW1lbnQ9IkNvdXBsZWQgd2l0aCB0aGUgZm9vZFR5cGUgKE1lYXQpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRleHR1cmVNb2RpZmllciIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBmb29kIGNvbnNpc3RlbmN5IHR5cGVzIG9yIHRleHR1cmUgbW9kaWZpY2F0aW9ucyB0byBhcHBseSB0byBmb29kcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvb2RUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb25jZXB0cyB0aGF0IGFyZSB1c2VkIHRvIGlkZW50aWZ5IGFuIGVudGl0eSB0aGF0IGlzIGluZ2VzdGVkIGZvciBudXRyaXRpb25hbCBwdXJwb3NlcyIgZGVmaW5pdGlvbj0iVGhlIGZvb2QgdHlwZShzKSAoZS5nLiBtZWF0cywgYWxsIGZvb2RzKSAgdGhhdCB0aGUgdGV4dHVyZSBtb2RpZmljYXRpb24gYXBwbGllcyB0by4gIFRoaXMgY291bGQgYmUgYWxsIGZvb2RzIHR5cGVzLiIgY29tbWVudD0iQ291cGxlZCB3aXRoIHRoZSBgdGV4dHVyZS5tb2RpZmllcmA7IGNvdWxkIGJlIChBbGwgRm9vZHMpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRleHR1cmVNb2RpZmllZEZvb2RUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHR5cGVzIG9mIGZvb2RzIHRoYXQgYXJlIHRleHR1cmUtbW9kaWZpZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyLlN1cHBsZW1lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2Ygc3VwcGxlbWVudCBwcm9kdWN0IHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgbnV0cml0aW9uYWwgc3VwcGxlbWVudCBwcm9kdWN0IHJlcXVpcmVkIHN1Y2ggYXMgYSBoaWdoIHByb3RlaW4gb3IgcGVkaWF0cmljIGNsZWFyIGxpcXVpZCBzdXBwbGVtZW50LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN1cHBsZW1lbnRUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIG51dHJpdGlvbmFsIHN1cHBsZW1lbnRzIHRvIGJlIHByb3ZpZGVkIHRvIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZHVjdE5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByb2R1Y3Qgb3IgYnJhbmQgbmFtZSBvZiB0aGUgbnV0cml0aW9uYWwgc3VwcGxlbWVudCIgZGVmaW5pdGlvbj0iVGhlIHByb2R1Y3Qgb3IgYnJhbmQgbmFtZSBvZiB0aGUgbnV0cml0aW9uYWwgc3VwcGxlbWVudCBzdWNoIGFzICZxdW90O0FjbWUgUHJvdGVpbiBTaGFrZSZxdW90Oy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzY2hlZHVsZSIgZGVzY3JpcHRpb249IlNjaGVkdWxlZCBmcmVxdWVuY3kgb2Ygc3VwcGxlbWVudCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgcGVyaW9kIGFuZCBmcmVxdWVuY3kgYXQgd2hpY2ggdGhlIHN1cHBsZW1lbnQocykgc2hvdWxkIGJlIGdpdmVuLiAgVGhlIHN1cHBsZW1lbnQgc2hvdWxkIGJlIGdpdmVuIGZvciB0aGUgY29tYmluYXRpb24gb2YgYWxsIHNjaGVkdWxlcyBpZiBtb3JlIHRoYW4gb25lIHNjaGVkdWxlIGlzIHByZXNlbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIHRoZSBudXRyaXRpb25hbCBzdXBwbGVtZW50IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIHRoZSBudXRyaXRpb25hbCBzdXBwbGVtZW50IHRvIGJlIGdpdmVuLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RydWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0cnVjdGlvbnMgb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JhbCBzdXBwbGVtZW50IiBkZWZpbml0aW9uPSJGcmVlIHRleHQgb3IgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgb3IgaW5mb3JtYXRpb24gcGVydGFpbmluZyB0byB0aGUgb3JhbCBzdXBwbGVtZW50LiIgY29tbWVudD0iRnJlZSB0ZXh0IGRvc2FnZSBpbnN0cnVjdGlvbnMgY2FuIGJlIHVzZWQgZm9yIGNhc2VzIHdoZXJlIHRoZSBpbnN0cnVjdGlvbnMgYXJlIHRvbyBjb21wbGV4IHRvIGNvZGUuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOdXRyaXRpb25PcmRlclN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgY29tcG9uZW50IG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtjb2RlJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQgIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgbmFtZXMgb2Ygc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCBjb21wb25lbnQgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iVXNlZCB3aGVuIG9ic2VydmF0aW9uIGhhcyBhIHNldCBvZiBjb21wb25lbnQgb2JzZXJ2YXRpb25zLiBBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZSBib3RoIGEgdmFsdWUgKGUuZy4gYW4gIEFwZ2FyIHNjb3JlKSAgYW5kIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgKHRoZSBvYnNlcnZhdGlvbnMgZnJvbSB3aGljaCB0aGUgQXBnYXIgc2NvcmUgd2FzIGRlcml2ZWQpLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIGNvbXBvbmVudCByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi5jb21wb25lbnQudmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9IiZxdW90O051bGwmcXVvdDsgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDt0ZXN0IG5vdCBkb25lJnF1b3Q7LiAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBleGNlcHRpb25hbCB2YWx1ZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIG9mIGNvbXBvbmVudCByZXN1bHQiIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQuQ29uY2VudHJhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQuRmxvd1JhdGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb24uQ29tcG9uZW50LmRpYXN0b2xpYyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQuaW5kdXN0cnkiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb24uQ29tcG9uZW50LnN5c3RvbGljIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3ciIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTG93IFJhbmdlLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBsb3cgYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZS4gIFRoZSBsb3cgYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZSBlbmRwb2ludCBpcyBpbmNsdXNpdmUgb2YgdGhlIHZhbHVlIChlLmcuICByZWZlcmVuY2UgcmFuZ2UgaXMgJmd0Oz01IC0gJmx0Oz05KS4gSWYgdGhlIGxvdyBib3VuZCBpcyBvbWl0dGVkLCAgaXQgaXMgYXNzdW1lZCB0byBiZSBtZWFuaW5nbGVzcyAoZS5nLiByZWZlcmVuY2UgcmFuZ2UgaXMgJmx0Oz0yLjMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImhpZ2giIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCBSYW5nZSwgaWYgcmVsZXZhbnQiIGRlZmluaXRpb249IlRoZSB2YWx1ZSBvZiB0aGUgaGlnaCBib3VuZCBvZiB0aGUgcmVmZXJlbmNlIHJhbmdlLiAgVGhlIGhpZ2ggYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZSBlbmRwb2ludCBpcyBpbmNsdXNpdmUgb2YgdGhlIHZhbHVlIChlLmcuICByZWZlcmVuY2UgcmFuZ2UgaXMgJmd0Oz01IC0gJmx0Oz05KS4gSWYgdGhlIGhpZ2ggYm91bmQgaXMgb21pdHRlZCwgIGl0IGlzIGFzc3VtZWQgdG8gYmUgbWVhbmluZ2xlc3MgKGUuZy4gcmVmZXJlbmNlIHJhbmdlIGlzICZndDs9IDIuMykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHJhbmdlIHF1YWxpZmllciIgZGVmaW5pdGlvbj0iQ29kZXMgdG8gaW5kaWNhdGUgdGhlIHdoYXQgcGFydCBvZiB0aGUgdGFyZ2V0ZWQgcmVmZXJlbmNlIHBvcHVsYXRpb24gaXQgYXBwbGllcyB0by4gRm9yIGV4YW1wbGUsIHRoZSBub3JtYWwgb3IgdGhlcmFwZXV0aWMgcmFuZ2UuIiBjb21tZW50PSJUaGlzIFNIT1VMRCBiZSBwb3B1bGF0ZWQgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSByYW5nZS4gIElmIHRoaXMgZWxlbWVudCBpcyBub3QgcHJlc2VudCB0aGVuIHRoZSBub3JtYWwgcmFuZ2UgaXMgYXNzdW1lZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblJhbmdlTWVhbmluZyIgZGVzY3JpcHRpb249IkNvZGUgZm9yIHRoZSBtZWFuaW5nIG9mIGEgcmVmZXJlbmNlIHJhbmdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhcHBsaWVzVG8iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWZlcmVuY2UgcmFuZ2UgcG9wdWxhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZXMgdG8gaW5kaWNhdGUgdGhlIHRhcmdldCBwb3B1bGF0aW9uIHRoaXMgcmVmZXJlbmNlIHJhbmdlIGFwcGxpZXMgdG8uICBGb3IgZXhhbXBsZSwgYSByZWZlcmVuY2UgcmFuZ2UgbWF5IGJlIGJhc2VkIG9uIHRoZSBub3JtYWwgcG9wdWxhdGlvbiBvciBhIHBhcnRpY3VsYXIgc2V4IG9yIHJhY2UuICBNdWx0aXBsZSBgYXBwbGllc1RvYCAgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O0FORCZxdW90OyBvZiB0aGUgdGFyZ2V0IHBvcHVsYXRpb25zLiAgRm9yIGV4YW1wbGUsIHRvIHJlcHJlc2VudCBhIHRhcmdldCBwb3B1bGF0aW9uIG9mIEFmcmljYW4gQW1lcmljYW4gZmVtYWxlcywgYm90aCBhIGNvZGUgb2YgZmVtYWxlIGFuZCBhIGNvZGUgZm9yIEFmcmljYW4gQW1lcmljYW4gd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9IlRoaXMgU0hPVUxEIGJlIHBvcHVsYXRlZCBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHJhbmdlLiAgSWYgdGhpcyBlbGVtZW50IGlzIG5vdCBwcmVzZW50IHRoZW4gdGhlIG5vcm1hbCBwb3B1bGF0aW9uIGlzIGFzc3VtZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uUmFuZ2VUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgdGhlIHBvcHVsYXRpb24gdGhlIHJlZmVyZW5jZSByYW5nZSBhcHBsaWVzIHRvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWdlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgYWdlIHJhbmdlLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIGFnZSBhdCB3aGljaCB0aGlzIHJlZmVyZW5jZSByYW5nZSBpcyBhcHBsaWNhYmxlLiBUaGlzIGlzIGEgbmVvbmF0YWwgYWdlIChlLmcuIG51bWJlciBvZiB3ZWVrcyBhdCB0ZXJtKSBpZiB0aGUgbWVhbmluZyBzYXlzIHNvLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHQgYmFzZWQgcmVmZXJlbmNlIHJhbmdlIGluIGFuIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUZXh0IGJhc2VkIHJlZmVyZW5jZSByYW5nZSBpbiBhbiBvYnNlcnZhdGlvbiB3aGljaCBtYXkgYmUgdXNlZCB3aGVuIGEgcXVhbnRpdGF0aXZlIHJhbmdlIGlzIG5vdCBhcHByb3ByaWF0ZSBmb3IgYW4gb2JzZXJ2YXRpb24uICBBbiBleGFtcGxlIHdvdWxkIGJlIGEgcmVmZXJlbmNlIHZhbHVlIG9mICZxdW90O05lZ2F0aXZlJnF1b3Q7IG9yIGEgbGlzdCBvciB0YWJsZSBvZiAmcXVvdDtub3JtYWxzJnF1b3Q7LiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb25DYW5jZWxsZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW9ic2VydmF0aW9uY2FuY2VsbGVkIiBsYWJlbD0iUUlDb3JlIE9ic2VydmF0aW9uIENhbmNlbGxlZCIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90RG9uZVJlYXNvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVSZWFzb24nXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiB0aGUgZXZlbnQgd2FzIG5vdCBkb25lLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENsYXNzaWZpY2F0aW9uIG9mIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5jb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUeXBlIG9mIG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ29kZSIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIG5hbWVzIG9mIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4gVGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24sIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0ocXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uQ2xpbmljYWxSZXN1bHQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW9ic2VydmF0aW9uLWNsaW5pY2FsLXJlc3VsdCIgbGFiZWw9IlFJQ29yZSBPYnNlcnZhdGlvbiBDbGluaWNhbCBSZXN1bHQiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCB8IGNvcnJlY3RlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1cy1jb3JlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDbGluaWNhbCBUZXN0IG9yIFByb2NlZHVyZSBOYW1lIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgY2xpbmljYWwgdGVzdCBvciBwcm9jZWR1cmUgcGVyZm9ybWVkIG9uIGEgcGF0aWVudC4gIEEgTE9JTkMgKipTSEFMTCoqIGJlIHVzZWQgaWYgdGhlIGNvbmNlcHQgaXMgcHJlc2VudCBpbiBMT0lOQy4iIGNvbW1lbnQ9IlRoZSB0eXBpY2FsIHBhdHRlcm5zIGZvciBjb2RlcyBhcmU6ICAxKSAgYSBMT0lOQyBjb2RlIGVpdGhlciBhcyBhIHRyYW5zbGF0aW9uIGZyb20gYSAmcXVvdDtsb2NhbCZxdW90OyBjb2RlIG9yIGFzIGEgcHJpbWFyeSBjb2RlLCBvciAyKSAgYSBsb2NhbCBjb2RlIG9ubHkgaWYgbm8gc3VpdGFibGUgTE9JTkMgZXhpc3RzLCAgb3IgMykgIGJvdGggdGhlIGxvY2FsIGFuZCB0aGUgTE9JTkMgdHJhbnNsYXRpb24uICAgU3lzdGVtcyBTSEFMTCBiZSBjYXBhYmxlIG9mIHNlbmRpbmcgdGhlIGxvY2FsIGNvZGUgaWYgb25lIGV4aXN0cy4gIFdoZW4gdXNpbmcgTE9JTkMgLCBVc2UgZWl0aGVyIHRoZSBTSE9SVE5BTUUgb3IgTE9OR19DT01NT05fTkFNRSBmaWVsZCBmb3IgdGhlIGRpc3BsYXkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRGF0ZXRpbWUgbXVzdCBiZSBhdCBsZWFzdCB0byBkYXkuIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIkdGhpcyBpcyBEYXRlVGltZSBpbXBsaWVzICR0aGlzLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gMTAiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVzdWx0IFZhbHVlIiBkZWZpbml0aW9uPSJUaGUgY2xpbmljYWwgdGVzdCBvciBwcm9jZWR1cmUgcmVzdWx0IHZhbHVlLiBJZiBhIG51bWVyaWMgdmFsdWUsIHZhbHVlUXVhbnRpdHkuY29kZSAqKlNIQUxMKiogYmUgc2VsZWN0ZWQgZnJvbSBbVUNVTV0oaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZykuICBBIEZISVIgW1VDVU0gQ29kZXMgdmFsdWUgc2V0XShodHRwOi8vaGw3Lm9yZy9maGlyL1NUVTMvdmFsdWVzZXQtdWN1bS11bml0cy5odG1sKSB0aGF0IGRlZmluZXMgYWxsIFVDVU0gY29kZXMgaXMgaW4gdGhlIEZISVIgc3BlY2lmaWNhdGlvbi4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIHVzZSBVQ1VNIGZvciBjb2RlZCBxdWFudGl0eSB1bml0cy4iPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLm9mVHlwZShRdWFudGl0eSkuc3lzdGVtLmVtcHR5KCkgb3IgdmFsdWUub2ZUeXBlKFF1YW50aXR5KS5zeXN0ZW0gPSAnaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyciLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvblNjcmVlbmluZ0Fzc2Vzc21lbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW9ic2VydmF0aW9uLXNjcmVlbmluZy1hc3Nlc3NtZW50IiBsYWJlbD0iUUlDb3JlIE9ic2VydmF0aW9uIFNjcmVlbmluZyBBc3Nlc3NtZW50IiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgcmVnaXN0ZXJlZCB8IHBybGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgfCBjb3JyZWN0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXJ2ZXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2NyZWVuaW5nLWFzc2Vzc21lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDYXRlZ29yaWVzIHRoYXQgYSBwcm92aWRlciBtYXkgdXNlIGluIHRoZWlyIHdvcmtmbG93IHRvIGNsYXNzaWZ5IHRoYXQgdGhpcyBPYnNlcnZhdGlvbiBpcyByZWxhdGVkIHRvIGEgVVNDREkgSGVhbHRoIFN0YXR1cy9Bc3Nlc3NtZW50cyBEYXRhIENsYXNzLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJOb3RlIHRoYXQgb3RoZXIgY29kZXMgYXJlIHBlcm1pdHRlZCwgc2VlIFtSZXF1aXJlZCBCaW5kaW5ncyBXaGVuIFNsaWNpbmcgYnkgVmFsdWUgU2V0c10oaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL2dlbmVyYWwtcmVxdWlyZW1lbnRzLmh0bWwjcmVxdWlyZWQtYmluZGluZ3Mtd2hlbi1zbGljaW5nLWJ5LXZhbHVlc2V0cykiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFR5cGUgb2Ygb2JzZXJ2YXRpb24gKGNvZGUgLyB0eXBlKSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkRhdGV0aW1lIG11c3QgYmUgYXQgbGVhc3QgdG8gZGF5LiI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDEwIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiIgY29tbWVudD0iU29tZSBxdWVzdGlvbnMgb24gcXVlc3Rpb25uYWlyZXMgYXJlIG5vdCBhbnN3ZXJlZCBkaXJlY3RseSAoZS5nLiwgYXNzZXJ0ZWQpIGJ5IHRoZSBpbmRpdmlkdWFsIGNvbXBsZXRpbmcgdGhlIHF1ZXN0aW9ubmFpcmUsIGJ1dCBhcmUgZGVyaXZlZCBmcm9tIGFuc3dlcnMgdG8gb25lIG9yIG1vcmUgb3RoZXIgcXVlc3Rpb25zLiBGb3IgdHlwZXMgb2YgYW5zd2VycywgYE9ic2VydmF0aW9uLnBlcmZvcm1lcmAgc2hvdWxkIG5vdCBiZSBzcGVjaWZpZWQgYW5kIGBPYnNlcnZhdGlvbi5kZXJpdmVkRnJvbWAgc2hvdWxkIHJlZmVyZW5jZSB0aGUgcmVsZXZhbnQgU2NyZWVuaW5nIFJlc3BvbnNlIE9ic2VydmF0aW9uKHMpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZSBhIHZhbHVlIGlmIGl0IHJlcHJlc2VudHMgYW4gaW5kaXZpZHVhbCBzdXJ2ZXkgcXVlc3Rpb24gYW5kIGFuc3dlciBwYWlyLiBBbiBvYnNlcnZhdGlvbiBzaG91bGQgbm90IGhhdmUgYSB2YWx1ZSBpZiBpdCByZXByZXNlbnRzIGEgbXVsdGktcXVlc3Rpb24gc3VydmV5IG9yIG11bHRpLXNlbGVjdCDigJxjaGVjayBhbGwgdGhhdCBhcHBseeKAnSBxdWVzdGlvbi4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9IiZxdW90O051bGwmcXVvdDsgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgVGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiBGb3IgYSBnaXZlbiBMT0lOQyBxdWVzdGlvbiwgaWYgdGhlIExPSU5DIGFuc3dlciBsaXN0IGluY2x1ZGVzIGNvbmNlcHRzIHN1Y2ggYXMgJ3Vua25vd24nIG9yICdub3QgYXZhaWxhYmxlJywgdGhleSBzaG91bGQgYmUgdXNlZCBmb3IgT2JzZXJ2YXRpb24udmFsdWUuIFdoZXJlIHRoZXNlIGNvbmNlcHRzIGFyZSBub3QgcGFydCBvZiB0aGUgdmFsdWUgc2V0IGZvciBPYnNlcnZhdGlvbi52YWx1ZSwgdGhlIE9ic2VydmF0aW9uLmRhdGFBYnNlbnRSZWFzb24gY2FuIGJlIHVzZWQgaWYgbmVjZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVmZXJlbmNlIHRvIHBhbmVsIG9yIG11bHRpLXNlbGVjdCByZXNwb25zZXMiIGRlZmluaXRpb249IkFnZ3JlZ2F0ZSBzZXQgb2YgT2JzZXJ2YXRpb25zIHRoYXQgcmVwcmVzZW50IHF1ZXN0aW9uIGFuc3dlciBwYWlycyBmb3IgYm90aCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXlzIGFuZCBtdWx0aS1zZWxlY3QgcXVlc3Rpb25zLiIgY29tbWVudD0iVGhpcyBncm91cGluZyBlbGVtZW50IGlzIHVzZWQgdG8gcmVwcmVzZW50IHN1cnZleXMgdGhhdCBncm91cCBzZXZlcmFsIHF1ZXN0aW9ucyB0b2dldGhlciBvciBpbmRpdmlkdWFsIHF1ZXN0aW9ucyB3aXRoICDigJxjaGVjayBhbGwgdGhhdCBhcHBseeKAnSByZXNwb25zZXMuIEZvciBleGFtcGxlIGluIHRoZSBzaW1wbGVzdCBjYXNlIGEgZmxhdCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXkgd2hlcmUgdGhlICZxdW90O3BhbmVsJnF1b3Q7IG9ic2VydmF0aW9uIGlzIHRoZSBzdXJ2ZXkgaW5zdHJ1bWVudCBpdHNlbGYgYW5kIGluc3RlYWQgb2YgYW4gYE9ic2VydmF0aW9uLnZhbHVlYCB0aGUgYGhhc01lbWJlcmAgZWxlbWVudCByZWZlcmVuY2VzIG90aGVyIE9ic2VydmF0aW9uIHRoYXQgcmVwcmVzZW50IHRoZSBpbmRpdmlkdWFsIHF1ZXN0aW9ucyBhbnN3ZXIgcGFpcnMuIEluIGEgc3VydmV5IHRoYXQgaGFzIGEgaGVpcmFyY2hpY2FsIGdyb3VwaW5nIG9mIHF1ZXN0aW9ucywgdGhlIG9ic2VydmF0aW9uICZxdW90O3BhbmVscyZxdW90OyBjYW4gYmUgbmVzdGVkLiBCZWNhdXNlIHN1cnZleXMgY2FuIGJlIGFyYml0cmFyaWx5IGNvbXBsZXggc3RydWN0dXJhbGx5LCBub3QgYWxsIHN1cnZleSBzdHJ1Y3R1cmVzIGNhbiBiZSByZXByZXNlbnRlZCB1c2luZyB0aGlzIE9ic2VydmF0aW9uIGdyb3VwaW5nIHBhdHRlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBSZWxhdGVkIE9ic2VydmF0aW9ucyBvciBRdWVzdGlvbm5haXJlUmVzcG9uc2VzIHRoYXQgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iT2JzZXJ2YXRpb25zIG9yIFF1ZXN0aW9ubmFpcmVSZXNwb25zZXMgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU29tZSBvYnNlcnZhdGlvbnMgaGF2ZSBtdWx0aXBsZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zLiAgVGhlc2UgY29tcG9uZW50IG9ic2VydmF0aW9ucyBhcmUgZXhwcmVzc2VkIGFzIHNlcGFyYXRlIGNvZGUgdmFsdWUgcGFpcnMgdGhhdCBzaGFyZSB0aGUgc2FtZSBhdHRyaWJ1dGVzLiAgRXhhbXBsZXMgaW5jbHVkZSBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGJsb29kIHByZXNzdXJlIG1lYXN1cmVtZW50IGFuZCBtdWx0aXBsZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBnZW5ldGljcyBvYnNlcnZhdGlvbnMuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb25TdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT3JkaW5hbCBWYWx1ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxWYWx1ZSIgbGFiZWw9Ik9yZGluYWwgVmFsdWUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5EZWNpbWFsIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9yZ2FuaXphdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb3JnYW5pemF0aW9uIiBsYWJlbD0iUUlDb3JlIE9yZ2FuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhpcyBvcmdhbml6YXRpb24gIGFjcm9zcyBtdWx0aXBsZSBzeXN0ZW1zIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGUgb3JnYW5pemF0aW9uIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgb3JnYW5pemF0aW9uIGFjcm9zcyBtdWx0aXBsZSBkaXNwYXJhdGUgc3lzdGVtcy4iIGNvbW1lbnQ9Ik5QSSBwcmVmZXJyZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJOUEkiIGRlc2NyaXB0aW9uPSJOYXRpb25hbCBQcm92aWRlciBJZGVudGlmaWVyIChOUEkpIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGUgb3JnYW5pemF0aW9uIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgb3JnYW5pemF0aW9uIGFjcm9zcyBtdWx0aXBsZSBkaXNwYXJhdGUgc3lzdGVtcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMTYiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTlBJIG11c3QgYmUgMTAgZGlnaXRzIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5tYXRjaGVzKCdeWzAtOV17MTB9JCcpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0xNyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJOUEkgY2hlY2sgZGlnaXQgbXVzdCBiZSB2YWxpZCAoTHVobiBhbGdvcml0aG0gY2hlY2spIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoKChzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDAsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDEsMSkudG9JbnRlZ2VyKCkpKyhzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDIsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDMsMSkudG9JbnRlZ2VyKCkpKyhzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDQsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDUsMSkudG9JbnRlZ2VyKCkpKyhzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDYsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDcsMSkudG9JbnRlZ2VyKCkpKyhzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDgsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDksMSkudG9JbnRlZ2VyKCkpICsgMjQpbW9kIDEwPTApIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iQ0xJQSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIExhYm9yYXRvcnkgSW1wcm92ZW1lbnQgQW1lbmRtZW50cyAoQ0xJQSkgTnVtYmVyIGZvciBsYWJvcmF0b3JpZXMiIGRlZmluaXRpb249IklkZW50aWZpZXIgZm9yIHRoZSBvcmdhbml6YXRpb24gdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBvcmdhbml6YXRpb24gYWNyb3NzIG11bHRpcGxlIGRpc3BhcmF0ZSBzeXN0ZW1zLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMTgiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iQ0xJQSBudW1iZXIgbXVzdCBiZSAxMCBkaWdpdHMgd2l0aCBhIGxldHRlciAmcXVvdDtEJnF1b3Q7IGluIHRoaXJkIHBvc2l0aW9uIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5tYXRjaGVzKCdeWzAtOV17Mn1EWzAtOV17N30kJykiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJOQUlDIiBkZXNjcmlwdGlvbj0iTkFJQyBDb2RlIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGUgb3JnYW5pemF0aW9uIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgb3JnYW5pemF0aW9uIGFjcm9zcyBtdWx0aXBsZSBkaXNwYXJhdGUgc3lzdGVtcy4iIGNvbW1lbnQ9Ik5BSUMgQ29tcGFueSBjb2RlIChzb21ldGltZXMgY2FsbGVkICZxdW90O05BSUMgTnVtYmVyJnF1b3Q7IG9yICZxdW90O2NvY29kZSZxdW90OykgZm9yIHBheWVycy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTE5IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik5BSUMgbXVzdCBiZSA1IGRpZ2l0cyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUubWF0Y2hlcygnXlswLTldezV9JCcpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2NuIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ01TIENlcnRpZmljYXRpb24gTnVtYmVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGUgb3JnYW5pemF0aW9uIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgb3JnYW5pemF0aW9uIGFjcm9zcyBtdWx0aXBsZSBkaXNwYXJhdGUgc3lzdGVtcy4iIGNvbW1lbnQ9Ik5QSSBwcmVmZXJyZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVpbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEVtcGxveWVyIElkZW50aWZpY2F0aW9uIE51bWJlciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBjb21tZW50PSJUaGVyZSBpcyBub3QgYSBnZW5lcmFsIFRheCBJZGVudGlmaWVyIE51bWVyIChUSU4pIE9JRC4gVGhlcmUgaXMgYW4gU1NOLCBhIFBUSU4sIGFuZCBhbiBJVElOLCBidXQgbm8gVElOIGdlbmVyYWxseS4gU28gdGhlIG9ubHkgc2xpY2Ugc3BlY2lmaWVkIGhlcmUgaXMgRUlOLCBpZiBjb25zdW1lcnMgZGV0ZXJtaW5lIGEgbmVlZCBmb3IgYW4gU1NOLCBzdWJtaXQgYSBjb21tZW50IHRvIHRoYXQgZWZmZWN0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoZSBvcmdhbml6YXRpb24ncyByZWNvcmQgaXMgc3RpbGwgaW4gYWN0aXZlIHVzZSIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgb3JnYW5pemF0aW9uJ3MgcmVjb3JkIGlzIHN0aWxsIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJUaGlzIGFjdGl2ZSBmbGFnIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIHRvIG1hcmsgYW4gb3JnYW5pemF0aW9uIGFzIHRlbXBvcmFyaWx5IGNsb3NlZCBvciB1bmRlciBjb25zdHJ1Y3Rpb24uIEluc3RlYWQgdGhlIExvY2F0aW9uKHMpIHdpdGhpbiB0aGUgT3JnYW5pemF0aW9uIHNob3VsZCBoYXZlIHRoZSBzdXNwZW5kZWQgc3RhdHVzLiBJZiBmdXJ0aGVyIGRldGFpbHMgb2YgdGhlIHJlYXNvbiBmb3IgdGhlIHN1c3BlbnNpb24gYXJlIHJlcXVpcmVkLCB0aGVuIGFuIGV4dGVuc2lvbiBvbiB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIHVzZWQuJiMxMDsmIzEwO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSBpdCBtYXkgYmUgdXNlZCB0byBtYXJrIHRoYXQgdGhlIHJlc291cmNlIHdhcyBjcmVhdGVkIGluIGVycm9yLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBvcmdhbml6YXRpb24iIGRlZmluaXRpb249IlRoZSBraW5kKHMpIG9mIG9yZ2FuaXphdGlvbiB0aGF0IHRoaXMgaXMuIiBjb21tZW50PSJPcmdhbml6YXRpb25zIGNhbiBiZSBjb3Jwb3JhdGlvbnMsIHdhcmRzLCBzZWN0aW9ucywgY2xpbmljYWwgdGVhbXMsIGdvdmVybm1lbnQgZGVwYXJ0bWVudHMsIGV0Yy4gTm90ZSB0aGF0IGNvZGUgaXMgZ2VuZXJhbGx5IGEgY2xhc3NpZmllciBvZiB0aGUgdHlwZSBvZiBvcmdhbml6YXRpb247IGluIG1hbnkgYXBwbGljYXRpb25zLCBjb2RlcyBhcmUgdXNlZCB0byBpZGVudGl0eSBhIHBhcnRpY3VsYXIgb3JnYW5pemF0aW9uIChzYXksIHdhcmQpIGFzIG9wcG9zZWQgdG8gYW5vdGhlciBvZiB0aGUgc2FtZSB0eXBlIC0gdGhlc2UgYXJlIGlkZW50aWZpZXJzLCBub3QgY29kZXMmIzEwOyYjMTA7V2hlbiBjb25zaWRlcmluZyBpZiBtdWx0aXBsZSB0eXBlcyBhcmUgYXBwcm9wcmlhdGUsIHlvdSBzaG91bGQgZXZhbHVhdGUgaWYgY2hpbGQgb3JnYW5pemF0aW9ucyB3b3VsZCBiZSBhIG1vcmUgYXBwcm9wcmlhdGUgdXNlIG9mIHRoZSBjb25jZXB0LCBhcyBkaWZmZXJlbnQgdHlwZXMgbGlrZWx5IGFyZSBpbiBkaWZmZXJlbnQgc3ViLWFyZWFzIG9mIHRoZSBvcmdhbml6YXRpb24uIFRoaXMgaXMgbW9zdCBsaWtlbHkgdG8gYmUgdXNlZCB3aGVyZSB0eXBlIHZhbHVlcyBoYXZlIG9ydGhvZ29uYWwgdmFsdWVzLCBzdWNoIGFzIGEgcmVsaWdpb3VzLCBhY2FkZW1pYyBhbmQgbWVkaWNhbCBjZW50ZXIuJiMxMDsmIzEwO1dlIGV4cGVjdCB0aGF0IHNvbWUganVyaXNkaWN0aW9ucyB3aWxsIHByb2ZpbGUgdGhpcyBvcHRpb25hbGl0eSB0byBiZSBhIHNpbmdsZSBjYXJkaW5hbGl0eS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlVzZWQgdG8gY2F0ZWdvcml6ZSB0aGUgb3JnYW5pemF0aW9uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgdXNlZCBmb3IgdGhlIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JnYW5pemF0aW9uLiIgY29tbWVudD0iSWYgdGhlIG5hbWUgb2YgYW4gb3JnYW5pemF0aW9uIGNoYW5nZXMsIGNvbnNpZGVyIHB1dHRpbmcgdGhlIG9sZCBuYW1lIGluIHRoZSBhbGlhcyBjb2x1bW4gc28gdGhhdCBpdCBjYW4gc3RpbGwgYmUgbG9jYXRlZCB0aHJvdWdoIHNlYXJjaGVzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbGlhcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgYWx0ZXJuYXRlIG5hbWVzIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzIGluIHRoZSBwYXN0IiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgYWx0ZXJuYXRlIG5hbWVzIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzIGluIHRoZSBwYXN0LiIgY29tbWVudD0iVGhlcmUgYXJlIG5vIGRhdGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWxpYXMvaGlzdG9yaWMgbmFtZXMsIGFzIHRoaXMgaXMgbm90IGludGVuZGVkIHRvIHRyYWNrIHdoZW4gbmFtZXMgd2VyZSB1c2VkLCBidXQgdG8gYXNzaXN0IGluIHNlYXJjaGluZyBzbyB0aGF0IG9sZGVyIG5hbWVzIGNhbiBzdGlsbCByZXN1bHQgaW4gaWRlbnRpZnlpbmcgdGhlIG9yZ2FuaXphdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tIiBkZXNjcmlwdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIG9yZ2FuaXphdGlvbi4iIGNvbW1lbnQ9IlRoZSB1c2UgY29kZSAnaG9tZScgaXMgbm90IHRvIGJlIHVzZWQuIE5vdGUgdGhhdCB0aGVzZSBjb250YWN0cyBhcmUgbm90IHRoZSBjb250YWN0IGRldGFpbHMgb2YgcGVvcGxlIHdobyBhcmUgZW1wbG95ZWQgYnkgb3IgcmVwcmVzZW50IHRoZSBvcmdhbml6YXRpb24sIGJ1dCBvZmZpY2lhbCBjb250YWN0cyBmb3IgdGhlIG9yZ2FuaXphdGlvbiBpdHNlbGYuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9yZy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlRoZSB0ZWxlY29tIG9mIGFuIG9yZ2FuaXphdGlvbiBjYW4gbmV2ZXIgYmUgb2YgdXNlICdob21lJyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0id2hlcmUodXNlID0gJ2hvbWUnKS5lbXB0eSgpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBvcmdhbml6YXRpb24iIGRlZmluaXRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBjb21tZW50PSJPcmdhbml6YXRpb24gbWF5IGhhdmUgbXVsdGlwbGUgYWRkcmVzc2VzIHdpdGggZGlmZmVyZW50IHVzZXMgb3IgYXBwbGljYWJsZSBwZXJpb2RzLiBUaGUgdXNlIGNvZGUgJ2hvbWUnIGlzIG5vdCB0byBiZSB1c2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib3JnLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iQW4gYWRkcmVzcyBvZiBhbiBvcmdhbml6YXRpb24gY2FuIG5ldmVyIGJlIG9mIHVzZSAnaG9tZSciPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IndoZXJlKHVzZSA9ICdob21lJykuZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgb3JnYW5pemF0aW9uIG9mIHdoaWNoIHRoaXMgb3JnYW5pemF0aW9uIGZvcm1zIGEgcGFydCIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiBvZiB3aGljaCB0aGlzIG9yZ2FuaXphdGlvbiBmb3JtcyBhIHBhcnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkNvbnRhY3QgZm9yIHRoZSBvcmdhbml6YXRpb24gZm9yIGEgY2VydGFpbiBwdXJwb3NlIiBkZWZpbml0aW9uPSJDb250YWN0IGZvciB0aGUgb3JnYW5pemF0aW9uIGZvciBhIGNlcnRhaW4gcHVycG9zZS4iIGNvbW1lbnQ9IldoZXJlIG11bHRpcGxlIGNvbnRhY3RzIGZvciB0aGUgc2FtZSBwdXJwb3NlIGFyZSBwcm92aWRlZCB0aGVyZSBpcyBhIHN0YW5kYXJkIGV4dGVuc2lvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBvbmUgaXMgdGhlIHByZWZlcnJlZCBjb250YWN0IHRvIHVzZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9yZ2FuaXphdGlvbi5Db250YWN0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBvcmdhbml6YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPcmdhbml6YXRpb24uQ29udGFjdCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHVycG9zZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgY29udGFjdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGEgcHVycG9zZSBmb3Igd2hpY2ggdGhlIGNvbnRhY3QgY2FuIGJlIHJlYWNoZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29udGFjdFBhcnR5VHlwZSIgZGVzY3JpcHRpb249IlRoZSBwdXJwb3NlIGZvciB3aGljaCB5b3Ugd291bGQgY29udGFjdCBhIGNvbnRhY3QgcGFydHkuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iUUlDb3JlLkh1bWFuTmFtZSIgZGVzY3JpcHRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QiIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IkNvbnRhY3QgZGV0YWlscyAodGVsZXBob25lLCBlbWFpbCwgZXRjLikgIGZvciBhIGNvbnRhY3QiIGRlZmluaXRpb249IkEgY29udGFjdCBkZXRhaWwgKGUuZy4gYSB0ZWxlcGhvbmUgbnVtYmVyIG9yIGFuIGVtYWlsIGFkZHJlc3MpIGJ5IHdoaWNoIHRoZSBwYXJ0eSBtYXkgYmUgY29udGFjdGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3MiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWRkcmVzcyIgZGVzY3JpcHRpb249IlZpc2l0aW5nIG9yIHBvc3RhbCBhZGRyZXNzZXMgZm9yIHRoZSBjb250YWN0IiBkZWZpbml0aW9uPSJWaXNpdGluZyBvciBwb3N0YWwgYWRkcmVzc2VzIGZvciB0aGUgY29udGFjdC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXJhbWV0ZXJEZWZpbml0aW9uIiBsYWJlbD0iUGFyYW1ldGVyRGVmaW5pdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgdXNlZCB0byBhY2Nlc3MgdGhlIHBhcmFtZXRlciB2YWx1ZSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlciB1c2VkIHRvIGFsbG93IGFjY2VzcyB0byB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlciBpbiBldmFsdWF0aW9uIGNvbnRleHRzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5QYXJhbWV0ZXJVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW4gfCBvdXQiIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHBhcmFtZXRlciBpcyBpbnB1dCBvciBvdXRwdXQgZm9yIHRoZSBtb2R1bGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGFyYW1ldGVyVXNlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgcGFyYW1ldGVyIGlzIGlucHV0IG9yIG91dHB1dC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtaW4iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNaW5pbXVtIGNhcmRpbmFsaXR5IiBkZWZpbml0aW9uPSJUaGUgbWluaW11bSBudW1iZXIgb2YgdGltZXMgdGhpcyBwYXJhbWV0ZXIgU0hBTEwgYXBwZWFyIGluIHRoZSByZXF1ZXN0IG9yIHJlc3BvbnNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTWF4aW11bSBjYXJkaW5hbGl0eSAoYSBudW1iZXIgb2YgKikiIGRlZmluaXRpb249IlRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGlzIGVsZW1lbnQgaXMgcGVybWl0dGVkIHRvIGFwcGVhciBpbiB0aGUgcmVxdWVzdCBvciByZXNwb25zZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb2N1bWVudGF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJhbWV0ZXIiIGRlZmluaXRpb249IkEgYnJpZWYgZGlzY3Vzc2lvbiBvZiB3aGF0IHRoZSBwYXJhbWV0ZXIgaXMgZm9yIGFuZCBob3cgaXQgaXMgdXNlZCBieSB0aGUgbW9kdWxlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRkhJUkFsbFR5cGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoYXQgdHlwZSBvZiB2YWx1ZSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgdGhlIHBhcmFtZXRlci4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSQWxsVHlwZXMiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgYWxsIHRoZSBjb25jcmV0ZSB0eXBlcyBkZWZpbmVkIGluIHRoaXMgdmVyc2lvbiBvZiB0aGUgRkhJUiBzcGVjaWZpY2F0aW9uIC0gQWJzdHJhY3QgVHlwZXMsIERhdGEgVHlwZXMgYW5kIFJlc291cmNlIFR5cGVzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2ZpbGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoYXQgcHJvZmlsZSB0aGUgdmFsdWUgaXMgZXhwZWN0ZWQgdG8gYmUiIGRlZmluaXRpb249IklmIHNwZWNpZmllZCwgdGhpcyBpbmRpY2F0ZXMgYSBwcm9maWxlIHRoYXQgdGhlIGlucHV0IGRhdGEgbXVzdCBjb25mb3JtIHRvLCBvciB0aGF0IHRoZSBvdXRwdXQgZGF0YSB3aWxsIGNvbmZvcm0gdG8uIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXJhbWV0ZXJVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcGF0aWVudCIgbGFiZWw9IlFJQ29yZSBQYXRpZW50IiByZXRyaWV2YWJsZT0idHJ1ZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmFjZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5VU0NvcmVSYWNlRXh0ZW5zaW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yYWNlJ10iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFVTIENvcmUgUmFjZSBFeHRlbnNpb24iIGRlZmluaXRpb249IkNvbmNlcHRzIGNsYXNzaWZ5aW5nIHRoZSBwZXJzb24gaW50byBhIG5hbWVkIGNhdGVnb3J5IG9mIGh1bWFucyBzaGFyaW5nIGNvbW1vbiBoaXN0b3J5LCB0cmFpdHMsIGdlb2dyYXBoaWNhbCBvcmlnaW4gb3IgbmF0aW9uYWxpdHkuICBUaGUgcmFjZSBjb2RlcyB1c2VkIHRvIHJlcHJlc2VudCB0aGVzZSBjb25jZXB0cyBhcmUgYmFzZWQgdXBvbiB0aGUgW0NEQyBSYWNlIGFuZCBFdGhuaWNpdHkgQ29kZSBTZXQgVmVyc2lvbiAxLjBdKGh0dHA6Ly93d3cuY2RjLmdvdi9waGluL3Jlc291cmNlcy92b2NhYnVsYXJ5L2luZGV4Lmh0bWwpIHdoaWNoIGluY2x1ZGVzIG92ZXIgOTAwIGNvbmNlcHRzIGZvciByZXByZXNlbnRpbmcgcmFjZSBhbmQgZXRobmljaXR5IG9mIHdoaWNoIDkyMSByZWZlcmVuY2UgcmFjZS4gIFRoZSByYWNlIGNvbmNlcHRzIGFyZSBncm91cGVkIGJ5IGFuZCBwcmUtbWFwcGVkIHRvIHRoZSA1IE9NQiByYWNlIGNhdGVnb3JpZXM6JiMxMDsmIzEwOyAgIC0gQW1lcmljYW4gSW5kaWFuIG9yIEFsYXNrYSBOYXRpdmUmIzEwOyAgIC0gQXNpYW4mIzEwOyAgIC0gQmxhY2sgb3IgQWZyaWNhbiBBbWVyaWNhbiYjMTA7ICAgLSBOYXRpdmUgSGF3YWlpYW4gb3IgT3RoZXIgUGFjaWZpYyBJc2xhbmRlciYjMTA7ICAgLSBXaGl0ZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImV0aG5pY2l0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5VU0NvcmVFdGhuaWNpdHlFeHRlbnNpb24iIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV0aG5pY2l0eSddIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBVUyBDb3JlIGV0aG5pY2l0eSBFeHRlbnNpb24iIGRlZmluaXRpb249IkNvbmNlcHRzIGNsYXNzaWZ5aW5nIHRoZSBwZXJzb24gaW50byBhIG5hbWVkIGNhdGVnb3J5IG9mIGh1bWFucyBzaGFyaW5nIGNvbW1vbiBoaXN0b3J5LCB0cmFpdHMsIGdlb2dyYXBoaWNhbCBvcmlnaW4gb3IgbmF0aW9uYWxpdHkuICBUaGUgZXRobmljaXR5IGNvZGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZXNlIGNvbmNlcHRzIGFyZSBiYXNlZCB1cG9uIHRoZSBbQ0RDIGV0aG5pY2l0eSBhbmQgRXRobmljaXR5IENvZGUgU2V0IFZlcnNpb24gMS4wXShodHRwOi8vd3d3LmNkYy5nb3YvcGhpbi9yZXNvdXJjZXMvdm9jYWJ1bGFyeS9pbmRleC5odG1sKSB3aGljaCBpbmNsdWRlcyBvdmVyIDkwMCBjb25jZXB0cyBmb3IgcmVwcmVzZW50aW5nIHJhY2UgYW5kIGV0aG5pY2l0eSBvZiB3aGljaCA0MyByZWZlcmVuY2UgZXRobmljaXR5LiAgVGhlIGV0aG5pY2l0eSBjb25jZXB0cyBhcmUgZ3JvdXBlZCBieSBhbmQgcHJlLW1hcHBlZCB0byB0aGUgMiBPTUIgZXRobmljaXR5IGNhdGVnb3JpZXM6IC0gSGlzcGFuaWMgb3IgTGF0aW5vIC0gTm90IEhpc3BhbmljIG9yIExhdGluby4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRyaWJhbEFmZmlsaWF0aW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS10cmliYWwtYWZmaWxpYXRpb24nXSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVHJpYmFsIEFmZmlsaWF0aW9uIEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQSB0cmliZSBvciBiYW5kIHdpdGggd2hpY2ggYSBwZXJzb24gYXNzb2NpYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBhbiBlbnJvbGxlZCBtZW1iZXIuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZVRyaWJhbEFmZmlsaWF0aW9uRXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoc2V4IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZUJpcnRoU2V4RXh0ZW5zaW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1iaXJ0aHNleCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQmlydGggU2V4IEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIGNsYXNzaWZ5aW5nIHRoZSBwZXJzb24ncyBzZXggYXNzaWduZWQgYXQgYmlydGggIGFzIHNwZWNpZmllZCBieSB0aGUgW09mZmljZSBvZiB0aGUgTmF0aW9uYWwgQ29vcmRpbmF0b3IgZm9yIEhlYWx0aCBJVCAoT05DKV0oaHR0cHM6Ly93d3cuaGVhbHRoaXQuZ292L25ld3Nyb29tL2Fib3V0LW9uYykuIiBjb21tZW50PSJUaGUgY29kZXMgcmVxdWlyZWQgYXJlIGludGVuZGVkIHRvIHByZXNlbnQgYmlydGggc2V4IChpLmUuLCB0aGUgc2V4IHJlY29yZGVkIG9uIHRoZSBwYXRpZW50J3MgYmlydGggY2VydGlmaWNhdGUpIGFuZCBub3QgZ2VuZGVyIGlkZW50aXR5IG9yIHJlYXNzaWduZWQgc2V4LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2V4IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZVNleEV4dGVuc2lvbiIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtc2V4J10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFNleCBFeHRlbnNpb24iIGRlZmluaXRpb249IlRoZSBVUyBDb3JlIFNleCBFeHRlbnNpb24gaXMgdXNlZCB0byByZWZsZWN0IHRoZSBkb2N1bWVudGF0aW9uIG9mIGEgcGVyc29uJ3Mgc2V4LiBJdCBhbGlnbnMgd2l0aCB0aGUgQy1DREEgU2V4IE9ic2VydmF0aW9uIChMT0lOQyA0NjA5OC0wKS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImdlbmRlcklkZW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZ2VuZGVySWRlbnRpdHknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFRoZSBpbmRpdmlkdWFsJ3MgZ2VuZGVyIGlkZW50aXR5IiBkZWZpbml0aW9uPSJBbiBpbmRpdmlkdWFsJ3MgcGVyc29uYWwgc2Vuc2Ugb2YgYmVpbmcgYSBtYW4sIHdvbWFuLCBib3ksIGdpcmwsIG5vbmJpbmFyeSwgb3Igc29tZXRoaW5nIGVsc2UuIiBjb21tZW50PSJUaGlzIHJlcHJlc2VudHMgYW4gaW5kaXZpZHVhbCdzIGlkZW50aXR5LCBhc2NlcnRhaW5lZCBieSBhc2tpbmcgdGhlbSB3aGF0IHRoYXQgaWRlbnRpdHkgaXMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZUdlbmRlcklkZW50aXR5RXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEFuIGlkZW50aWZpZXIgZm9yIHRoaXMgcGF0aWVudCIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBwYXRpZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGlzIHBhdGllbnQncyByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZSIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGlzIHBhdGllbnQgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UuICYjMTA7TWFueSBzeXN0ZW1zIHVzZSB0aGlzIHByb3BlcnR5IHRvIG1hcmsgYXMgbm9uLWN1cnJlbnQgcGF0aWVudHMsIHN1Y2ggYXMgdGhvc2UgdGhhdCBoYXZlIG5vdCBiZWVuIHNlZW4gZm9yIGEgcGVyaW9kIG9mIHRpbWUgYmFzZWQgb24gYW4gb3JnYW5pemF0aW9uJ3MgYnVzaW5lc3MgcnVsZXMuJiMxMDsmIzEwO0l0IGlzIG9mdGVuIHVzZWQgdG8gZmlsdGVyIHBhdGllbnQgbGlzdHMgdG8gZXhjbHVkZSBpbmFjdGl2ZSBwYXRpZW50cyYjMTA7JiMxMDtEZWNlYXNlZCBwYXRpZW50cyBtYXkgYWxzbyBiZSBtYXJrZWQgYXMgaW5hY3RpdmUgZm9yIHRoZSBzYW1lIHJlYXNvbnMsIGJ1dCBtYXkgYmUgYWN0aXZlIGZvciBzb21lIHRpbWUgYWZ0ZXIgZGVhdGguIiBjb21tZW50PSJJZiBhIHJlY29yZCBpcyBpbmFjdGl2ZSwgYW5kIGxpbmtlZCB0byBhbiBhY3RpdmUgcmVjb3JkLCB0aGVuIGZ1dHVyZSBwYXRpZW50L3JlY29yZCB1cGRhdGVzIHNob3VsZCBvY2N1ciBvbiB0aGUgb3RoZXIgcGF0aWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBpbmRpdmlkdWFsLiIgY29tbWVudD0iQSBwYXRpZW50IG1heSBoYXZlIG11bHRpcGxlIG5hbWVzIHdpdGggZGlmZmVyZW50IHVzZXMgb3IgYXBwbGljYWJsZSBwZXJpb2RzLiBGb3IgYW5pbWFscywgdGhlIG5hbWUgaXMgYSAmcXVvdDtIdW1hbk5hbWUmcXVvdDsgaW4gdGhlIHNlbnNlIHRoYXQgaXMgYXNzaWduZWQgYW5kIHVzZWQgYnkgaHVtYW5zIGFuZCBoYXMgdGhlIHNhbWUgcGF0dGVybnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSHVtYW5OYW1lIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtNiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJBdCBsZWFzdCBuYW1lLmdpdmVuIGFuZC9vciBuYW1lLmZhbWlseSBhcmUgcHJlc2VudCBvciwgaWYgbmVpdGhlciBpcyBhdmFpbGFibGUsIHRoZSBEYXRhIEFic2VudCBSZWFzb24gRXh0ZW5zaW9uIGlzIHByZXNlbnQuIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoZmFtaWx5LmV4aXN0cygpIG9yIGdpdmVuLmV4aXN0cygpKSB4b3IgZXh0ZW5zaW9uLndoZXJlKHVybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2RhdGEtYWJzZW50LXJlYXNvbicpLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIGluZGl2aWR1YWwiIGRlZmluaXRpb249IkEgY29udGFjdCBkZXRhaWwgKGUuZy4gYSB0ZWxlcGhvbmUgbnVtYmVyIG9yIGFuIGVtYWlsIGFkZHJlc3MpIGJ5IHdoaWNoIHRoZSBpbmRpdmlkdWFsIG1heSBiZSBjb250YWN0ZWQuIiBjb21tZW50PSJBIFBhdGllbnQgbWF5IGhhdmUgbXVsdGlwbGUgd2F5cyB0byBiZSBjb250YWN0ZWQgd2l0aCBkaWZmZXJlbnQgdXNlcyBvciBhcHBsaWNhYmxlIHBlcmlvZHMuICBNYXkgbmVlZCB0byBoYXZlIG9wdGlvbnMgZm9yIGNvbnRhY3RpbmcgdGhlIHBlcnNvbiB1cmdlbnRseSBhbmQgYWxzbyB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uIFRoZSBhZGRyZXNzIG1pZ2h0IG5vdCBnbyBkaXJlY3RseSB0byB0aGUgaW5kaXZpZHVhbCwgYnV0IG1heSByZWFjaCBhbm90aGVyIHBhcnR5IHRoYXQgaXMgYWJsZSB0byBwcm94eSBmb3IgdGhlIHBhdGllbnQgKGkuZS4gaG9tZSBwaG9uZSwgb3IgcGV0IG93bmVyJ3MgcGhvbmUpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5QYXRpZW50LlRlbGVjb20iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIG1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgcGF0aWVudCBpcyBjb25zaWRlcmVkIHRvIGhhdmUgZm9yIGFkbWluaXN0cmF0aW9uIGFuZCByZWNvcmQga2VlcGluZyBwdXJwb3Nlcy4iIGNvbW1lbnQ9IlRoZSBnZW5kZXIgbWlnaHQgbm90IG1hdGNoIHRoZSBiaW9sb2dpY2FsIHNleCBhcyBkZXRlcm1pbmVkIGJ5IGdlbmV0aWNzIG9yIHRoZSBpbmRpdmlkdWFsJ3MgcHJlZmVycmVkIGlkZW50aWZpY2F0aW9uLiBOb3RlIHRoYXQgZm9yIGJvdGggaHVtYW5zIGFuZCBwYXJ0aWN1bGFybHkgYW5pbWFscywgdGhlcmUgYXJlIG90aGVyIGxlZ2l0aW1hdGUgcG9zc2liaWxpdGllcyB0aGFuIG1hbGUgYW5kIGZlbWFsZSwgdGhvdWdoIHRoZSB2YXN0IG1ham9yaXR5IG9mIHN5c3RlbXMgYW5kIGNvbnRleHRzIG9ubHkgc3VwcG9ydCBtYWxlIGFuZCBmZW1hbGUuICBTeXN0ZW1zIHByb3ZpZGluZyBkZWNpc2lvbiBzdXBwb3J0IG9yIGVuZm9yY2luZyBidXNpbmVzcyBydWxlcyBzaG91bGQgaWRlYWxseSBkbyB0aGlzIG9uIHRoZSBiYXNpcyBvZiBPYnNlcnZhdGlvbnMgZGVhbGluZyB3aXRoIHRoZSBzcGVjaWZpYyBzZXggb3IgZ2VuZGVyIGFzcGVjdCBvZiBpbnRlcmVzdCAoYW5hdG9taWNhbCwgY2hyb21vc29tYWwsIHNvY2lhbCwgZXRjLikgIEhvd2V2ZXIsIGJlY2F1c2UgdGhlc2Ugb2JzZXJ2YXRpb25zIGFyZSBpbmZyZXF1ZW50bHkgcmVjb3JkZWQsIGRlZmF1bHRpbmcgdG8gdGhlIGFkbWluaXN0cmF0aXZlIGdlbmRlciBpcyBjb21tb24gcHJhY3RpY2UuICBXaGVyZSBzdWNoIGRlZmF1bHRpbmcgb2NjdXJzLCBydWxlIGVuZm9yY2VtZW50IHNob3VsZCBhbGxvdyBmb3IgdGhlIHZhcmlhdGlvbiBiZXR3ZWVuIGFkbWluaXN0cmF0aXZlIGFuZCBiaW9sb2dpY2FsLCBjaHJvbW9zb21hbCBhbmQgb3RoZXIgZ2VuZGVyIGFzcGVjdHMuICBGb3IgZXhhbXBsZSwgYW4gYWxlcnQgYWJvdXQgYSBoeXN0ZXJlY3RvbXkgb24gYSBtYWxlIHNob3VsZCBiZSBoYW5kbGVkIGFzIGEgd2FybmluZyBvciBvdmVycmlkYWJsZSBlcnJvciwgbm90IGEgJnF1b3Q7aGFyZCZxdW90OyBlcnJvci4gIFNlZSB0aGUgUGF0aWVudCBHZW5kZXIgYW5kIFNleCBzZWN0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IGNvbW11bmljYXRpbmcgcGF0aWVudCBnZW5kZXIgYW5kIHNleC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIGRhdGUgb2YgYmlydGggZm9yIHRoZSBpbmRpdmlkdWFsIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvZiBiaXJ0aCBmb3IgdGhlIGluZGl2aWR1YWwuIiBjb21tZW50PSJBdCBsZWFzdCBhbiBlc3RpbWF0ZWQgeWVhciBzaG91bGQgYmUgcHJvdmlkZWQgYXMgYSBndWVzcyBpZiB0aGUgcmVhbCBET0IgaXMgdW5rbm93biAgVGhlcmUgaXMgYSBzdGFuZGFyZCBleHRlbnNpb24gJnF1b3Q7cGF0aWVudC1iaXJ0aFRpbWUmcXVvdDsgYXZhaWxhYmxlIHRoYXQgc2hvdWxkIGJlIHVzZWQgd2hlcmUgVGltZSBpcyByZXF1aXJlZCAoc3VjaCBhcyBpbiBtYXRlcm5pdHkvaW5mYW50IGNhcmUgc3lzdGVtcykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlY2Vhc2VkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSW5kaWNhdGVzIGlmIHRoZSBpbmRpdmlkdWFsIGlzIGRlY2Vhc2VkIG9yIG5vdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGlmIHRoZSBpbmRpdmlkdWFsIGlzIGRlY2Vhc2VkIG9yIG5vdC4iIGNvbW1lbnQ9IlRoZSAmcXVvdDtDYXVzZSBvZiBkZWF0aCZxdW90OyBmb3IgYSBwYXRpZW50IGlzIHR5cGljYWxseSBjYXB0dXJlZCBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQW4gYWRkcmVzcyBmb3IgdGhlIGluZGl2aWR1YWwiIGRlZmluaXRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBpbmRpdmlkdWFsLiIgY29tbWVudD0iUGF0aWVudCBtYXkgaGF2ZSBtdWx0aXBsZSBhZGRyZXNzZXMgd2l0aCBkaWZmZXJlbnQgdXNlcyBvciBhcHBsaWNhYmxlIHBlcmlvZHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUGF0aWVudC5BZGRyZXNzIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hcml0YWxTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1hcml0YWwgKGNpdmlsKSBzdGF0dXMgb2YgYSBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGlzIGZpZWxkIGNvbnRhaW5zIGEgcGF0aWVudCdzIG1vc3QgcmVjZW50IG1hcml0YWwgKGNpdmlsKSBzdGF0dXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWFyaXRhbFN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBkb21lc3RpYyBwYXJ0bmVyc2hpcCBzdGF0dXMgb2YgYSBwZXJzb24uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtdWx0aXBsZUJpcnRoIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZXRoZXIgcGF0aWVudCBpcyBwYXJ0IG9mIGEgbXVsdGlwbGUgYmlydGgiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoZSBwYXRpZW50IGlzIHBhcnQgb2YgYSBtdWx0aXBsZSAoYm9vbGVhbikgb3IgaW5kaWNhdGVzIHRoZSBhY3R1YWwgYmlydGggb3JkZXIgKGludGVnZXIpLiIgY29tbWVudD0iV2hlcmUgdGhlIHZhbHVlSW50ZWdlciBpcyBwcm92aWRlZCwgdGhlIG51bWJlciBpcyB0aGUgYmlydGggbnVtYmVyIGluIHRoZSBzZXF1ZW5jZS4gRS5nLiBUaGUgbWlkZGxlIGJpcnRoIGluIHRyaXBsZXRzIHdvdWxkIGJlIHZhbHVlSW50ZWdlcj0yIGFuZCB0aGUgdGhpcmQgYm9ybiB3b3VsZCBoYXZlIHZhbHVlSW50ZWdlcj0zIElmIGEgYm9vbGVhbiB2YWx1ZSB3YXMgcHJvdmlkZWQgZm9yIHRoaXMgdHJpcGxldHMgZXhhbXBsZSwgdGhlbiBhbGwgMyBwYXRpZW50IHJlY29yZHMgd291bGQgaGF2ZSB2YWx1ZUJvb2xlYW49dHJ1ZSAodGhlIG9yZGVyaW5nIGlzIG5vdCBpbmRpY2F0ZWQpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBob3RvIiBkZXNjcmlwdGlvbj0iSW1hZ2Ugb2YgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IkltYWdlIG9mIHRoZSBwYXRpZW50LiIgY29tbWVudD0iR3VpZGVsaW5lczomIzEwOyogVXNlIGlkIHBob3Rvcywgbm90IGNsaW5pY2FsIHBob3Rvcy4mIzEwOyogTGltaXQgZGltZW5zaW9ucyB0byB0aHVtYm5haWwuJiMxMDsqIEtlZXAgYnl0ZSBjb3VudCBsb3cgdG8gZWFzZSByZXNvdXJjZSB1cGRhdGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWN0IiBkZXNjcmlwdGlvbj0iQSBjb250YWN0IHBhcnR5IChlLmcuIGd1YXJkaWFuLCBwYXJ0bmVyLCBmcmllbmQpIGZvciB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iQSBjb250YWN0IHBhcnR5IChlLmcuIGd1YXJkaWFuLCBwYXJ0bmVyLCBmcmllbmQpIGZvciB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IkNvbnRhY3QgY292ZXJzIGFsbCBraW5kcyBvZiBjb250YWN0IHBhcnRpZXM6IGZhbWlseSBtZW1iZXJzLCBidXNpbmVzcyBjb250YWN0cywgZ3VhcmRpYW5zLCBjYXJlZ2l2ZXJzLiBOb3QgYXBwbGljYWJsZSB0byByZWdpc3RlciBwZWRpZ3JlZSBhbmQgZmFtaWx5IHRpZXMgYmV5b25kIHVzZSBvZiBoYXZpbmcgY29udGFjdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuQ29udGFjdCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJwYXQtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJTSEFMTCBhdCBsZWFzdCBjb250YWluIGEgY29udGFjdCdzIGRldGFpbHMgb3IgYSByZWZlcmVuY2UgdG8gYW4gb3JnYW5pemF0aW9uIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJuYW1lLmV4aXN0cygpIG9yIHRlbGVjb20uZXhpc3RzKCkgb3IgYWRkcmVzcy5leGlzdHMoKSBvciBvcmdhbml6YXRpb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21tdW5pY2F0aW9uIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBIGxhbmd1YWdlIHdoaWNoIG1heSBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhdGllbnQgYWJvdXQgaGlzIG9yIGhlciBoZWFsdGgiIGRlZmluaXRpb249IkEgbGFuZ3VhZ2Ugd2hpY2ggbWF5IGJlIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgcGF0aWVudCBhYm91dCBoaXMgb3IgaGVyIGhlYWx0aC4iIGNvbW1lbnQ9IklmIG5vIGxhbmd1YWdlIGlzIHNwZWNpZmllZCwgdGhpcyAqaW1wbGllcyogdGhhdCB0aGUgZGVmYXVsdCBsb2NhbCBsYW5ndWFnZSBpcyBzcG9rZW4uICBJZiB5b3UgbmVlZCB0byBjb252ZXkgcHJvZmljaWVuY3kgZm9yIG11bHRpcGxlIG1vZGVzLCB0aGVuIHlvdSBuZWVkIG11bHRpcGxlIFBhdGllbnQuQ29tbXVuaWNhdGlvbiBhc3NvY2lhdGlvbnMuICAgRm9yIGFuaW1hbHMsIGxhbmd1YWdlIGlzIG5vdCBhIHJlbGV2YW50IGZpZWxkLCBhbmQgc2hvdWxkIGJlIGFic2VudCBmcm9tIHRoZSBpbnN0YW5jZS4gSWYgdGhlIFBhdGllbnQgZG9lcyBub3Qgc3BlYWsgdGhlIGRlZmF1bHQgbG9jYWwgbGFuZ3VhZ2UsIHRoZW4gdGhlIEludGVycHJldGVyIFJlcXVpcmVkIFN0YW5kYXJkIGNhbiBiZSB1c2VkIHRvIGV4cGxpY2l0bHkgZGVjbGFyZSB0aGF0IGFuIGludGVycHJldGVyIGlzIHJlcXVpcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5QYXRpZW50LkNvbW11bmljYXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZXJhbFByYWN0aXRpb25lciIgZGVzY3JpcHRpb249IlBhdGllbnQncyBub21pbmF0ZWQgcHJpbWFyeSBjYXJlIHByb3ZpZGVyIiBkZWZpbml0aW9uPSJQYXRpZW50J3Mgbm9taW5hdGVkIGNhcmUgcHJvdmlkZXIuIiBjb21tZW50PSJUaGlzIG1heSBiZSB0aGUgcHJpbWFyeSBjYXJlIHByb3ZpZGVyIChpbiBhIEdQIGNvbnRleHQpLCBvciBpdCBtYXkgYmUgYSBwYXRpZW50IG5vbWluYXRlZCBjYXJlIG1hbmFnZXIgaW4gYSBjb21tdW5pdHkvZGlzYWJpbGl0eSBzZXR0aW5nLCBvciBldmVuIG9yZ2FuaXphdGlvbiB0aGF0IHdpbGwgcHJvdmlkZSBwZW9wbGUgdG8gcGVyZm9ybSB0aGUgY2FyZSBwcm92aWRlciByb2xlcy4gIEl0IGlzIG5vdCB0byBiZSB1c2VkIHRvIHJlY29yZCBDYXJlIFRlYW1zLCB0aGVzZSBzaG91bGQgYmUgaW4gYSBDYXJlVGVhbSByZXNvdXJjZSB0aGF0IG1heSBiZSBsaW5rZWQgdG8gdGhlIENhcmVQbGFuIG9yIEVwaXNvZGVPZkNhcmUgcmVzb3VyY2VzLiYjMTA7TXVsdGlwbGUgR1BzIG1heSBiZSByZWNvcmRlZCBhZ2FpbnN0IHRoZSBwYXRpZW50IGZvciB2YXJpb3VzIHJlYXNvbnMsIHN1Y2ggYXMgYSBzdHVkZW50IHRoYXQgaGFzIGhpcyBob21lIEdQIGxpc3RlZCBhbG9uZyB3aXRoIHRoZSBHUCBhdCB1bml2ZXJzaXR5IGR1cmluZyB0aGUgc2Nob29sIHNlbWVzdGVycywgb3IgYSAmcXVvdDtmbHktaW4vZmx5LW91dCZxdW90OyB3b3JrZXIgdGhhdCBoYXMgdGhlIG9uc2l0ZSBHUCBhbHNvIGluY2x1ZGVkIHdpdGggaGlzIGhvbWUgR1AgdG8gcmVtYWluIGF3YXJlIG9mIG1lZGljYWwgaXNzdWVzLiYjMTA7JiMxMDtKdXJpc2RpY3Rpb25zIG1heSBkZWNpZGUgdGhhdCB0aGV5IGNhbiBwcm9maWxlIHRoaXMgZG93biB0byAxIGlmIGRlc2lyZWQsIG9yIDEgcGVyIHR5cGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWFuYWdpbmdPcmdhbml6YXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgaXMgdGhlIGN1c3RvZGlhbiBvZiB0aGUgcGF0aWVudCByZWNvcmQiIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzIHRoZSBjdXN0b2RpYW4gb2YgdGhlIHBhdGllbnQgcmVjb3JkLiIgY29tbWVudD0iVGhlcmUgaXMgb25seSBvbmUgbWFuYWdpbmcgb3JnYW5pemF0aW9uIGZvciBhIHNwZWNpZmljIHBhdGllbnQgcmVjb3JkLiBPdGhlciBvcmdhbml6YXRpb25zIHdpbGwgaGF2ZSB0aGVpciBvd24gUGF0aWVudCByZWNvcmQsIGFuZCBtYXkgdXNlIHRoZSBMaW5rIHByb3BlcnR5IHRvIGpvaW4gdGhlIHJlY29yZHMgdG9nZXRoZXIgKG9yIGEgUGVyc29uIHJlc291cmNlIHdoaWNoIGNhbiBpbmNsdWRlIGNvbmZpZGVuY2UgcmF0aW5ncyBmb3IgdGhlIGFzc29jaWF0aW9uKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsaW5rIiBkZXNjcmlwdGlvbj0iTGluayB0byBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UgdGhhdCBjb25jZXJucyB0aGUgc2FtZSBhY3R1YWwgcGVyc29uIiBkZWZpbml0aW9uPSJMaW5rIHRvIGFub3RoZXIgcGF0aWVudCByZXNvdXJjZSB0aGF0IGNvbmNlcm5zIHRoZSBzYW1lIGFjdHVhbCBwYXRpZW50LiIgY29tbWVudD0iVGhlcmUgaXMgbm8gYXNzdW1wdGlvbiB0aGF0IGxpbmtlZCBwYXRpZW50IHJlY29yZHMgaGF2ZSBtdXR1YWwgbGlua3MuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuTGluayIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJnZW5lcmFsUHJhY3RpdGlvbmVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9Im90aGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9Im90aGVyIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LkFkZHJlc3MiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcy1wcmVmZXJyZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUucHJlZmVycmVkIiB0YXJnZXQ9IiVwYXJlbnQuYWRkcmVzcy5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vaXNvMjEwOTAtcHJlZmVycmVkJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmVmZXJyZWQiIGRlZmluaXRpb249IkZsYWcgZGVub3Rpbmcgd2hldGhlciBwYXJlbnQgaXRlbSBpcyBwcmVmZXJyZWQgLSBlLmcuLCBhIHByZWZlcnJlZCBhZGRyZXNzIG9yIHRlbGVwaG9uZSBudW1iZXIuIiBjb21tZW50PSJNYWtlIGdlbmVyYWwgZXh0ZW5zaW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LkNvbW11bmljYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFRoZSBsYW5ndWFnZSB3aGljaCBjYW4gYmUgdXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBwYXRpZW50IGFib3V0IGhpcyBvciBoZXIgaGVhbHRoIiBkZWZpbml0aW9uPSJUaGUgSVNPLTYzOS0xIGFscGhhIDIgY29kZSBpbiBsb3dlciBjYXNlIGZvciB0aGUgbGFuZ3VhZ2UsIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkgYSBoeXBoZW4gYW5kIHRoZSBJU08tMzE2Ni0xIGFscGhhIDIgY29kZSBmb3IgdGhlIHJlZ2lvbiBpbiB1cHBlciBjYXNlOyBlLmcuICZxdW90O2VuJnF1b3Q7IGZvciBFbmdsaXNoLCBvciAmcXVvdDtlbi1VUyZxdW90OyBmb3IgQW1lcmljYW4gRW5nbGlzaCB2ZXJzdXMgJnF1b3Q7ZW4tRU4mcXVvdDsgZm9yIEVuZ2xhbmQgRW5nbGlzaC4iIGNvbW1lbnQ9IlRoZSBzdHJ1Y3R1cmUgYWEtQkIgd2l0aCB0aGlzIGV4YWN0IGNhc2luZyBpcyBvbmUgdGhlIG1vc3Qgd2lkZWx5IHVzZWQgbm90YXRpb25zIGZvciBsb2NhbGUuIEhvd2V2ZXIgbm90IGFsbCBzeXN0ZW1zIGFjdHVhbGx5IGNvZGUgdGhpcyBidXQgaW5zdGVhZCBoYXZlIGl0IGFzIGZyZWUgdGV4dC4gSGVuY2UgQ29kZWFibGVDb25jZXB0IGluc3RlYWQgb2YgY29kZSBhcyB0aGUgZGF0YSB0eXBlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVmZXJyZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMYW5ndWFnZSBwcmVmZXJlbmNlIGluZGljYXRvciIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSBwYXRpZW50IHByZWZlcnMgdGhpcyBsYW5ndWFnZSAob3ZlciBvdGhlciBsYW5ndWFnZXMgaGUgbWFzdGVycyB1cCBhIGNlcnRhaW4gbGV2ZWwpLiIgY29tbWVudD0iVGhpcyBsYW5ndWFnZSBpcyBzcGVjaWZpY2FsbHkgaWRlbnRpZmllZCBmb3IgY29tbXVuaWNhdGluZyBoZWFsdGhjYXJlIGluZm9ybWF0aW9uLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudC5Db250YWN0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWxhdGlvbnNoaXAiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiByZWxhdGlvbnNoaXAiIGRlZmluaXRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBwYXRpZW50IGFuZCB0aGUgY29udGFjdCBwZXJzb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RSZWxhdGlvbnNoaXAiIGRlc2NyaXB0aW9uPSJUaGUgbmF0dXJlIG9mIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBhIHBhdGllbnQgYW5kIGEgY29udGFjdCBwZXJzb24gZm9yIHRoYXQgcGF0aWVudC4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSHVtYW5OYW1lIiBkZXNjcmlwdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29udGFjdCBwZXJzb24iIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QgcGVyc29uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uLCBlLmcuIGEgdGVsZXBob25lIG51bWJlciBvciBhbiBlbWFpbCBhZGRyZXNzLiIgY29tbWVudD0iQ29udGFjdCBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5LCBhbmQgYWxzbyB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzIiBkZXNjcmlwdGlvbj0iQWRkcmVzcyBmb3IgdGhlIGNvbnRhY3QgcGVyc29uIiBkZWZpbml0aW9uPSJBZGRyZXNzIGZvciB0aGUgY29udGFjdCBwZXJzb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgY29udGFjdCBwZXJzb24gaXMgY29uc2lkZXJlZCB0byBoYXZlIGZvciBhZG1pbmlzdHJhdGlvbiBhbmQgcmVjb3JkIGtlZXBpbmcgcHVycG9zZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWRtaW5pc3RyYXRpdmVHZW5kZXIiIGRlc2NyaXB0aW9uPSJUaGUgZ2VuZGVyIG9mIGEgcGVyc29uIHVzZWQgZm9yIGFkbWluaXN0cmF0aXZlIHB1cnBvc2VzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9yZ2FuaXphdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmdhbml6YXRpb24gdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QiIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiBvbiBiZWhhbGYgb2Ygd2hpY2ggdGhlIGNvbnRhY3QgaXMgYWN0aW5nIG9yIGZvciB3aGljaCB0aGUgY29udGFjdCBpcyB3b3JraW5nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGlzIGNvbnRhY3QgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBpcyB2YWxpZCB0byBiZSBjb250YWN0ZWQgcmVsYXRpbmcgdG8gdGhpcyBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGlzIGNvbnRhY3QgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBpcyB2YWxpZCB0byBiZSBjb250YWN0ZWQgcmVsYXRpbmcgdG8gdGhpcyBwYXRpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudC5MaW5rIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdGhlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgb3RoZXIgcGF0aWVudCBvciByZWxhdGVkIHBlcnNvbiByZXNvdXJjZSB0aGF0IHRoZSBsaW5rIHJlZmVycyB0byIgZGVmaW5pdGlvbj0iVGhlIG90aGVyIHBhdGllbnQgcmVzb3VyY2UgdGhhdCB0aGUgbGluayByZWZlcnMgdG8uIiBjb21tZW50PSJSZWZlcmVuY2luZyBhIFJlbGF0ZWRQZXJzb24gaGVyZSByZW1vdmVzIHRoZSBuZWVkIHRvIHVzZSBhIFBlcnNvbiByZWNvcmQgdG8gYXNzb2NpYXRlIGEgUGF0aWVudCBhbmQgUmVsYXRlZFBlcnNvbiBhcyB0aGUgc2FtZSBpbmRpdmlkdWFsLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5MaW5rVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZXBsYWNlZC1ieSB8IHJlcGxhY2VzIHwgcmVmZXIgfCBzZWVhbHNvIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBsaW5rIGJldHdlZW4gdGhpcyBwYXRpZW50IHJlc291cmNlIGFuZCBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGlua1R5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBsaW5rIGJldHdlZW4gdGhpcyBwYXRpZW50IHJlc291cmNlIGFuZCBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LlRlbGVjb20iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnQiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tLXByZWZlcnJlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5wcmVmZXJyZWQiIHRhcmdldD0iJXBhcmVudC50ZWxlY29tLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9pc28yMTA5MC1wcmVmZXJyZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByZWZlcnJlZCIgZGVmaW5pdGlvbj0iRmxhZyBkZW5vdGluZyB3aGV0aGVyIHBhcmVudCBpdGVtIGlzIHByZWZlcnJlZCAtIGUuZy4sIGEgcHJlZmVycmVkIGFkZHJlc3Mgb3IgdGVsZXBob25lIG51bWJlci4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1wcmFjdGl0aW9uZXIiIGxhYmVsPSJRSUNvcmUgUHJhY3RpdGlvbmVyIiByZXRyaWV2YWJsZT0idHJ1ZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBbiBpZGVudGlmaWVyIGZvciB0aGUgcGVyc29uIGFzIHRoaXMgYWdlbnQiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBhcHBsaWVzIHRvIHRoaXMgcGVyc29uIGluIHRoaXMgcm9sZS4iIGNvbW1lbnQ9Ik5QSSBtdXN0IGJlIHN1cHBvcnRlZCBhcyB0aGUgaWRlbnRpZmllciBzeXN0ZW0gaW4gdGhlIFVTLCBUYXggaWQgaXMgYWxsb3dlZCwgTG9jYWwgaWQgaXMgYWxsb3dlZCBpbiBhZGRpdGlvbiB0byBhbm90aGVyIGlkZW50aWZpZXIgc3VwcGxpZWQgYnkgYSBqdXJpc2RpY3Rpb25hbCBhdXRob3JpdHkgc3VjaCBhcyBhIHByYWN0aXRpb25lcidzICpEcnVnIEVuZm9yY2VtZW50IEFkbWluaXN0cmF0aW9uIChERUEpKiBudW1iZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJOUEkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQW4gaWRlbnRpZmllciBmb3IgdGhlIHBlcnNvbiBhcyB0aGlzIGFnZW50IiBkZWZpbml0aW9uPSJBbiBpZGVudGlmaWVyIHRoYXQgYXBwbGllcyB0byB0aGlzIHBlcnNvbiBpbiB0aGlzIHJvbGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTE2IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik5QSSBtdXN0IGJlIDEwIGRpZ2l0cyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUubWF0Y2hlcygnXlswLTldezEwfSQnKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMTciIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTlBJIGNoZWNrIGRpZ2l0IG11c3QgYmUgdmFsaWQgKEx1aG4gYWxnb3JpdGhtIGNoZWNrKSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCgoc2VsZWN0KHZhbHVlLnN1YnN0cmluZygwLDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZygxLDEpLnRvSW50ZWdlcigpKSsoc2VsZWN0KHZhbHVlLnN1YnN0cmluZygyLDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZygzLDEpLnRvSW50ZWdlcigpKSsoc2VsZWN0KHZhbHVlLnN1YnN0cmluZyg0LDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZyg1LDEpLnRvSW50ZWdlcigpKSsoc2VsZWN0KHZhbHVlLnN1YnN0cmluZyg2LDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZyg3LDEpLnRvSW50ZWdlcigpKSsoc2VsZWN0KHZhbHVlLnN1YnN0cmluZyg4LDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZyg5LDEpLnRvSW50ZWdlcigpKSArIDI0KW1vZCAxMD0wKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVpbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZXJlIGlzIG5vdCBhIGdlbmVyYWwgVGF4IElkZW50aWZpZXIgTnVtZXIgKFRJTikgT0lELiBUaGVyZSBpcyBhbiBTU04sIGEgUFRJTiwgYW5kIGFuIElUSU4sIGJ1dCBubyBUSU4gZ2VuZXJhbGx5LiBTbyB0aGUgb25seSBzbGljZSBzcGVjaWZpZWQgaGVyZSBpcyBFSU4sIGlmIGNvbnN1bWVycyBkZXRlcm1pbmUgYSBuZWVkIGZvciBhbiBTU04sIHN1Ym1pdCBhIGNvbW1lbnQgdG8gdGhhdCBlZmZlY3QuIiBkZWZpbml0aW9uPSJBbiBpZGVudGlmaWVyIHRoYXQgYXBwbGllcyB0byB0aGlzIHBlcnNvbiBpbiB0aGlzIHJvbGUuIiBjb21tZW50PSJOUEkgbXVzdCBiZSBzdXBwb3J0ZWQgYXMgdGhlIGlkZW50aWZpZXIgc3lzdGVtIGluIHRoZSBVUywgVGF4IGlkIGlzIGFsbG93ZWQsIExvY2FsIGlkIGlzIGFsbG93ZWQgaW4gYWRkaXRpb24gdG8gYW5vdGhlciBpZGVudGlmaWVyIHN1cHBsaWVkIGJ5IGEganVyaXNkaWN0aW9uYWwgYXV0aG9yaXR5IHN1Y2ggYXMgYSBwcmFjdGl0aW9uZXIncyAqRHJ1ZyBFbmZvcmNlbWVudCBBZG1pbmlzdHJhdGlvbiAoREVBKSogbnVtYmVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcHJhY3RpdGlvbmVyJ3MgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBwcmFjdGl0aW9uZXIncyByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IklmIHRoZSBwcmFjdGl0aW9uZXIgaXMgbm90IGluIHVzZSBieSBvbmUgb3JnYW5pemF0aW9uLCB0aGVuIGl0IHNob3VsZCBtYXJrIHRoZSBwZXJpb2Qgb24gdGhlIFByYWN0aXRvbmVyUm9sZSB3aXRoIGFuIGVuZCBkYXRlIChldmVuIGlmIHRoZXkgYXJlIGFjdGl2ZSkgYXMgdGhleSBtYXkgYmUgYWN0aXZlIGluIGFub3RoZXIgcm9sZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUocykgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcmFjdGl0aW9uZXIiIGRlZmluaXRpb249IlRoZSBuYW1lKHMpIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJhY3RpdGlvbmVyLiIgY29tbWVudD0iVGhlIHNlbGVjdGlvbiBvZiB0aGUgdXNlIHByb3BlcnR5IHNob3VsZCBlbnN1cmUgdGhhdCB0aGVyZSBpcyBhIHNpbmdsZSB1c3VhbCBuYW1lIHNwZWNpZmllZCwgYW5kIG90aGVycyB1c2UgdGhlIG5pY2tuYW1lIChhbGlhcyksIG9sZCwgb3Igb3RoZXIgdmFsdWVzIGFzIGFwcHJvcHJpYXRlLiAgJiMxMzsmIzEzO0luIGdlbmVyYWwsIHNlbGVjdCB0aGUgdmFsdWUgdG8gYmUgdXNlZCBpbiB0aGUgUmVzb3VyY2VSZWZlcmVuY2UuZGlzcGxheSBiYXNlZCBvbiB0aGlzOiYjMTM7JiMxMzsxLiBUaGVyZSBpcyBtb3JlIHRoYW4gMSBuYW1lJiMxMzsyLiBVc2UgPSB1c3VhbCYjMTM7My4gUGVyaW9kIGlzIGN1cnJlbnQgdG8gdGhlIGRhdGUgb2YgdGhlIHVzYWdlJiMxMzs0LiBVc2UgPSBvZmZpY2lhbCYjMTM7NS4gT3RoZXIgb3JkZXIgYXMgZGVjaWRlZCBieSBpbnRlcm5hbCBidXNpbmVzcyBydWxlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5IdW1hbk5hbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IkEgY29udGFjdCBkZXRhaWwgZm9yIHRoZSBwcmFjdGl0aW9uZXIgKHRoYXQgYXBwbHkgdG8gYWxsIHJvbGVzKSIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIHByYWN0aXRpb25lciwgZS5nLiBhIHRlbGVwaG9uZSBudW1iZXIgb3IgYW4gZW1haWwgYWRkcmVzcy4iIGNvbW1lbnQ9IlBlcnNvbiBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5IGFuZCB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uICBUaGVzZSB0eXBpY2FsbHkgd2lsbCBoYXZlIGhvbWUgbnVtYmVycywgb3IgbW9iaWxlIG51bWJlcnMgdGhhdCBhcmUgbm90IHJvbGUgc3BlY2lmaWMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3MiIGRlc2NyaXB0aW9uPSJBZGRyZXNzKGVzKSBvZiB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJBZGRyZXNzKGVzKSBvZiB0aGUgcHJhY3RpdGlvbmVyIiBjb21tZW50PSJUaGUgUHJhY3RpdGlvbmVyUm9sZSBkb2VzIG5vdCBoYXZlIGFuIGFkZHJlc3MgdmFsdWUgb24gaXQsIGFzIGl0IGlzIGV4cGVjdGVkIHRoYXQgdGhlIGxvY2F0aW9uIHByb3BlcnR5IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZSAod2hpY2ggaGFzIGFuIGFkZHJlc3MpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgcGVyc29uIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBmb3IgYWRtaW5pc3RyYXRpb24gYW5kIHJlY29yZCBrZWVwaW5nIHB1cnBvc2VzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkbWluaXN0cmF0aXZlR2VuZGVyIiBkZXNjcmlwdGlvbj0iVGhlIGdlbmRlciBvZiBhIHBlcnNvbiB1c2VkIGZvciBhZG1pbmlzdHJhdGl2ZSBwdXJwb3Nlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiaXJ0aERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGF0ZSAgb24gd2hpY2ggdGhlIHByYWN0aXRpb25lciB3YXMgYm9ybiIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb2YgYmlydGggZm9yIHRoZSBwcmFjdGl0aW9uZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGhvdG8iIGRlc2NyaXB0aW9uPSJJbWFnZSBvZiB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJJbWFnZSBvZiB0aGUgcGVyc29uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFsaWZpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQ2VydGlmaWNhdGlvbiwgbGljZW5zZXMsIG9yIHRyYWluaW5nIHBlcnRhaW5pbmcgdG8gdGhlIHByb3Zpc2lvbiBvZiBjYXJlIiBkZWZpbml0aW9uPSJUaGUgb2ZmaWNpYWwgY2VydGlmaWNhdGlvbnMsIHRyYWluaW5nLCBhbmQgbGljZW5zZXMgdGhhdCBhdXRob3JpemUgb3Igb3RoZXJ3aXNlIHBlcnRhaW4gdG8gdGhlIHByb3Zpc2lvbiBvZiBjYXJlIGJ5IHRoZSBwcmFjdGl0aW9uZXIuICBGb3IgZXhhbXBsZSwgYSBtZWRpY2FsIGxpY2Vuc2UgaXNzdWVkIGJ5IGEgbWVkaWNhbCBib2FyZCBhdXRob3JpemluZyB0aGUgcHJhY3RpdGlvbmVyIHRvIHByYWN0aWNlIG1lZGljaW5lIHdpdGhpbiBhIGNlcnRpYW4gbG9jYWxpdHkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5QcmFjdGl0aW9uZXIuUXVhbGlmaWNhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21tdW5pY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQSBsYW5ndWFnZSB0aGUgcHJhY3RpdGlvbmVyIGNhbiB1c2UgaW4gcGF0aWVudCBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBIGxhbmd1YWdlIHRoZSBwcmFjdGl0aW9uZXIgY2FuIHVzZSBpbiBwYXRpZW50IGNvbW11bmljYXRpb24uIiBjb21tZW50PSJUaGUgc3RydWN0dXJlIGFhLUJCIHdpdGggdGhpcyBleGFjdCBjYXNpbmcgaXMgb25lIHRoZSBtb3N0IHdpZGVseSB1c2VkIG5vdGF0aW9ucyBmb3IgbG9jYWxlLiBIb3dldmVyIG5vdCBhbGwgc3lzdGVtcyBjb2RlIHRoaXMgYnV0IGluc3RlYWQgaGF2ZSBpdCBhcyBmcmVlIHRleHQuIEhlbmNlIENvZGVhYmxlQ29uY2VwdCBpbnN0ZWFkIG9mIGNvZGUgYXMgdGhlIGRhdGEgdHlwZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByYWN0aXRpb25lci5RdWFsaWZpY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBxdWFsaWZpY2F0aW9uIGZvciB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJBbiBpZGVudGlmaWVyIHRoYXQgYXBwbGllcyB0byB0aGlzIHBlcnNvbidzIHF1YWxpZmljYXRpb24gaW4gdGhpcyByb2xlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcXVhbGlmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHF1YWxpZmljYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVhbGlmaWNhdGlvbiIgZGVzY3JpcHRpb249IlNwZWNpZmljIHF1YWxpZmljYXRpb24gdGhlIHByYWN0aXRpb25lciBoYXMgdG8gcHJvdmlkZSBhIHNlcnZpY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcXVhbGlmaWNhdGlvbiBpcyB2YWxpZCIgZGVmaW5pdGlvbj0iUGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcXVhbGlmaWNhdGlvbiBpcyB2YWxpZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgcmVndWxhdGVzIGFuZCBpc3N1ZXMgdGhlIHF1YWxpZmljYXRpb24iIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IHJlZ3VsYXRlcyBhbmQgaXNzdWVzIHRoZSBxdWFsaWZpY2F0aW9uLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyUm9sZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJhY3RpdGlvbmVycm9sZSIgbGFiZWw9IlFJQ29yZSBQcmFjdGl0aW9uZXJSb2xlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEJ1c2luZXNzIElkZW50aWZpZXJzIHRoYXQgYXJlIHNwZWNpZmljIHRvIGEgcm9sZS9sb2NhdGlvbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllcnMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gYSByb2xlL2xvY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hldGhlciB0aGlzIHByYWN0aXRpb25lciByb2xlIHJlY29yZCBpcyBpbiBhY3RpdmUgdXNlIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcHJhY3RpdGlvbmVyIHJvbGUgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJJZiB0aGlzIHZhbHVlIGlzIGZhbHNlLCB5b3UgbWF5IHJlZmVyIHRvIHRoZSBwZXJpb2QgdG8gc2VlIHdoZW4gdGhlIHJvbGUgd2FzIGluIGFjdGl2ZSB1c2UuIElmIHRoZXJlIGlzIG5vIHBlcmlvZCBzcGVjaWZpZWQsIG5vIGluZmVyZW5jZSBjYW4gYmUgbWFkZSBhYm91dCB3aGVuIGl0IHdhcyBhY3RpdmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcHJhY3RpdGlvbmVyIGlzIGF1dGhvcml6ZWQgdG8gcGVyZm9ybSBpbiB0aGVzZSByb2xlKHMpIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcGVyc29uIGlzIGF1dGhvcml6ZWQgdG8gYWN0IGFzIGEgcHJhY3RpdGlvbmVyIGluIHRoZXNlIHJvbGUocykgZm9yIHRoZSBvcmdhbml6YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJhY3RpdGlvbmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBQcmFjdGl0aW9uZXIgdGhhdCBpcyBhYmxlIHRvIHByb3ZpZGUgdGhlIGRlZmluZWQgc2VydmljZXMgZm9yIHRoZSBvcmdhbml6YXRpb24iIGRlZmluaXRpb249IlByYWN0aXRpb25lciB0aGF0IGlzIGFibGUgdG8gcHJvdmlkZSB0aGUgZGVmaW5lZCBzZXJ2aWNlcyBmb3IgdGhlIG9yZ2FuaXphdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JnYW5pemF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBPcmdhbml6YXRpb24gd2hlcmUgdGhlIHJvbGVzIGFyZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBvcmdhbml6YXRpb24gd2hlcmUgdGhlIFByYWN0aXRpb25lciBwZXJmb3JtcyB0aGUgcm9sZXMgYXNzb2NpYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSb2xlcyB3aGljaCB0aGlzIHByYWN0aXRpb25lciBtYXkgcGVyZm9ybSIgZGVmaW5pdGlvbj0iUm9sZXMgd2hpY2ggdGhpcyBwcmFjdGl0aW9uZXIgaXMgYXV0aG9yaXplZCB0byBwZXJmb3JtIGZvciB0aGUgb3JnYW5pemF0aW9uLiIgY29tbWVudD0iQSBwZXJzb24gbWF5IGhhdmUgbW9yZSB0aGFuIG9uZSByb2xlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkluZGljYXRlcyBzcGVjaWZpYyByZXNwb25zaWJpbGl0eSBvZiBhbiBpbmRpdmlkdWFsIHdpdGhpbiB0aGUgY2FyZSB0ZWFtLCBzdWNoIGFzIFByaW1hcnkgcGh5c2ljaWFuLCBUZWFtIGNvb3JkaW5hdG9yLCBDYXJlZ2l2ZXIsIGV0Yy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpYWx0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBTcGVjaWZpYyBzcGVjaWFsdHkgb2YgdGhlIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iU3BlY2lmaWMgc3BlY2lhbHR5IG9mIHRoZSBwcmFjdGl0aW9uZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUaGUgbG9jYXRpb24ocykgYXQgd2hpY2ggdGhpcyBwcmFjdGl0aW9uZXIgcHJvdmlkZXMgY2FyZSIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uKHMpIGF0IHdoaWNoIHRoaXMgcHJhY3RpdGlvbmVyIHByb3ZpZGVzIGNhcmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImhlYWx0aGNhcmVTZXJ2aWNlIiBkZXNjcmlwdGlvbj0iVGhlIGxpc3Qgb2YgaGVhbHRoY2FyZSBzZXJ2aWNlcyB0aGF0IHRoaXMgd29ya2VyIHByb3ZpZGVzIGZvciB0aGlzIHJvbGUncyBPcmdhbml6YXRpb24vTG9jYXRpb24ocykiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIGhlYWx0aGNhcmUgc2VydmljZXMgdGhhdCB0aGlzIHdvcmtlciBwcm92aWRlcyBmb3IgdGhpcyByb2xlJ3MgT3JnYW5pemF0aW9uL0xvY2F0aW9uKHMpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ29udGFjdCBkZXRhaWxzIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSByb2xlL2xvY2F0aW9uL3NlcnZpY2UiIGRlZmluaXRpb249IkNvbnRhY3QgZGV0YWlscyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgcm9sZS9sb2NhdGlvbi9zZXJ2aWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdmFpbGFibGVUaW1lIiBkZXNjcmlwdGlvbj0iVGltZXMgdGhlIFNlcnZpY2UgU2l0ZSBpcyBhdmFpbGFibGUiIGRlZmluaXRpb249IkEgY29sbGVjdGlvbiBvZiB0aW1lcyB0aGUgcHJhY3RpdGlvbmVyIGlzIGF2YWlsYWJsZSBvciBwZXJmb3JtaW5nIHRoaXMgcm9sZSBhdCB0aGUgbG9jYXRpb24gYW5kL29yIGhlYWx0aGNhcmVzZXJ2aWNlLiIgY29tbWVudD0iTW9yZSBkZXRhaWxlZCBhdmFpbGFiaWxpdHkgaW5mb3JtYXRpb24gbWF5IGJlIHByb3ZpZGVkIGluIGFzc29jaWF0ZWQgU2NoZWR1bGUvU2xvdCByZXNvdXJjZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5QcmFjdGl0aW9uZXJSb2xlLkF2YWlsYWJsZVRpbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90QXZhaWxhYmxlIiBkZXNjcmlwdGlvbj0iTm90IGF2YWlsYWJsZSBkdXJpbmcgdGhpcyB0aW1lIGR1ZSB0byBwcm92aWRlZCByZWFzb24iIGRlZmluaXRpb249IlRoZSBwcmFjdGl0aW9uZXIgaXMgbm90IGF2YWlsYWJsZSBvciBwZXJmb3JtaW5nIHRoaXMgcm9sZSBkdXJpbmcgdGhpcyBwZXJpb2Qgb2YgdGltZSBkdWUgdG8gdGhlIHByb3ZpZGVkIHJlYXNvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlByYWN0aXRpb25lclJvbGUuTm90QXZhaWxhYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF2YWlsYWJpbGl0eUV4Y2VwdGlvbnMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRlc2NyaXB0aW9uIG9mIGF2YWlsYWJpbGl0eSBleGNlcHRpb25zIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHNpdGUgYXZhaWxhYmlsaXR5IGV4Y2VwdGlvbnMsIGUuZy4gcHVibGljIGhvbGlkYXkgYXZhaWxhYmlsaXR5LiBTdWNjaW5jdGx5IGRlc2NyaWJpbmcgYWxsIHBvc3NpYmxlIGV4Y2VwdGlvbnMgdG8gbm9ybWFsIHNpdGUgYXZhaWxhYmlsaXR5IGFzIGRldGFpbHMgaW4gdGhlIGF2YWlsYWJsZSBUaW1lcyBhbmQgbm90IGF2YWlsYWJsZSBUaW1lcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmRwb2ludCIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBwcmFjdGl0aW9uZXIgd2l0aCB0aGlzIHJvbGUiIGRlZmluaXRpb249IlRlY2huaWNhbCBlbmRwb2ludHMgcHJvdmlkaW5nIGFjY2VzcyB0byBzZXJ2aWNlcyBvcGVyYXRlZCBmb3IgdGhlIHByYWN0aXRpb25lciB3aXRoIHRoaXMgcm9sZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icHJhY3RpdGlvbmVyIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcmFjdGl0aW9uZXJSb2xlLkF2YWlsYWJsZVRpbWUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRheXNPZldlZWsiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0ibW9uIHwgdHVlIHwgd2VkIHwgdGh1IHwgZnJpIHwgc2F0IHwgc3VuIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hpY2ggZGF5cyBvZiB0aGUgd2VlayBhcmUgYXZhaWxhYmxlIGJldHdlZW4gdGhlIHN0YXJ0IGFuZCBlbmQgVGltZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXlzT2ZXZWVrIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRheXNPZldlZWsiIGRlc2NyaXB0aW9uPSJUaGUgZGF5cyBvZiB0aGUgd2Vlay4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbGxEYXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBbHdheXMgYXZhaWxhYmxlPyBlLmcuIDI0IGhvdXIgc2VydmljZSIgZGVmaW5pdGlvbj0iSXMgdGhpcyBhbHdheXMgYXZhaWxhYmxlPyAoaGVuY2UgdGltZXMgYXJlIGlycmVsZXZhbnQpIGUuZy4gMjQgaG91ciBzZXJ2aWNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF2YWlsYWJsZVN0YXJ0VGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5UaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik9wZW5pbmcgdGltZSBvZiBkYXkgKGlnbm9yZWQgaWYgYWxsRGF5ID0gdHJ1ZSkiIGRlZmluaXRpb249IlRoZSBvcGVuaW5nIHRpbWUgb2YgZGF5LiBOb3RlOiBJZiB0aGUgQWxsRGF5IGZsYWcgaXMgc2V0LCB0aGVuIHRoaXMgdGltZSBpcyBpZ25vcmVkLiIgY29tbWVudD0iVGhlIHRpbWV6b25lIGlzIGV4cGVjdGVkIHRvIGJlIGZvciB3aGVyZSB0aGlzIEhlYWx0aGNhcmVTZXJ2aWNlIGlzIHByb3ZpZGVkIGF0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF2YWlsYWJsZUVuZFRpbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbG9zaW5nIHRpbWUgb2YgZGF5IChpZ25vcmVkIGlmIGFsbERheSA9IHRydWUpIiBkZWZpbml0aW9uPSJUaGUgY2xvc2luZyB0aW1lIG9mIGRheS4gTm90ZTogSWYgdGhlIEFsbERheSBmbGFnIGlzIHNldCwgdGhlbiB0aGlzIHRpbWUgaXMgaWdub3JlZC4iIGNvbW1lbnQ9IlRoZSB0aW1lem9uZSBpcyBleHBlY3RlZCB0byBiZSBmb3Igd2hlcmUgdGhpcyBIZWFsdGhjYXJlU2VydmljZSBpcyBwcm92aWRlZCBhdC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByYWN0aXRpb25lclJvbGUuTm90QXZhaWxhYmxlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVhc29uIHByZXNlbnRlZCB0byB0aGUgdXNlciBleHBsYWluaW5nIHdoeSB0aW1lIG5vdCBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSByZWFzb24gdGhhdCBjYW4gYmUgcHJlc2VudGVkIHRvIHRoZSB1c2VyIGFzIHRvIHdoeSB0aGlzIHRpbWUgaXMgbm90IGF2YWlsYWJsZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkdXJpbmciIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZSBub3QgYXZhaWxhYmxlIGZyb20gdGhpcyBkYXRlIiBkZWZpbml0aW9uPSJTZXJ2aWNlIGlzIG5vdCBhdmFpbGFibGUgKHNlYXNvbmFsbHkgb3IgZm9yIGEgcHVibGljIGhvbGlkYXkpIGZyb20gdGhpcyBkYXRlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJvY2VkdXJlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1wcm9jZWR1cmUiIGxhYmVsPSJRSUNvcmUgUHJvY2VkdXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gdGhlIHByb2NlZHVyZSB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBwcm9jZWR1cmUgd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgcmVnYXJkbGVzcyBvZiBQcm9jZWR1cmUuc3RhdHVzIChwb3RlbnRpYWxseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZGVudGlmaWVycyBmb3IgdGhpcyBwcm9jZWR1cmUiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcHJvY2VkdXJlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIGlzIHByb3BhZ2F0ZWQgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZXMgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyIHNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgUHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXIgc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBQcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBIHJlcXVlc3QgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHJlc291cmNlIHRoYXQgY29udGFpbnMgZGV0YWlscyBvZiB0aGUgcmVxdWVzdCBmb3IgdGhpcyBwcm9jZWR1cmUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBwcm9jZWR1cmUgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iIGNvbW1lbnQ9IlRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gcmVzb3VyY2UgaGFzIGEgcGFydE9mIHJlZmVyZW5jZSB0byBQcm9jZWR1cmUsIGJ1dCB0aGlzIGlzIG5vdCBhIGNpcmN1bGFyIHJlZmVyZW5jZS4gICBGb3IgZXhhbXBsZSwgdGhlIGFuZXN0aGVzaWEgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIGlzIHBhcnQgb2YgdGhlIHN1cmdpY2FsIFByb2NlZHVyZSAoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLnBhcnRPZiA9IFByb2NlZHVyZSkuICBGb3IgZXhhbXBsZSwgdGhlIHByb2NlZHVyZSB0byBpbnNlcnQgdGhlIElWIHBvcnQgZm9yIGFuIElWIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gaXMgcGFydCBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiAoUHJvY2VkdXJlLnBhcnRPZiA9IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbikuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIHByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCDigItvbi1ob2xk4oCLIHwgc3RvcHBlZOKAiyB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3LigIsgfCB1bmtub3du4oCLIiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHByb2NlZHVyZS4gR2VuZXJhbGx5LCB0aGlzIHdpbGwgYmUgdGhlIGluLXByb2dyZXNzIG9yIGNvbXBsZXRlZCBzdGF0ZS4iIGNvbW1lbnQ9IlRoZSAmcXVvdDt1bmtub3duJnF1b3Q7IGNvZGUgaXMgbm90IHRvIGJlIHVzZWQgdG8gY29udmV5IG90aGVyIHN0YXR1c2VzLiAgVGhlICZxdW90O3Vua25vd24mcXVvdDsgY29kZSBzaG91bGQgYmUgdXNlZCB3aGVuIG9uZSBvZiB0aGUgc3RhdHVzZXMgYXBwbGllcywgYnV0IHRoZSBhdXRob3Jpbmcgc3lzdGVtIGRvZXNuJ3Qga25vdyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiYjMTA7JiMxMDtUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yICZxdW90O2V4Y2VwdGlvbiZxdW90OyBzdGF0dXNlcyBzdWNoIGFzICZxdW90O25vdC1kb25lJnF1b3Q7LCAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7YWJvcnRlZCZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZU5lZ2F0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVhc29uIGEgcHJvY2VkdXJlIHdhcyBub3QgcGVyZm9ybWVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIGEgcHJvY2VkdXJlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIElkZW50aWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBzcGVjaWZpYyBwcm9jZWR1cmUgdGhhdCBpcyBwZXJmb3JtZWQuIFVzZSB0ZXh0IGlmIHRoZSBleGFjdCBuYXR1cmUgb2YgdGhlIHByb2NlZHVyZSBjYW5ub3QgYmUgY29kZWQgKGUuZy4gJnF1b3Q7TGFwYXJvc2NvcGljIEFwcGVuZGVjdG9teSZxdW90OykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSB0eXBlIG9mICBQcm9jZWR1cmUiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIG9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uLCBhbmltYWwgb3IgZ3JvdXAgb24gd2hpY2ggdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBQcm9jZWR1cmUgd2FzIGNyZWF0ZWQgb3IgcGVyZm9ybWVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsIGRhdGUtdGltZSwgcGVyaW9kLCBvciBhZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuICBBbGxvd3MgYSBwZXJpb2QgdG8gc3VwcG9ydCBjb21wbGV4IHByb2NlZHVyZXMgdGhhdCBzcGFuIG1vcmUgdGhhbiBvbmUgZGF0ZSwgYW5kIGFsc28gYWxsb3dzIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9jZWR1cmUgdG8gYmUgY2FwdHVyZWQuIiBjb21tZW50PSJBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFJhbmdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgcmFuZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQsIHN1Y2ggYXMgc29tZXRpbWUgYmV0d2VlbiAyMC0yNSB5ZWFycyBvbGQuICBkYXRlVGltZSBzdXBwb3J0cyBhIHJhbmdlIG9mIHByZWNpc2lvbiBkdWUgdG8gc29tZSBwcm9jZWR1cmVzIGJlaW5nIHJlcG9ydGVkIGFzIHBhc3QgcHJvY2VkdXJlcyB0aGF0IG1pZ2h0IG5vdCBoYXZlIG1pbGxpc2Vjb25kIHByZWNpc2lvbiB3aGlsZSBvdGhlciBwcm9jZWR1cmVzIHBlcmZvcm1lZCBhbmQgZG9jdW1lbnRlZCBkdXJpbmcgdGhlIGVuY291bnRlciBtaWdodCBoYXZlIG1vcmUgcHJlY2lzZSBVVEMgdGltZXN0YW1wcyB3aXRoIHRpbWV6b25lLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzZXJ0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGVyc29uIHdobyBhc3NlcnRzIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyBpcyBtYWtpbmcgdGhlIHByb2NlZHVyZSBzdGF0ZW1lbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iVGhlIHBlb3BsZSB3aG8gcGVyZm9ybWVkIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkxpbWl0ZWQgdG8gJnF1b3Q7cmVhbCZxdW90OyBwZW9wbGUgcmF0aGVyIHRoYW4gZXF1aXBtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHJvY2VkdXJlLlBlcmZvcm1lciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgcHJvY2VkdXJlIGhhcHBlbmVkIiBkZWZpbml0aW9uPSJUaGUgbG9jYXRpb24gd2hlcmUgdGhlIHByb2NlZHVyZSBhY3R1YWxseSBoYXBwZW5lZC4gIEUuZy4gYSBuZXdib3JuIGF0IGhvbWUsIGEgdHJhY2hlb3N0b215IGF0IGEgcmVzdGF1cmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENvZGVkIHJlYXNvbiBwcm9jZWR1cmUgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUgY29kZWQgcmVhc29uIHdoeSB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFRoaXMgbWF5IGJlIGEgY29kZWQgZW50aXR5IG9mIHNvbWUgdHlwZSwgb3IgbWF5IHNpbXBseSBiZSBwcmVzZW50IGFzIHRleHQuIiBjb21tZW50PSJVc2UgUHJvY2VkdXJlLnJlYXNvbkNvZGUgd2hlbiBhIGNvZGUgc3VmZmljaWVudGx5IGRlc2NyaWJlcyB0aGUgcmVhc29uLiAgVXNlIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2Ugd2hlbiByZWZlcmVuY2luZyBhIHJlc291cmNlLCB3aGljaCBhbGxvd3MgbW9yZSBpbmZvcm1hdGlvbiB0byBiZSBjb252ZXllZCwgc3VjaCBhcyBvbnNldCBkYXRlLiBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBhcmUgbm90IG1lYW50IHRvIGJlIGR1cGxpY2F0aXZlLiAgRm9yIGEgc2luZ2xlIHJlYXNvbiwgZWl0aGVyIFByb2NlZHVyZS5yZWFzb25Db2RlIG9yIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgY2FuIGJlIHVzZWQuICBQcm9jZWR1cmUucmVhc29uQ29kZSBtYXkgYmUgYSBzdW1tYXJ5IGNvZGUsIG9yIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgbWF5IGJlIHVzZWQgdG8gcmVmZXJlbmNlIGEgdmVyeSBwcmVjaXNlIGRlZmluaXRpb24gb2YgdGhlIHJlYXNvbiB1c2luZyBDb25kaXRpb24gfCBPYnNlcnZhdGlvbiB8IFByb2NlZHVyZSB8IERpYWdub3N0aWNSZXBvcnQgfCBEb2N1bWVudFJlZmVyZW5jZS4gIEJvdGggUHJvY2VkdXJlLnJlYXNvbkNvZGUgYW5kIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgY2FuIGJlIHVzZWQgaWYgdGhleSBhcmUgZGVzY3JpYmluZyBkaWZmZXJlbnQgcmVhc29ucyBmb3IgdGhlIHByb2NlZHVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIHJlYXNvbiBhIHByb2NlZHVyZSBpcyByZXF1aXJlZC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSBqdXN0aWZpY2F0aW9uIHRoYXQgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUganVzdGlmaWNhdGlvbiBvZiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgY29tbWVudD0iSXQgaXMgcG9zc2libGUgZm9yIGEgcHJvY2VkdXJlIHRvIGJlIGEgcmVhc29uIChzdWNoIGFzIEMtU2VjdGlvbikgZm9yIGFub3RoZXIgcHJvY2VkdXJlIChzdWNoIGFzIGFuIGVwaWR1cmFsKS4gT3RoZXIgZXhhbXBsZXMgaW5jbHVkZSBlbmRvc2NvcHkgZm9yIGRpbGF0YXRpb24gYW5kIGJpb3BzeSAoYSBjb21iaW5hdGlvbiBvZiBkaWFnbm9zdGljIGFuZCB0aGVyYXBldXRpYyB1c2UpLiAmIzEwO1VzZSBQcm9jZWR1cmUucmVhc29uQ29kZSB3aGVuIGEgY29kZSBzdWZmaWNpZW50bHkgZGVzY3JpYmVzIHRoZSByZWFzb24uICBVc2UgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSB3aGVuIHJlZmVyZW5jaW5nIGEgcmVzb3VyY2UsIHdoaWNoIGFsbG93cyBtb3JlIGluZm9ybWF0aW9uIHRvIGJlIGNvbnZleWVkLCBzdWNoIGFzIG9uc2V0IGRhdGUuIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGFyZSBub3QgbWVhbnQgdG8gYmUgZHVwbGljYXRpdmUuICBGb3IgYSBzaW5nbGUgcmVhc29uLCBlaXRoZXIgUHJvY2VkdXJlLnJlYXNvbkNvZGUgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZC4gIFByb2NlZHVyZS5yZWFzb25Db2RlIG1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBtYXkgYmUgdXNlZCB0byByZWZlcmVuY2UgYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgcmVhc29uIHVzaW5nIENvbmRpdGlvbiB8IE9ic2VydmF0aW9uIHwgUHJvY2VkdXJlIHwgRGlhZ25vc3RpY1JlcG9ydCB8IERvY3VtZW50UmVmZXJlbmNlLiAgQm90aCBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZCBpZiB0aGV5IGFyZSBkZXNjcmliaW5nIGRpZmZlcmVudCByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGFyZ2V0IGJvZHkgc2l0ZXMiIGRlZmluaXRpb249IkRldGFpbGVkIGFuZCBzdHJ1Y3R1cmVkIGFuYXRvbWljYWwgbG9jYXRpb24gaW5mb3JtYXRpb24uIE11bHRpcGxlIGxvY2F0aW9ucyBhcmUgYWxsb3dlZCAtIGUuZy4gbXVsdGlwbGUgcHVuY2ggYmlvcHNpZXMgb2YgYSBsZXNpb24uIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbcHJvY2VkdXJlLXRhcmdldGJvZHlzdHJ1Y3R1cmVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXByb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcmVzdWx0IG9mIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhlIG91dGNvbWUgb2YgdGhlIHByb2NlZHVyZSAtIGRpZCBpdCByZXNvbHZlIHRoZSByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlIGJlaW5nIHBlcmZvcm1lZD8iIGNvbW1lbnQ9IklmIG91dGNvbWUgY29udGFpbnMgbmFycmF0aXZlIHRleHQgb25seSwgaXQgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHRoZSBDb2RlYWJsZUNvbmNlcHQudGV4dC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVPdXRjb21lIiBkZXNjcmlwdGlvbj0iQW4gb3V0Y29tZSBvZiBhIHByb2NlZHVyZSAtIHdoZXRoZXIgaXQgd2FzIHJlc29sdmVkIG9yIG90aGVyd2lzZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydCIgZGVzY3JpcHRpb249IkFueSByZXBvcnQgcmVzdWx0aW5nIGZyb20gdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhpcyBjb3VsZCBiZSBhIGhpc3RvbG9neSByZXN1bHQsIHBhdGhvbG9neSByZXBvcnQsIHN1cmdpY2FsIHJlcG9ydCwgZXRjLiIgY29tbWVudD0iVGhlcmUgY291bGQgcG90ZW50aWFsbHkgYmUgbXVsdGlwbGUgcmVwb3J0cyAtIGUuZy4gaWYgdGhpcyB3YXMgYSBwcm9jZWR1cmUgd2hpY2ggdG9vayBtdWx0aXBsZSBiaW9wc2llcyByZXN1bHRpbmcgaW4gYSBudW1iZXIgb2YgYW5hdG9taWNhbCBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wbGljYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb21wbGljYXRpb24gZm9sbG93aW5nIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBjb21wbGljYXRpb25zIHRoYXQgb2NjdXJyZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUsIG9yIGluIHRoZSBpbW1lZGlhdGUgcG9zdC1wZXJmb3JtYW5jZSBwZXJpb2QuIFRoZXNlIGFyZSBnZW5lcmFsbHkgdHJhY2tlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIG5vdGVzLCB3aGljaCB3aWxsIHR5cGljYWxseSBkZXNjcmliZSB0aGUgcHJvY2VkdXJlIGl0c2VsZiByYXRoZXIgdGhhbiBhbnkgJ3Bvc3QgcHJvY2VkdXJlJyBpc3N1ZXMuIiBjb21tZW50PSJJZiBjb21wbGljYXRpb25zIGFyZSBvbmx5IGV4cHJlc3NlZCBieSB0aGUgbmFycmF0aXZlIHRleHQsIHRoZXkgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHRoZSBDb2RlYWJsZUNvbmNlcHQudGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ29tcGxpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBjb21wbGljYXRpb25zIHRoYXQgcmVzdWx0ZWQgZnJvbSBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsaWNhdGlvbkRldGFpbCIgZGVzY3JpcHRpb249IkEgY29uZGl0aW9uIHRoYXQgaXMgYSByZXN1bHQgb2YgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IGNvbXBsaWNhdGlvbnMgdGhhdCBvY2N1cnJlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSwgb3IgaW4gdGhlIGltbWVkaWF0ZSBwb3N0LXBlcmZvcm1hbmNlIHBlcmlvZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2xsb3dVcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ikluc3RydWN0aW9ucyBmb3IgZm9sbG93IHVwIiBkZWZpbml0aW9uPSJJZiB0aGUgcHJvY2VkdXJlIHJlcXVpcmVkIHNwZWNpZmljIGZvbGxvdyB1cCAtIGUuZy4gcmVtb3ZhbCBvZiBzdXR1cmVzLiBUaGUgZm9sbG93IHVwIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHNpbXBsZSBub3RlIG9yIGNvdWxkIHBvdGVudGlhbGx5IGJlIG1vcmUgY29tcGxleCwgaW4gd2hpY2ggY2FzZSB0aGUgQ2FyZVBsYW4gcmVzb3VyY2UgY2FuIGJlIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUZvbGxvd1VwIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgZm9sbG93IHVwIHJlcXVpcmVkIGZvciBhIHByb2NlZHVyZSBlLmcuIHJlbW92YWwgb2Ygc3V0dXJlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBvdGhlciBub3RlcyBhbmQgY29tbWVudHMgYWJvdXQgdGhlIHByb2NlZHVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jYWxEZXZpY2UiIGRlc2NyaXB0aW9uPSJNYW5pcHVsYXRlZCwgaW1wbGFudGVkLCBvciByZW1vdmVkIGRldmljZSIgZGVmaW5pdGlvbj0iQSBkZXZpY2UgdGhhdCBpcyBpbXBsYW50ZWQsIHJlbW92ZWQgb3Igb3RoZXJ3aXNlIG1hbmlwdWxhdGVkIChjYWxpYnJhdGlvbiwgYmF0dGVyeSByZXBsYWNlbWVudCwgZml0dGluZyBhIHByb3N0aGVzaXMsIGF0dGFjaGluZyBhIHdvdW5kLXZhYywgZXRjLikgYXMgYSBmb2NhbCBwb3J0aW9uIG9mIHRoZSBQcm9jZWR1cmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Qcm9jZWR1cmUuRm9jYWxEZXZpY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXNlZFJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ikl0ZW1zIHVzZWQgZHVyaW5nIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBtZWRpY2F0aW9ucywgZGV2aWNlcyBhbmQgYW55IG90aGVyIHN1YnN0YW5jZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHByb2NlZHVyZS4iIGNvbW1lbnQ9IkZvciBkZXZpY2VzIGFjdHVhbGx5IGltcGxhbnRlZCBvciByZW1vdmVkLCB1c2UgUHJvY2VkdXJlLmRldmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1c2VkQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVkIGl0ZW1zIHVzZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IklkZW50aWZpZXMgY29kZWQgaXRlbXMgdGhhdCB3ZXJlIHVzZWQgYXMgcGFydCBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iRm9yIGRldmljZXMgYWN0dWFsbHkgaW1wbGFudGVkIG9yIHJlbW92ZWQsIHVzZSBQcm9jZWR1cmUuZGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVVc2VkIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBpdGVtcyB1c2VkIGR1cmluZyBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImFjdG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByb2NlZHVyZS5Gb2NhbERldmljZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJLaW5kIG9mIGNoYW5nZSB0byBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIGNoYW5nZSB0aGF0IGhhcHBlbmVkIHRvIHRoZSBkZXZpY2UgZHVyaW5nIHRoZSBwcm9jZWR1cmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlQWN0aW9uS2luZCIgZGVzY3JpcHRpb249IkEga2luZCBvZiBjaGFuZ2UgdGhhdCBoYXBwZW5lZCB0byB0aGUgZGV2aWNlIGR1cmluZyB0aGUgcHJvY2VkdXJlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYW5pcHVsYXRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdGhhdCB3YXMgY2hhbmdlZCIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB0aGF0IHdhcyBtYW5pcHVsYXRlZCAoY2hhbmdlZCkgZHVyaW5nIHRoZSBwcm9jZWR1cmUuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcm9jZWR1cmUuUGVyZm9ybWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBwZXJmb3JtYW5jZSIgZGVmaW5pdGlvbj0iRGlzdGluZ3Vpc2hlcyB0aGUgdHlwZSBvZiBpbnZvbHZlbWVudCBvZiB0aGUgcGVyZm9ybWVyIGluIHRoZSBwcm9jZWR1cmUuIEZvciBleGFtcGxlLCBzdXJnZW9uLCBhbmFlc3RoZXRpc3QsIGVuZG9zY29waXN0LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZVBlcmZvcm1lclJvbGUiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSByb2xlIG9mIGEgcGVyZm9ybWVyIG9mIHRoZSBwcm9jZWR1cmUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3RvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcmVmZXJlbmNlIHRvIHRoZSBwcmFjdGl0aW9uZXIiIGRlZmluaXRpb249IlRoZSBwcmFjdGl0aW9uZXIgd2hvIHdhcyBpbnZvbHZlZCBpbiB0aGUgcHJvY2VkdXJlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9uQmVoYWxmT2YiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoZSBkZXZpY2Ugb3IgcHJhY3RpdGlvbmVyIHdhcyBhY3RpbmcgZm9yIiBkZWZpbml0aW9uPSJUaGUgb3JnYW5pemF0aW9uIHRoZSBkZXZpY2Ugb3IgcHJhY3RpdGlvbmVyIHdhcyBhY3Rpbmcgb24gYmVoYWxmIG9mLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJvY2VkdXJlTm90RG9uZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJvY2VkdXJlbm90ZG9uZSIgbGFiZWw9IlFJQ29yZSBQcm9jZWR1cmUgTm90IERvbmUiIHRhcmdldD0iUHJvY2VkdXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gdGhlIHByb2NlZHVyZSB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBwcm9jZWR1cmUgd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgcmVnYXJkbGVzcyBvZiBQcm9jZWR1cmUuc3RhdHVzIChwb3RlbnRpYWxseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZGVudGlmaWVycyBmb3IgdGhpcyBwcm9jZWR1cmUiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcHJvY2VkdXJlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIGlzIHByb3BhZ2F0ZWQgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZXMgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyIHNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgUHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXIgc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBQcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBIHJlcXVlc3QgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHJlc291cmNlIHRoYXQgY29udGFpbnMgZGV0YWlscyBvZiB0aGUgcmVxdWVzdCBmb3IgdGhpcyBwcm9jZWR1cmUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBwcm9jZWR1cmUgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iIGNvbW1lbnQ9IlRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gcmVzb3VyY2UgaGFzIGEgcGFydE9mIHJlZmVyZW5jZSB0byBQcm9jZWR1cmUsIGJ1dCB0aGlzIGlzIG5vdCBhIGNpcmN1bGFyIHJlZmVyZW5jZS4gICBGb3IgZXhhbXBsZSwgdGhlIGFuZXN0aGVzaWEgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIGlzIHBhcnQgb2YgdGhlIHN1cmdpY2FsIFByb2NlZHVyZSAoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLnBhcnRPZiA9IFByb2NlZHVyZSkuICBGb3IgZXhhbXBsZSwgdGhlIHByb2NlZHVyZSB0byBpbnNlcnQgdGhlIElWIHBvcnQgZm9yIGFuIElWIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gaXMgcGFydCBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiAoUHJvY2VkdXJlLnBhcnRPZiA9IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbikuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIHByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCBub3QtZG9uZSB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiBHZW5lcmFsbHksIHRoaXMgd2lsbCBiZSB0aGUgaW4tcHJvZ3Jlc3Mgb3IgY29tcGxldGVkIHN0YXRlLiIgY29tbWVudD0iVGhlICZxdW90O3Vua25vd24mcXVvdDsgY29kZSBpcyBub3QgdG8gYmUgdXNlZCB0byBjb252ZXkgb3RoZXIgc3RhdHVzZXMuICBUaGUgJnF1b3Q7dW5rbm93biZxdW90OyBjb2RlIHNob3VsZCBiZSB1c2VkIHdoZW4gb25lIG9mIHRoZSBzdGF0dXNlcyBhcHBsaWVzLCBidXQgdGhlIGF1dGhvcmluZyBzeXN0ZW0gZG9lc24ndCBrbm93IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuJiMxMDsmIzEwO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgcHJvY2VkdXJlIHdhcyBub3QgZG9uZSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIGEgcHJvY2VkdXJlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIElkZW50aWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBzcGVjaWZpYyBwcm9jZWR1cmUgdGhhdCBpcyBwZXJmb3JtZWQuIFVzZSB0ZXh0IGlmIHRoZSBleGFjdCBuYXR1cmUgb2YgdGhlIHByb2NlZHVyZSBjYW5ub3QgYmUgY29kZWQgKGUuZy4gJnF1b3Q7TGFwYXJvc2NvcGljIEFwcGVuZGVjdG9teSZxdW90OykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyB0aGUgdHlwZSBvZiAgUHJvY2VkdXJlIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIHRoZSBwcm9jZWR1cmUgd2FzIHBlcmZvcm1lZCBvbiIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiwgYW5pbWFsIG9yIGdyb3VwIG9uIHdoaWNoIHRoZSBwcm9jZWR1cmUgd2FzIHBlcmZvcm1lZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgUHJvY2VkdXJlIHdhcyBjcmVhdGVkIG9yIHBlcmZvcm1lZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHRoZSBwcm9jZWR1cmUgd2FzIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlLCBkYXRlLXRpbWUsIHBlcmlvZCwgb3IgYWdlIHdoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiAgQWxsb3dzIGEgcGVyaW9kIHRvIHN1cHBvcnQgY29tcGxleCBwcm9jZWR1cmVzIHRoYXQgc3BhbiBtb3JlIHRoYW4gb25lIGRhdGUsIGFuZCBhbHNvIGFsbG93cyBmb3IgdGhlIGxlbmd0aCBvZiB0aGUgcHJvY2VkdXJlIHRvIGJlIGNhcHR1cmVkLiIgY29tbWVudD0iQWdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgYXQgd2hpY2ggdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiBSYW5nZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIHJhbmdlIHdoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLCBzdWNoIGFzIHNvbWV0aW1lIGJldHdlZW4gMjAtMjUgeWVhcnMgb2xkLiAgZGF0ZVRpbWUgc3VwcG9ydHMgYSByYW5nZSBvZiBwcmVjaXNpb24gZHVlIHRvIHNvbWUgcHJvY2VkdXJlcyBiZWluZyByZXBvcnRlZCBhcyBwYXN0IHByb2NlZHVyZXMgdGhhdCBtaWdodCBub3QgaGF2ZSBtaWxsaXNlY29uZCBwcmVjaXNpb24gd2hpbGUgb3RoZXIgcHJvY2VkdXJlcyBwZXJmb3JtZWQgYW5kIGRvY3VtZW50ZWQgZHVyaW5nIHRoZSBlbmNvdW50ZXIgbWlnaHQgaGF2ZSBtb3JlIHByZWNpc2UgVVRDIHRpbWVzdGFtcHMgd2l0aCB0aW1lem9uZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjb3JkZWQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gcmVjb3JkZWQgdGhlIHJlY29yZCBhbmQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBjb250ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBwcm9jZWR1cmUgc3RhdGVtZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IlRoZSBwZW9wbGUgd2hvIHBlcmZvcm1lZCB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJMaW1pdGVkIHRvICZxdW90O3JlYWwmcXVvdDsgcGVvcGxlIHJhdGhlciB0aGFuIGVxdWlwbWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlByb2NlZHVyZS5QZXJmb3JtZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIHByb2NlZHVyZSBoYXBwZW5lZCIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBwcm9jZWR1cmUgYWN0dWFsbHkgaGFwcGVuZWQuICBFLmcuIGEgbmV3Ym9ybiBhdCBob21lLCBhIHRyYWNoZW9zdG9teSBhdCBhIHJlc3RhdXJhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVkIHJlYXNvbiBwcm9jZWR1cmUgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUgY29kZWQgcmVhc29uIHdoeSB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFRoaXMgbWF5IGJlIGEgY29kZWQgZW50aXR5IG9mIHNvbWUgdHlwZSwgb3IgbWF5IHNpbXBseSBiZSBwcmVzZW50IGFzIHRleHQuIiBjb21tZW50PSJVc2UgUHJvY2VkdXJlLnJlYXNvbkNvZGUgd2hlbiBhIGNvZGUgc3VmZmljaWVudGx5IGRlc2NyaWJlcyB0aGUgcmVhc29uLiAgVXNlIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2Ugd2hlbiByZWZlcmVuY2luZyBhIHJlc291cmNlLCB3aGljaCBhbGxvd3MgbW9yZSBpbmZvcm1hdGlvbiB0byBiZSBjb252ZXllZCwgc3VjaCBhcyBvbnNldCBkYXRlLiBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBhcmUgbm90IG1lYW50IHRvIGJlIGR1cGxpY2F0aXZlLiAgRm9yIGEgc2luZ2xlIHJlYXNvbiwgZWl0aGVyIFByb2NlZHVyZS5yZWFzb25Db2RlIG9yIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgY2FuIGJlIHVzZWQuICBQcm9jZWR1cmUucmVhc29uQ29kZSBtYXkgYmUgYSBzdW1tYXJ5IGNvZGUsIG9yIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgbWF5IGJlIHVzZWQgdG8gcmVmZXJlbmNlIGEgdmVyeSBwcmVjaXNlIGRlZmluaXRpb24gb2YgdGhlIHJlYXNvbiB1c2luZyBDb25kaXRpb24gfCBPYnNlcnZhdGlvbiB8IFByb2NlZHVyZSB8IERpYWdub3N0aWNSZXBvcnQgfCBEb2N1bWVudFJlZmVyZW5jZS4gIEJvdGggUHJvY2VkdXJlLnJlYXNvbkNvZGUgYW5kIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgY2FuIGJlIHVzZWQgaWYgdGhleSBhcmUgZGVzY3JpYmluZyBkaWZmZXJlbnQgcmVhc29ucyBmb3IgdGhlIHByb2NlZHVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVhc29uIGEgcHJvY2VkdXJlIGlzICByZXF1aXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBqdXN0aWZpY2F0aW9uIHRoYXQgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUganVzdGlmaWNhdGlvbiBvZiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgY29tbWVudD0iSXQgaXMgcG9zc2libGUgZm9yIGEgcHJvY2VkdXJlIHRvIGJlIGEgcmVhc29uIChzdWNoIGFzIEMtU2VjdGlvbikgZm9yIGFub3RoZXIgcHJvY2VkdXJlIChzdWNoIGFzIGFuIGVwaWR1cmFsKS4gT3RoZXIgZXhhbXBsZXMgaW5jbHVkZSBlbmRvc2NvcHkgZm9yIGRpbGF0YXRpb24gYW5kIGJpb3BzeSAoYSBjb21iaW5hdGlvbiBvZiBkaWFnbm9zdGljIGFuZCB0aGVyYXBldXRpYyB1c2UpLiAmIzEwO1VzZSBQcm9jZWR1cmUucmVhc29uQ29kZSB3aGVuIGEgY29kZSBzdWZmaWNpZW50bHkgZGVzY3JpYmVzIHRoZSByZWFzb24uICBVc2UgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSB3aGVuIHJlZmVyZW5jaW5nIGEgcmVzb3VyY2UsIHdoaWNoIGFsbG93cyBtb3JlIGluZm9ybWF0aW9uIHRvIGJlIGNvbnZleWVkLCBzdWNoIGFzIG9uc2V0IGRhdGUuIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGFyZSBub3QgbWVhbnQgdG8gYmUgZHVwbGljYXRpdmUuICBGb3IgYSBzaW5nbGUgcmVhc29uLCBlaXRoZXIgUHJvY2VkdXJlLnJlYXNvbkNvZGUgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZC4gIFByb2NlZHVyZS5yZWFzb25Db2RlIG1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBtYXkgYmUgdXNlZCB0byByZWZlcmVuY2UgYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgcmVhc29uIHVzaW5nIENvbmRpdGlvbiB8IE9ic2VydmF0aW9uIHwgUHJvY2VkdXJlIHwgRGlhZ25vc3RpY1JlcG9ydCB8IERvY3VtZW50UmVmZXJlbmNlLiAgQm90aCBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZCBpZiB0aGV5IGFyZSBkZXNjcmliaW5nIGRpZmZlcmVudCByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGFyZ2V0IGJvZHkgc2l0ZXMiIGRlZmluaXRpb249IkRldGFpbGVkIGFuZCBzdHJ1Y3R1cmVkIGFuYXRvbWljYWwgbG9jYXRpb24gaW5mb3JtYXRpb24uIE11bHRpcGxlIGxvY2F0aW9ucyBhcmUgYWxsb3dlZCAtIGUuZy4gbXVsdGlwbGUgcHVuY2ggYmlvcHNpZXMgb2YgYSBsZXNpb24uIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbcHJvY2VkdXJlLXRhcmdldGJvZHlzdHJ1Y3R1cmVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXByb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcmVzdWx0IG9mIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhlIG91dGNvbWUgb2YgdGhlIHByb2NlZHVyZSAtIGRpZCBpdCByZXNvbHZlIHRoZSByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlIGJlaW5nIHBlcmZvcm1lZD8iIGNvbW1lbnQ9IklmIG91dGNvbWUgY29udGFpbnMgbmFycmF0aXZlIHRleHQgb25seSwgaXQgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHRoZSBDb2RlYWJsZUNvbmNlcHQudGV4dC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVPdXRjb21lIiBkZXNjcmlwdGlvbj0iQW4gb3V0Y29tZSBvZiBhIHByb2NlZHVyZSAtIHdoZXRoZXIgaXQgd2FzIHJlc29sdmVkIG9yIG90aGVyd2lzZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydCIgZGVzY3JpcHRpb249IkFueSByZXBvcnQgcmVzdWx0aW5nIGZyb20gdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhpcyBjb3VsZCBiZSBhIGhpc3RvbG9neSByZXN1bHQsIHBhdGhvbG9neSByZXBvcnQsIHN1cmdpY2FsIHJlcG9ydCwgZXRjLiIgY29tbWVudD0iVGhlcmUgY291bGQgcG90ZW50aWFsbHkgYmUgbXVsdGlwbGUgcmVwb3J0cyAtIGUuZy4gaWYgdGhpcyB3YXMgYSBwcm9jZWR1cmUgd2hpY2ggdG9vayBtdWx0aXBsZSBiaW9wc2llcyByZXN1bHRpbmcgaW4gYSBudW1iZXIgb2YgYW5hdG9taWNhbCBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wbGljYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb21wbGljYXRpb24gZm9sbG93aW5nIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBjb21wbGljYXRpb25zIHRoYXQgb2NjdXJyZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUsIG9yIGluIHRoZSBpbW1lZGlhdGUgcG9zdC1wZXJmb3JtYW5jZSBwZXJpb2QuIFRoZXNlIGFyZSBnZW5lcmFsbHkgdHJhY2tlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIG5vdGVzLCB3aGljaCB3aWxsIHR5cGljYWxseSBkZXNjcmliZSB0aGUgcHJvY2VkdXJlIGl0c2VsZiByYXRoZXIgdGhhbiBhbnkgJ3Bvc3QgcHJvY2VkdXJlJyBpc3N1ZXMuIiBjb21tZW50PSJJZiBjb21wbGljYXRpb25zIGFyZSBvbmx5IGV4cHJlc3NlZCBieSB0aGUgbmFycmF0aXZlIHRleHQsIHRoZXkgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHRoZSBDb2RlYWJsZUNvbmNlcHQudGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ29tcGxpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBjb21wbGljYXRpb25zIHRoYXQgcmVzdWx0ZWQgZnJvbSBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsaWNhdGlvbkRldGFpbCIgZGVzY3JpcHRpb249IkEgY29uZGl0aW9uIHRoYXQgaXMgYSByZXN1bHQgb2YgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IGNvbXBsaWNhdGlvbnMgdGhhdCBvY2N1cnJlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSwgb3IgaW4gdGhlIGltbWVkaWF0ZSBwb3N0LXBlcmZvcm1hbmNlIHBlcmlvZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2xsb3dVcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ikluc3RydWN0aW9ucyBmb3IgZm9sbG93IHVwIiBkZWZpbml0aW9uPSJJZiB0aGUgcHJvY2VkdXJlIHJlcXVpcmVkIHNwZWNpZmljIGZvbGxvdyB1cCAtIGUuZy4gcmVtb3ZhbCBvZiBzdXR1cmVzLiBUaGUgZm9sbG93IHVwIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHNpbXBsZSBub3RlIG9yIGNvdWxkIHBvdGVudGlhbGx5IGJlIG1vcmUgY29tcGxleCwgaW4gd2hpY2ggY2FzZSB0aGUgQ2FyZVBsYW4gcmVzb3VyY2UgY2FuIGJlIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUZvbGxvd1VwIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgZm9sbG93IHVwIHJlcXVpcmVkIGZvciBhIHByb2NlZHVyZSBlLmcuIHJlbW92YWwgb2Ygc3V0dXJlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBvdGhlciBub3RlcyBhbmQgY29tbWVudHMgYWJvdXQgdGhlIHByb2NlZHVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jYWxEZXZpY2UiIGRlc2NyaXB0aW9uPSJNYW5pcHVsYXRlZCwgaW1wbGFudGVkLCBvciByZW1vdmVkIGRldmljZSIgZGVmaW5pdGlvbj0iQSBkZXZpY2UgdGhhdCBpcyBpbXBsYW50ZWQsIHJlbW92ZWQgb3Igb3RoZXJ3aXNlIG1hbmlwdWxhdGVkIChjYWxpYnJhdGlvbiwgYmF0dGVyeSByZXBsYWNlbWVudCwgZml0dGluZyBhIHByb3N0aGVzaXMsIGF0dGFjaGluZyBhIHdvdW5kLXZhYywgZXRjLikgYXMgYSBmb2NhbCBwb3J0aW9uIG9mIHRoZSBQcm9jZWR1cmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Qcm9jZWR1cmUuRm9jYWxEZXZpY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXNlZFJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ikl0ZW1zIHVzZWQgZHVyaW5nIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBtZWRpY2F0aW9ucywgZGV2aWNlcyBhbmQgYW55IG90aGVyIHN1YnN0YW5jZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHByb2NlZHVyZS4iIGNvbW1lbnQ9IkZvciBkZXZpY2VzIGFjdHVhbGx5IGltcGxhbnRlZCBvciByZW1vdmVkLCB1c2UgUHJvY2VkdXJlLmRldmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1c2VkQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVkIGl0ZW1zIHVzZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IklkZW50aWZpZXMgY29kZWQgaXRlbXMgdGhhdCB3ZXJlIHVzZWQgYXMgcGFydCBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iRm9yIGRldmljZXMgYWN0dWFsbHkgaW1wbGFudGVkIG9yIHJlbW92ZWQsIHVzZSBQcm9jZWR1cmUuZGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVVc2VkIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBpdGVtcyB1c2VkIGR1cmluZyBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHVibGljYXRpb25TdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVhbnRpdHlDb21wYXJhdG9yIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9RdWVzdGlvbm5haXJlIiBsYWJlbD0iUXVlc3Rpb25uYWlyZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0ibmFtZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDYW5vbmljYWwgaWRlbnRpZmllciBmb3IgdGhpcyBxdWVzdGlvbm5haXJlLCByZXByZXNlbnRlZCBhcyBhIFVSSSAoZ2xvYmFsbHkgdW5pcXVlKSIgZGVmaW5pdGlvbj0iQW4gYWJzb2x1dGUgVVJJIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBhbiBpbnN0YW5jZTsgYWxzbyBjYWxsZWQgaXRzIGNhbm9uaWNhbCBpZGVudGlmaWVyLiBUaGlzIFNIT1VMRCBiZSBnbG9iYWxseSB1bmlxdWUgYW5kIFNIT1VMRCBiZSBhIGxpdGVyYWwgYWRkcmVzcyBhdCB3aGljaCBhdCB3aGljaCBhbiBhdXRob3JpdGF0aXZlIGluc3RhbmNlIG9mIHRoaXMgcXVlc3Rpb25uYWlyZSBpcyAob3Igd2lsbCBiZSkgcHVibGlzaGVkLiBUaGlzIFVSTCBjYW4gYmUgdGhlIHRhcmdldCBvZiBhIGNhbm9uaWNhbCByZWZlcmVuY2UuIEl0IFNIQUxMIHJlbWFpbiB0aGUgc2FtZSB3aGVuIHRoZSBxdWVzdGlvbm5haXJlIGlzIHN0b3JlZCBvbiBkaWZmZXJlbnQgc2VydmVycy4iIGNvbW1lbnQ9IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHF1ZXN0aW9ubmFpcmUgY2FuIGJlIGNvbnZleWVkIHVzaW5nIHRoZSBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZGlzcGxheSBleHRlbnNpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaWRlbnRpZmllciBmb3IgdGhlIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkEgZm9ybWFsIGlkZW50aWZpZXIgdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgcXVlc3Rpb25uYWlyZSB3aGVuIGl0IGlzIHJlcHJlc2VudGVkIGluIG90aGVyIGZvcm1hdHMsIG9yIHJlZmVyZW5jZWQgaW4gYSBzcGVjaWZpY2F0aW9uLCBtb2RlbCwgZGVzaWduIG9yIGFuIGluc3RhbmNlLiIgY29tbWVudD0iVHlwaWNhbGx5LCB0aGlzIGlzIHVzZWQgZm9yIGlkZW50aWZpZXJzIHRoYXQgY2FuIGdvIGluIGFuIEhMNyBWMyBJSSAoaW5zdGFuY2UgaWRlbnRpZmllcikgZGF0YSB0eXBlLCBhbmQgY2FuIHRoZW4gaWRlbnRpZnkgdGhpcyBxdWVzdGlvbm5haXJlIG91dHNpZGUgb2YgRkhJUiwgd2hlcmUgaXQgaXMgbm90IHBvc3NpYmxlIHRvIHVzZSB0aGUgbG9naWNhbCBVUkkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkJ1c2luZXNzIHZlcnNpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IlRoZSBpZGVudGlmaWVyIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHZlcnNpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBpbnN0YW5jZS4gVGhpcyBpcyBhbiBhcmJpdHJhcnkgdmFsdWUgbWFuYWdlZCBieSB0aGUgcXVlc3Rpb25uYWlyZSBhdXRob3IgYW5kIGlzIG5vdCBleHBlY3RlZCB0byBiZSBnbG9iYWxseSB1bmlxdWUuIEZvciBleGFtcGxlLCBpdCBtaWdodCBiZSBhIHRpbWVzdGFtcCAoZS5nLiB5eXl5bW1kZCkgaWYgYSBtYW5hZ2VkIHZlcnNpb24gaXMgbm90IGF2YWlsYWJsZS4gVGhlcmUgaXMgYWxzbyBubyBleHBlY3RhdGlvbiB0aGF0IHZlcnNpb25zIGNhbiBiZSBwbGFjZWQgaW4gYSBsZXhpY29ncmFwaGljYWwgc2VxdWVuY2UuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgZGlmZmVyZW50IHF1ZXN0aW9ubmFpcmUgaW5zdGFuY2VzIHRoYXQgaGF2ZSB0aGUgc2FtZSBpZGVudGlmaWVyIGJ1dCBkaWZmZXJlbnQgdmVyc2lvbnMuICBUaGUgdmVyc2lvbiBjYW4gYmUgYXBwZW5kZWQgdG8gdGhlIHVybCBpbiBhIHJlZmVyZW5jZSB0byBhbGxvdyBhIHJlZmVyZW5jZSB0byBhIHBhcnRpY3VsYXIgYnVzaW5lc3MgdmVyc2lvbiBvZiB0aGUgcXVlc3Rpb25uYWlyZSB3aXRoIHRoZSBmb3JtYXQgW3VybF18W3ZlcnNpb25dLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgZm9yIHRoaXMgcXVlc3Rpb25uYWlyZSAoY29tcHV0ZXIgZnJpZW5kbHkpIiBkZWZpbml0aW9uPSJBIG5hdHVyYWwgbGFuZ3VhZ2UgbmFtZSBpZGVudGlmeWluZyB0aGUgcXVlc3Rpb25uYWlyZS4gVGhpcyBuYW1lIHNob3VsZCBiZSB1c2FibGUgYXMgYW4gaWRlbnRpZmllciBmb3IgdGhlIG1vZHVsZSBieSBtYWNoaW5lIHByb2Nlc3NpbmcgYXBwbGljYXRpb25zIHN1Y2ggYXMgY29kZSBnZW5lcmF0aW9uLiIgY29tbWVudD0iVGhlIG5hbWUgaXMgbm90IGV4cGVjdGVkIHRvIGJlIGdsb2JhbGx5IHVuaXF1ZS4gVGhlIG5hbWUgc2hvdWxkIGJlIGEgc2ltcGxlIGFscGhhbnVtZXJpYyB0eXBlIG5hbWUgdG8gZW5zdXJlIHRoYXQgaXQgaXMgbWFjaGluZS1wcm9jZXNzaW5nIGZyaWVuZGx5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIGZvciB0aGlzIHF1ZXN0aW9ubmFpcmUgKGh1bWFuIGZyaWVuZGx5KSIgZGVmaW5pdGlvbj0iQSBzaG9ydCwgZGVzY3JpcHRpdmUsIHVzZXItZnJpZW5kbHkgdGl0bGUgZm9yIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iVGhpcyBuYW1lIGRvZXMgbm90IG5lZWQgdG8gYmUgbWFjaGluZS1wcm9jZXNzaW5nIGZyaWVuZGx5IGFuZCBtYXkgY29udGFpbiBwdW5jdHVhdGlvbiwgd2hpdGUtc3BhY2UsIGV0Yy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBvZiBhIFF1ZXN0aW9ubmFpcmUgdGhhdCB0aGlzIFF1ZXN0aW9ubmFpcmUgaXMgYmFzZWQgb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlB1YmxpY2F0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImRyYWZ0IHwgYWN0aXZlIHwgcmV0aXJlZCB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhpcyBxdWVzdGlvbm5haXJlLiBFbmFibGVzIHRyYWNraW5nIHRoZSBsaWZlLWN5Y2xlIG9mIHRoZSBjb250ZW50LiIgY29tbWVudD0iQWxsb3dzIGZpbHRlcmluZyBvZiBxdWVzdGlvbm5haXJlcyB0aGF0IGFyZSBhcHByb3ByaWF0ZSBmb3IgdXNlIHZlcnN1cyBub3QuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHVibGljYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgbGlmZWN5Y2xlIHN0YXR1cyBvZiBhbiBhcnRpZmFjdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBlcmltZW50YWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3IgdGVzdGluZyBwdXJwb3Nlcywgbm90IHJlYWwgdXNhZ2UiIGRlZmluaXRpb249IkEgQm9vbGVhbiB2YWx1ZSB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgcXVlc3Rpb25uYWlyZSBpcyBhdXRob3JlZCBmb3IgdGVzdGluZyBwdXJwb3NlcyAob3IgZWR1Y2F0aW9uL2V2YWx1YXRpb24vbWFya2V0aW5nKSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIGdlbnVpbmUgdXNhZ2UuIiBjb21tZW50PSJBbGxvd3MgZmlsdGVyaW5nIG9mIHF1ZXN0aW9ubmFpcmVzIHRoYXQgYXJlIGFwcHJvcHJpYXRlIGZvciB1c2UgdmVyc3VzIG5vdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0VHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZSB0aGF0IGNhbiBiZSBzdWJqZWN0IG9mIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSIgZGVmaW5pdGlvbj0iVGhlIHR5cGVzIG9mIHN1YmplY3RzIHRoYXQgY2FuIGJlIHRoZSBzdWJqZWN0IG9mIHJlc3BvbnNlcyBjcmVhdGVkIGZvciB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IklmIG5vbmUgYXJlIHNwZWNpZmllZCwgdGhlbiB0aGUgc3ViamVjdCBpcyB1bmxpbWl0ZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXNvdXJjZVR5cGUiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVzb3VyY2VUeXBlIiBkZXNjcmlwdGlvbj0iT25lIG9mIHRoZSByZXNvdXJjZSB0eXBlcyBkZWZpbmVkIGFzIHBhcnQgb2YgdGhpcyB2ZXJzaW9uIG9mIEZISVIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlIGxhc3QgY2hhbmdlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgIChhbmQgb3B0aW9uYWxseSB0aW1lKSB3aGVuIHRoZSBxdWVzdGlvbm5haXJlIHdhcyBwdWJsaXNoZWQuIFRoZSBkYXRlIG11c3QgY2hhbmdlIHdoZW4gdGhlIGJ1c2luZXNzIHZlcnNpb24gY2hhbmdlcyBhbmQgaXQgbXVzdCBjaGFuZ2UgaWYgdGhlIHN0YXR1cyBjb2RlIGNoYW5nZXMuIEluIGFkZGl0aW9uLCBpdCBzaG91bGQgY2hhbmdlIHdoZW4gdGhlIHN1YnN0YW50aXZlIGNvbnRlbnQgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgY2hhbmdlcy4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgcmVzb3VyY2UgbGFzdC1tb2RpZmllZC1kYXRlLCBzaW5jZSB0aGUgcmVzb3VyY2UgbWF5IGJlIGEgc2Vjb25kYXJ5IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBxdWVzdGlvbm5haXJlLiBBZGRpdGlvbmFsIHNwZWNpZmljIGRhdGVzIG1heSBiZSBhZGRlZCBhcyBleHRlbnNpb25zIG9yIGJlIGZvdW5kIGJ5IGNvbnN1bHRpbmcgUHJvdmVuYW5jZXMgYXNzb2NpYXRlZCB3aXRoIHBhc3QgdmVyc2lvbnMgb2YgdGhlIHJlc291cmNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InB1Ymxpc2hlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB0aGUgcHVibGlzaGVyIChvcmdhbml6YXRpb24gb3IgaW5kaXZpZHVhbCkiIGRlZmluaXRpb249IlRoZSBuYW1lIG9mIHRoZSBvcmdhbml6YXRpb24gb3IgaW5kaXZpZHVhbCB0aGF0IHB1Ymxpc2hlZCB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlVzdWFsbHkgYW4gb3JnYW5pemF0aW9uIGJ1dCBtYXkgYmUgYW4gaW5kaXZpZHVhbC4gVGhlIHB1Ymxpc2hlciAob3Igc3Rld2FyZCkgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgaXMgdGhlIG9yZ2FuaXphdGlvbiBvciBpbmRpdmlkdWFsIHByaW1hcmlseSByZXNwb25zaWJsZSBmb3IgdGhlIG1haW50ZW5hbmNlIGFuZCB1cGtlZXAgb2YgdGhlIHF1ZXN0aW9ubmFpcmUuIFRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHRoYXQgZGV2ZWxvcGVkIGFuZCBpbml0aWFsbHkgYXV0aG9yZWQgdGhlIGNvbnRlbnQuIFRoZSBwdWJsaXNoZXIgaXMgdGhlIHByaW1hcnkgcG9pbnQgb2YgY29udGFjdCBmb3IgcXVlc3Rpb25zIG9yIGlzc3VlcyB3aXRoIHRoZSBxdWVzdGlvbm5haXJlLiBUaGlzIGl0ZW0gU0hPVUxEIGJlIHBvcHVsYXRlZCB1bmxlc3MgdGhlIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBmcm9tIGNvbnRleHQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkNvbnRhY3QgZGV0YWlscyBmb3IgdGhlIHB1Ymxpc2hlciIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIHRvIGFzc2lzdCBhIHVzZXIgaW4gZmluZGluZyBhbmQgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBwdWJsaXNoZXIuIiBjb21tZW50PSJNYXkgYmUgYSB3ZWIgc2l0ZSwgYW4gZW1haWwgYWRkcmVzcywgYSB0ZWxlcGhvbmUgbnVtYmVyLCBldGMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0RGV0YWlsIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYXR1cmFsIGxhbmd1YWdlIGRlc2NyaXB0aW9uIG9mIHRoZSBxdWVzdGlvbm5haXJlIiBkZWZpbml0aW9uPSJBIGZyZWUgdGV4dCBuYXR1cmFsIGxhbmd1YWdlIGRlc2NyaXB0aW9uIG9mIHRoZSBxdWVzdGlvbm5haXJlIGZyb20gYSBjb25zdW1lcidzIHBlcnNwZWN0aXZlLiIgY29tbWVudD0iVGhpcyBkZXNjcmlwdGlvbiBjYW4gYmUgdXNlZCB0byBjYXB0dXJlIGRldGFpbHMgc3VjaCBhcyB3aHkgdGhlIHF1ZXN0aW9ubmFpcmUgd2FzIGJ1aWx0LCBjb21tZW50cyBhYm91dCBtaXN1c2UsIGluc3RydWN0aW9ucyBmb3IgY2xpbmljYWwgdXNlIGFuZCBpbnRlcnByZXRhdGlvbiwgbGl0ZXJhdHVyZSByZWZlcmVuY2VzLCBleGFtcGxlcyBmcm9tIHRoZSBwYXBlciB3b3JsZCwgZXRjLiBJdCBpcyBub3QgYSByZW5kZXJpbmcgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgYXMgY29udmV5ZWQgaW4gdGhlICd0ZXh0JyBmaWVsZCBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiBUaGlzIGl0ZW0gU0hPVUxEIGJlIHBvcHVsYXRlZCB1bmxlc3MgdGhlIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBmcm9tIGNvbnRleHQgKGUuZy4gdGhlIGxhbmd1YWdlIG9mIHRoZSBxdWVzdGlvbm5haXJlIGlzIHByZXN1bWVkIHRvIGJlIHRoZSBwcmVkb21pbmFudCBsYW5ndWFnZSBpbiB0aGUgcGxhY2UgdGhlIHF1ZXN0aW9ubmFpcmUgd2FzIGNyZWF0ZWQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZUNvbnRleHQiIGRlc2NyaXB0aW9uPSJUaGUgY29udGV4dCB0aGF0IHRoZSBjb250ZW50IGlzIGludGVuZGVkIHRvIHN1cHBvcnQiIGRlZmluaXRpb249IlRoZSBjb250ZW50IHdhcyBkZXZlbG9wZWQgd2l0aCBhIGZvY3VzIGFuZCBpbnRlbnQgb2Ygc3VwcG9ydGluZyB0aGUgY29udGV4dHMgdGhhdCBhcmUgbGlzdGVkLiBUaGVzZSBjb250ZXh0cyBtYXkgYmUgZ2VuZXJhbCBjYXRlZ29yaWVzIChnZW5kZXIsIGFnZSwgLi4uKSBvciBtYXkgYmUgcmVmZXJlbmNlcyB0byBzcGVjaWZpYyBwcm9ncmFtcyAoaW5zdXJhbmNlIHBsYW5zLCBzdHVkaWVzLCAuLi4pIGFuZCBtYXkgYmUgdXNlZCB0byBhc3Npc3Qgd2l0aCBpbmRleGluZyBhbmQgc2VhcmNoaW5nIGZvciBhcHByb3ByaWF0ZSBxdWVzdGlvbm5haXJlIGluc3RhbmNlcy4iIGNvbW1lbnQ9IldoZW4gbXVsdGlwbGUgdXNlQ29udGV4dHMgYXJlIHNwZWNpZmllZCwgdGhlcmUgaXMgbm8gZXhwZWN0YXRpb24gdGhhdCBhbGwgb3IgYW55IG9mIHRoZSBjb250ZXh0cyBhcHBseS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVzYWdlQ29udGV4dCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJqdXJpc2RpY3Rpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbnRlbmRlZCBqdXJpc2RpY3Rpb24gZm9yIHF1ZXN0aW9ubmFpcmUgKGlmIGFwcGxpY2FibGUpIiBkZWZpbml0aW9uPSJBIGxlZ2FsIG9yIGdlb2dyYXBoaWMgcmVnaW9uIGluIHdoaWNoIHRoZSBxdWVzdGlvbm5haXJlIGlzIGludGVuZGVkIHRvIGJlIHVzZWQuIiBjb21tZW50PSJJdCBtYXkgYmUgcG9zc2libGUgZm9yIHRoZSBxdWVzdGlvbm5haXJlIHRvIGJlIHVzZWQgaW4ganVyaXNkaWN0aW9ucyBvdGhlciB0aGFuIHRob3NlIGZvciB3aGljaCBpdCB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBvciBpbnRlbmRlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSnVyaXNkaWN0aW9uIiBkZXNjcmlwdGlvbj0iQ291bnRyaWVzIGFuZCByZWdpb25zIHdpdGhpbiB3aGljaCB0aGlzIGFydGlmYWN0IGlzIHRhcmdldGVkIGZvciB1c2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwdXJwb3NlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaHkgdGhpcyBxdWVzdGlvbm5haXJlIGlzIGRlZmluZWQiIGRlZmluaXRpb249IkV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIHF1ZXN0aW9ubmFpcmUgaXMgbmVlZGVkIGFuZCB3aHkgaXQgaGFzIGJlZW4gZGVzaWduZWQgYXMgaXQgaGFzLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRvZXMgbm90IGRlc2NyaWJlIHRoZSB1c2FnZSBvZiB0aGUgcXVlc3Rpb25uYWlyZS4gSW5zdGVhZCwgaXQgcHJvdmlkZXMgdHJhY2VhYmlsaXR5IG9mICcnd2h5JycgdGhlIHJlc291cmNlIGlzIGVpdGhlciBuZWVkZWQgb3IgJyd3aHknJyBpdCBpcyBkZWZpbmVkIGFzIGl0IGlzLiAgVGhpcyBtYXkgYmUgdXNlZCB0byBwb2ludCB0byBzb3VyY2UgbWF0ZXJpYWxzIG9yIHNwZWNpZmljYXRpb25zIHRoYXQgZHJvdmUgdGhlIHN0cnVjdHVyZSBvZiB0aGlzIHF1ZXN0aW9ubmFpcmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29weXJpZ2h0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJVc2UgYW5kL29yIHB1Ymxpc2hpbmcgcmVzdHJpY3Rpb25zIiBkZWZpbml0aW9uPSJBIGNvcHlyaWdodCBzdGF0ZW1lbnQgcmVsYXRpbmcgdG8gdGhlIHF1ZXN0aW9ubmFpcmUgYW5kL29yIGl0cyBjb250ZW50cy4gQ29weXJpZ2h0IHN0YXRlbWVudHMgYXJlIGdlbmVyYWxseSBsZWdhbCByZXN0cmljdGlvbnMgb24gdGhlIHVzZSBhbmQgcHVibGlzaGluZyBvZiB0aGUgcXVlc3Rpb25uYWlyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhcHByb3ZhbERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBxdWVzdGlvbm5haXJlIHdhcyBhcHByb3ZlZCBieSBwdWJsaXNoZXIiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZXNvdXJjZSBjb250ZW50IHdhcyBhcHByb3ZlZCBieSB0aGUgcHVibGlzaGVyLiBBcHByb3ZhbCBoYXBwZW5zIG9uY2Ugd2hlbiB0aGUgY29udGVudCBpcyBvZmZpY2lhbGx5IGFwcHJvdmVkIGZvciB1c2FnZS4iIGNvbW1lbnQ9IlRoZSAnZGF0ZScgZWxlbWVudCBtYXkgYmUgbW9yZSByZWNlbnQgdGhhbiB0aGUgYXBwcm92YWwgZGF0ZSBiZWNhdXNlIG9mIG1pbm9yIGNoYW5nZXMgb3IgZWRpdG9yaWFsIGNvcnJlY3Rpb25zLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RSZXZpZXdEYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgcXVlc3Rpb25uYWlyZSB3YXMgbGFzdCByZXZpZXdlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb24gd2hpY2ggdGhlIHJlc291cmNlIGNvbnRlbnQgd2FzIGxhc3QgcmV2aWV3ZWQuIFJldmlldyBoYXBwZW5zIHBlcmlvZGljYWxseSBhZnRlciBhcHByb3ZhbCBidXQgZG9lcyBub3QgY2hhbmdlIHRoZSBvcmlnaW5hbCBhcHByb3ZhbCBkYXRlLiIgY29tbWVudD0iSWYgc3BlY2lmaWVkLCB0aGlzIGRhdGUgZm9sbG93cyB0aGUgb3JpZ2luYWwgYXBwcm92YWwgZGF0ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmVQZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgcXVlc3Rpb25uYWlyZSBpcyBleHBlY3RlZCB0byBiZSB1c2VkIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcXVlc3Rpb25uYWlyZSBjb250ZW50IHdhcyBvciBpcyBwbGFubmVkIHRvIGJlIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJUaGUgZWZmZWN0aXZlIHBlcmlvZCBmb3IgYSBxdWVzdGlvbm5haXJlICBkZXRlcm1pbmVzIHdoZW4gdGhlIGNvbnRlbnQgaXMgYXBwbGljYWJsZSBmb3IgdXNhZ2UgYW5kIGlzIGluZGVwZW5kZW50IG9mIHB1YmxpY2F0aW9uIGFuZCByZXZpZXcgZGF0ZXMuIEZvciBleGFtcGxlLCBhIG1lYXN1cmUgaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3IgdGhlIHllYXIgMjAxNiBtaWdodCBiZSBwdWJsaXNoZWQgaW4gMjAxNS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29uY2VwdCB0aGF0IHJlcHJlc2VudHMgdGhlIG92ZXJhbGwgcXVlc3Rpb25uYWlyZSIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBxdWVzdGlvbiBvciBncm91cCBvZiBxdWVzdGlvbnMgaW4gYSBwYXJ0aWN1bGFyIHRlcm1pbm9sb2d5IHN1Y2ggYXMgTE9JTkMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVDb25jZXB0IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHF1ZXN0aW9ubmFpcmVzLCBncm91cHMgYW5kIGluZGl2aWR1YWwgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgZGVzY3JpcHRpb249IlF1ZXN0aW9ucyBhbmQgc2VjdGlvbnMgd2l0aGluIHRoZSBRdWVzdGlvbm5haXJlIiBkZWZpbml0aW9uPSJBIHBhcnRpY3VsYXIgcXVlc3Rpb24sIHF1ZXN0aW9uIGdyb3VwaW5nIG9yIGRpc3BsYXkgdGV4dCB0aGF0IGlzIHBhcnQgb2YgdGhlIHF1ZXN0aW9ubmFpcmUuIiBjb21tZW50PSJUaGUgY29udGVudCBvZiB0aGUgcXVlc3Rpb25uYWlyZSBpcyBjb25zdHJ1Y3RlZCBmcm9tIGFuIG9yZGVyZWQsIGhpZXJhcmNoaWNhbCBjb2xsZWN0aW9uIG9mIGl0ZW1zLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZS5JdGVtIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ikdyb3VwIGl0ZW1zIG11c3QgaGF2ZSBuZXN0ZWQgaXRlbXMsIGRpc3BsYXkgaXRlbXMgY2Fubm90IGhhdmUgbmVzdGVkIGl0ZW1zIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIodHlwZT0nZ3JvdXAnIGltcGxpZXMgaXRlbS5lbXB0eSgpLm5vdCgpKSBhbmQgKHR5cGUudHJhY2UoJ3R5cGUnKT0nZGlzcGxheScgaW1wbGllcyBpdGVtLnRyYWNlKCdpdGVtJykuZW1wdHkoKSkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEaXNwbGF5IGl0ZW1zIGNhbm5vdCBoYXZlIGEgJnF1b3Q7Y29kZSZxdW90OyBhc3NlcnRlZCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idHlwZSE9J2Rpc3BsYXknIG9yIGNvZGUuZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS00IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkEgcXVlc3Rpb24gY2Fubm90IGhhdmUgYm90aCBhbnN3ZXJPcHRpb24gYW5kIGFuc3dlclZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJhbnN3ZXJPcHRpb24uZW1wdHkoKSBvciBhbnN3ZXJWYWx1ZVNldC5lbXB0eSgpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTUiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iT25seSAnY2hvaWNlJyBhbmQgJ29wZW4tY2hvaWNlJyBpdGVtcyBjYW4gaGF2ZSBhbnN3ZXJWYWx1ZVNldCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKHR5cGUgPSdjaG9pY2UnIG9yIHR5cGUgPSAnb3Blbi1jaG9pY2UnIG9yIHR5cGUgPSAnZGVjaW1hbCcgb3IgdHlwZSA9ICdpbnRlZ2VyJyBvciB0eXBlID0gJ2RhdGUnIG9yIHR5cGUgPSAnZGF0ZVRpbWUnIG9yIHR5cGUgPSAndGltZScgb3IgdHlwZSA9ICdzdHJpbmcnIG9yIHR5cGUgPSAncXVhbnRpdHknKSBvciAoYW5zd2VyVmFsdWVTZXQuZW1wdHkoKSBhbmQgYW5zd2VyT3B0aW9uLmVtcHR5KCkpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTYiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iUmVxdWlyZWQgYW5kIHJlcGVhdCBhcmVuJ3QgcGVybWl0dGVkIGZvciBkaXNwbGF5IGl0ZW1zIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0eXBlIT0nZGlzcGxheScgb3IgKHJlcXVpcmVkLmVtcHR5KCkgYW5kIHJlcGVhdHMuZW1wdHkoKSkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtOCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJbml0aWFsIHZhbHVlcyBjYW4ndCBiZSBzcGVjaWZpZWQgZm9yIGdyb3VwcyBvciBkaXNwbGF5IGl0ZW1zIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIodHlwZSE9J2dyb3VwJyBhbmQgdHlwZSE9J2Rpc3BsYXknKSBvciBpbml0aWFsLmVtcHR5KCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtOSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJSZWFkLW9ubHkgY2FuJ3QgYmUgc3BlY2lmaWVkIGZvciAmcXVvdDtkaXNwbGF5JnF1b3Q7IGl0ZW1zIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0eXBlIT0nZGlzcGxheScgb3IgcmVhZE9ubHkuZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNYXhpbXVtIGxlbmd0aCBjYW4gb25seSBiZSBkZWNsYXJlZCBmb3Igc2ltcGxlIHF1ZXN0aW9uIHR5cGVzIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIodHlwZSBpbiAoJ2Jvb2xlYW4nIHwgJ2RlY2ltYWwnIHwgJ2ludGVnZXInIHwgJ3N0cmluZycgfCAndGV4dCcgfCAndXJsJyB8ICdvcGVuLWNob2ljZScpKSBvciBtYXhMZW5ndGguZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiBvbmUgb3IgbW9yZSBhbnN3ZXJPcHRpb24gaXMgcHJlc2VudCwgaW5pdGlhbFt4XSBtdXN0IGJlIG1pc3NpbmciPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImFuc3dlck9wdGlvbi5lbXB0eSgpIG9yIGluaXRpYWwuZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmFibGVXaGVuLCBlbmFibGVCZWhhdmlvciBtdXN0IGJlIHNwZWNpZmllZCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iZW5hYmxlV2hlbi5jb3VudCgpICZndDsgMiBpbXBsaWVzIGVuYWJsZUJlaGF2aW9yLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTEzIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkNhbiBvbmx5IGhhdmUgbXVsdGlwbGUgaW5pdGlhbCB2YWx1ZXMgZm9yIHJlcGVhdGluZyBpdGVtcyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icmVwZWF0cz10cnVlIG9yIGluaXRpYWwuY291bnQoKSAmbHQ7PSAxIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlLkl0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxpbmtJZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciBpdGVtIGluIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBpcyB1bmlxdWUgd2l0aGluIHRoZSBRdWVzdGlvbm5haXJlIGFsbG93aW5nIGxpbmthZ2UgdG8gdGhlIGVxdWl2YWxlbnQgaXRlbSBpbiBhIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSByZXNvdXJjZS4iIGNvbW1lbnQ9IlRoaXMgJydjYW4nJyBiZSBhIG1lYW5pbmdmdWwgaWRlbnRpZmllciAoZS5nLiBhIExPSU5DIGNvZGUpIGJ1dCBpcyBub3QgaW50ZW5kZWQgdG8gaGF2ZSBhbnkgbWVhbmluZy4gIEdVSURzIG9yIHNlcXVlbnRpYWwgbnVtYmVycyBhcmUgYXBwcm9wcmlhdGUgaGVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZWZpbml0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFbGVtZW50RGVmaW5pdGlvbiAtIGRldGFpbHMgZm9yIHRoZSBpdGVtIiBkZWZpbml0aW9uPSJUaGlzIGVsZW1lbnQgaXMgYSBVUkkgdGhhdCByZWZlcnMgdG8gYW4gW0VsZW1lbnREZWZpbml0aW9uXShlbGVtZW50ZGVmaW5pdGlvbi5odG1sKSB0aGF0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgaXRlbSwgaW5jbHVkaW5nIGluZm9ybWF0aW9uIHRoYXQgbWlnaHQgb3RoZXJ3aXNlIGJlIGluY2x1ZGVkIGluIHRoZSBpbnN0YW5jZSBvZiB0aGUgUXVlc3Rpb25uYWlyZSByZXNvdXJjZS4gQSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgY29uc3RydWN0aW9uIG9mIHRoZSBVUkkgaXMgc2hvd24gaW4gQ29tbWVudHMsIGJlbG93LiBJZiB0aGlzIGVsZW1lbnQgaXMgcHJlc2VudCB0aGVuIHRoZSBmb2xsb3dpbmcgZWxlbWVudCB2YWx1ZXMgTUFZIGJlIGRlcml2ZWQgZnJvbSB0aGUgRWxlbWVudCBEZWZpbml0aW9uIGlmIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnRzIG9mIHRoaXMgUXVlc3Rpb25uYWlyZSByZXNvdXJjZSBpbnN0YW5jZSBoYXZlIG5vIHZhbHVlOiYjMTA7JiMxMDsqIGNvZGUgKEVsZW1lbnREZWZpbml0aW9uLmNvZGUpICYjMTA7KiB0eXBlIChFbGVtZW50RGVmaW5pdGlvbi50eXBlKSAmIzEwOyogcmVxdWlyZWQgKEVsZW1lbnREZWZpbml0aW9uLm1pbikgJiMxMDsqIHJlcGVhdHMgKEVsZW1lbnREZWZpbml0aW9uLm1heCkgJiMxMDsqIG1heExlbmd0aCAoRWxlbWVudERlZmluaXRpb24ubWF4TGVuZ3RoKSAmIzEwOyogYW5zd2VyVmFsdWVTZXQgKEVsZW1lbnREZWZpbml0aW9uLmJpbmRpbmcpJiMxMDsqIG9wdGlvbnMgKEVsZW1lbnREZWZpbml0aW9uLmJpbmRpbmcpLiIgY29tbWVudD0iVGhlIHVyaSByZWZlcnMgdG8gYW4gRWxlbWVudERlZmluaXRpb24gaW4gYSBbU3RydWN0dXJlRGVmaW5pdGlvbl0oc3RydWN0dXJlZGVmaW5pdGlvbi5odG1sIykgYW5kIGFsd2F5cyBzdGFydHMgd2l0aCB0aGUgW2Nhbm9uaWNhbCBVUkxdKHJlZmVyZW5jZXMuaHRtbCNjYW5vbmljYWwpIGZvciB0aGUgdGFyZ2V0IHJlc291cmNlLiBXaGVuIHJlZmVycmluZyB0byBhIFN0cnVjdHVyZURlZmluaXRpb24sIGEgZnJhZ21lbnQgaWRlbnRpZmllciBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGVsZW1lbnQgZGVmaW5pdGlvbiBieSBpdHMgaWQgW0VsZW1lbnQuaWRdKGVsZW1lbnQtZGVmaW5pdGlvbnMuaHRtbCNFbGVtZW50LmlkKS4gRS5nLiBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24jT2JzZXJ2YXRpb24udmFsdWVbeF0uIEluIHRoZSBhYnNlbmNlIG9mIGEgZnJhZ21lbnQgaWRlbnRpZmllciwgdGhlIGZpcnN0L3Jvb3QgZWxlbWVudCBkZWZpbml0aW9uIGluIHRoZSB0YXJnZXQgaXMgdGhlIG1hdGNoaW5nIGVsZW1lbnQgZGVmaW5pdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29ycmVzcG9uZGluZyBjb25jZXB0IGZvciB0aGlzIGl0ZW0gaW4gYSB0ZXJtaW5vbG9neSIgZGVmaW5pdGlvbj0iQSB0ZXJtaW5vbG9neSBjb2RlIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhpcyBncm91cCBvciBxdWVzdGlvbiAoZS5nLiBhIGNvZGUgZnJvbSBMT0lOQywgd2hpY2ggZGVmaW5lcyBtYW55IHF1ZXN0aW9ucyBhbmQgYW5zd2VycykuIiBjb21tZW50PSJUaGUgdmFsdWUgbWF5IGNvbWUgZnJvbSB0aGUgRWxlbWVudERlZmluaXRpb24gcmVmZXJyZWQgdG8gYnkgLmRlZmluaXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVDb25jZXB0IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHF1ZXN0aW9ubmFpcmVzLCBncm91cHMgYW5kIGluZGl2aWR1YWwgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJlZml4IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFLmcuICZxdW90OzEoYSkmcXVvdDssICZxdW90OzIuNS4zJnF1b3Q7IiBkZWZpbml0aW9uPSJBIHNob3J0IGxhYmVsIGZvciBhIHBhcnRpY3VsYXIgZ3JvdXAsIHF1ZXN0aW9uIG9yIHNldCBvZiBkaXNwbGF5IHRleHQgd2l0aGluIHRoZSBxdWVzdGlvbm5haXJlIHVzZWQgZm9yIHJlZmVyZW5jZSBieSB0aGUgaW5kaXZpZHVhbCBjb21wbGV0aW5nIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iVGhlc2UgYXJlIGdlbmVyYWxseSB1bmlxdWUgd2l0aGluIGEgcXVlc3Rpb25uYWlyZSwgdGhvdWdoIHRoaXMgaXMgbm90IGd1YXJhbnRlZWQuIFNvbWUgcXVlc3Rpb25uYWlyZXMgbWF5IGhhdmUgbXVsdGlwbGUgcXVlc3Rpb25zIHdpdGggdGhlIHNhbWUgbGFiZWwgd2l0aCBsb2dpYyB0byBjb250cm9sIHdoaWNoIGdldHMgZXhwb3NlZC4gIFR5cGljYWxseSwgdGhlc2Ugd29uJ3QgYmUgdXNlZCBmb3IgJnF1b3Q7ZGlzcGxheSZxdW90OyBpdGVtcywgdGhvdWdoIHN1Y2ggdXNlIGlzIG5vdCBwcm9oaWJpdGVkLiAgU3lzdGVtcyBTSE9VTEQgTk9UIGdlbmVyYXRlIHRoZWlyIG93biBwcmVmaXhlcyBpZiBwcmVmaXhlcyBhcmUgZGVmaW5lZCBmb3IgYW55IGl0ZW1zIHdpdGhpbiBhIFF1ZXN0aW9ubmFpcmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJpbWFyeSB0ZXh0IGZvciB0aGUgaXRlbSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgYSBzZWN0aW9uLCB0aGUgdGV4dCBvZiBhIHF1ZXN0aW9uIG9yIHRleHQgY29udGVudCBmb3IgYSBkaXNwbGF5IGl0ZW0uIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCB0byByZXByZXNlbnQgdGhlIG5hbWUgb2YgYSBzZWN0aW9uLCB1c2UgZ3JvdXAgdHlwZSBpdGVtIGFuZCBhbHNvIG1ha2Ugc3VyZSB0byBsaW1pdCB0aGUgdGV4dCBlbGVtZW50IHRvIGEgc2hvcnQgc3RyaW5nIHN1aXRhYmxlIGZvciBkaXNwbGF5IGFzIGEgc2VjdGlvbiBoZWFkaW5nLiAgR3JvdXAgaXRlbSBpbnN0cnVjdGlvbnMgc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGEgZGlzcGxheSB0eXBlIGl0ZW0gd2l0aGluIHRoZSBncm91cC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVJdGVtVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJncm91cCB8IGRpc3BsYXkgfCBib29sZWFuIHwgZGVjaW1hbCB8IGludGVnZXIgfCBkYXRlIHwgZGF0ZVRpbWUgKyIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgcXVlc3Rpb25uYWlyZSBpdGVtIHRoaXMgaXMgLSB3aGV0aGVyIHRleHQgZm9yIGRpc3BsYXksIGEgZ3JvdXBpbmcgb2Ygb3RoZXIgaXRlbXMgb3IgYSBwYXJ0aWN1bGFyIHR5cGUgb2YgZGF0YSB0byBiZSBjYXB0dXJlZCAoc3RyaW5nLCBpbnRlZ2VyLCBjb2RlZCBjaG9pY2UsIGV0Yy4pLiIgY29tbWVudD0iQWRkaXRpb25hbCBjb25zdHJhaW50cyBvbiB0aGUgdHlwZSBvZiBhbnN3ZXIgY2FuIGJlIGNvbnZleWVkIGJ5IGV4dGVuc2lvbnMuIFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlSXRlbVR5cGUiIGRlc2NyaXB0aW9uPSJEaXN0aW5ndWlzaGVzIGdyb3VwcyBmcm9tIHF1ZXN0aW9ucyBhbmQgZGlzcGxheSB0ZXh0IGFuZCBpbmRpY2F0ZXMgZGF0YSB0eXBlIGZvciBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5hYmxlV2hlbiIgZGVzY3JpcHRpb249Ik9ubHkgYWxsb3cgZGF0YSB3aGVuIiBkZWZpbml0aW9uPSJBIGNvbnN0cmFpbnQgaW5kaWNhdGluZyB0aGF0IHRoaXMgaXRlbSBzaG91bGQgb25seSBiZSBlbmFibGVkIChkaXNwbGF5ZWQvYWxsb3cgYW5zd2VycyB0byBiZSBjYXB0dXJlZCkgd2hlbiB0aGUgc3BlY2lmaWVkIGNvbmRpdGlvbiBpcyB0cnVlLiIgY29tbWVudD0iSWYgbXVsdGlwbGUgcmVwZXRpdGlvbnMgb2YgdGhpcyBleHRlbnNpb24gYXJlIHByZXNlbnQsIHRoZSBpdGVtIHNob3VsZCBiZSBlbmFibGVkIHdoZW4gdGhlIGNvbmRpdGlvbiBmb3IgKmFueSogb2YgdGhlIHJlcGV0aXRpb25zIGlzIHRydWUuICBJLmUuIHRyZWF0ICZxdW90O2VuYWJsZVdoZW4mcXVvdDtzIGFzIGJlaW5nIGpvaW5lZCBieSBhbiAmcXVvdDtvciZxdW90OyBjbGF1c2UuICBUaGlzIGVsZW1lbnQgaXMgYSBtb2RpZmllciBiZWNhdXNlIGlmIGVuYWJsZVdoZW4gaXMgcHJlc2VudCBmb3IgYW4gaXRlbSwgJnF1b3Q7cmVxdWlyZWQmcXVvdDsgaXMgaWdub3JlZCB1bmxlc3Mgb25lIG9mIHRoZSBlbmFibGVXaGVuIGNvbmRpdGlvbnMgaXMgbWV0LiBXaGVuIGFuIGl0ZW0gaXMgZGlzYWJsZWQsIGFsbCBvZiBpdHMgZGVzY2VuZGFudHMgYXJlIGRpc2FibGVkLCByZWdhcmRsZXNzIG9mIHdoYXQgdGhlaXIgb3duIGVuYWJsZVdoZW4gbG9naWMgbWlnaHQgZXZhbHVhdGUgdG8uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlLkl0ZW0uRW5hYmxlV2hlbiIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtNyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGUgb3BlcmF0b3IgaXMgJ2V4aXN0cycsIHRoZSB2YWx1ZSBtdXN0IGJlIGEgYm9vbGVhbiI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ib3BlcmF0b3IgPSAnZXhpc3RzJyBpbXBsaWVzIChhbnN3ZXIgaXMgQm9vbGVhbikiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmFibGVCZWhhdmlvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmFibGVXaGVuQmVoYXZpb3IiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWxsIHwgYW55IiBkZWZpbml0aW9uPSJDb250cm9scyBob3cgbXVsdGlwbGUgZW5hYmxlV2hlbiB2YWx1ZXMgYXJlIGludGVycHJldGVkIC0gIHdoZXRoZXIgYWxsIG9yIGFueSBtdXN0IGJlIHRydWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgbXVzdCBiZSBzcGVjaWZpZWQgaWYgbW9yZSB0aGFuIG9uZSBlbmFibGVXaGVuIHZhbHVlIGlzIHByb3ZpZGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuYWJsZVdoZW5CZWhhdmlvciIgZGVzY3JpcHRpb249IkNvbnRyb2xzIGhvdyBtdWx0aXBsZSBlbmFibGVXaGVuIHZhbHVlcyBhcmUgaW50ZXJwcmV0ZWQgLSAgd2hldGhlciBhbGwgb3IgYW55IG11c3QgYmUgdHJ1ZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1aXJlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXRoZXIgdGhlIGl0ZW0gbXVzdCBiZSBpbmNsdWRlZCBpbiBkYXRhIHJlc3VsdHMiIGRlZmluaXRpb249IkFuIGluZGljYXRpb24sIGlmIHRydWUsIHRoYXQgdGhlIGl0ZW0gbXVzdCBiZSBwcmVzZW50IGluIGEgJnF1b3Q7Y29tcGxldGVkJnF1b3Q7IFF1ZXN0aW9ubmFpcmVSZXNwb25zZS4gIElmIGZhbHNlLCB0aGUgaXRlbSBtYXkgYmUgc2tpcHBlZCB3aGVuIGFuc3dlcmluZyB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlF1ZXN0aW9ubmFpcmUuaXRlbS5yZXF1aXJlZCBvbmx5IGhhcyBtZWFuaW5nIGZvciBlbGVtZW50cyB0aGF0IGFyZSBjb25kaXRpb25hbGx5IGVuYWJsZWQgd2l0aCBlbmFibGVXaGVuIGlmIHRoZSBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRydWUuICBJZiBhbiBpdGVtIHRoYXQgY29udGFpbnMgb3RoZXIgaXRlbXMgaXMgbWFya2VkIGFzIHJlcXVpcmVkLCB0aGF0IGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgbWFrZSB0aGUgY29udGFpbmVkIGVsZW1lbnRzIHJlcXVpcmVkICh0aG91Z2ggcmVxdWlyZWQgZ3JvdXBzIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgY2hpbGQgZWxlbWVudCkuIFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXBlYXRzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgaXRlbSBtYXkgcmVwZWF0IiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uLCBpZiB0cnVlLCB0aGF0IHRoZSBpdGVtIG1heSBvY2N1ciBtdWx0aXBsZSB0aW1lcyBpbiB0aGUgcmVzcG9uc2UsIGNvbGxlY3RpbmcgbXVsdGlwbGUgYW5zd2VycyBmb3IgcXVlc3Rpb25zIG9yIG11bHRpcGxlIHNldHMgb2YgYW5zd2VycyBmb3IgZ3JvdXBzLiIgY29tbWVudD0iSWYgYSBxdWVzdGlvbiBpcyBtYXJrZWQgYXMgcmVwZWF0cz10cnVlLCB0aGVuIG11bHRpcGxlIGFuc3dlcnMgY2FuIGJlIHByb3ZpZGVkIGZvciB0aGUgcXVlc3Rpb24gaW4gdGhlIGNvcnJlc3BvbmRpbmcgUXVlc3Rpb25uYWlyZVJlc3BvbnNlLiAgV2hlbiByZW5kZXJpbmcgdGhlIHF1ZXN0aW9ubmFpcmUsIGl0IGlzIHVwIHRvIHRoZSByZW5kZXJpbmcgc29mdHdhcmUgd2hldGhlciB0byByZW5kZXIgdGhlIHF1ZXN0aW9uIHRleHQgZm9yIGVhY2ggYW5zd2VyIHJlcGV0aXRpb24gKGkuZS4gJnF1b3Q7cmVwZWF0IHRoZSBxdWVzdGlvbiZxdW90Oykgb3IgdG8gc2ltcGx5IGFsbG93IGVudHJ5L3NlbGVjdGlvbiBvZiBtdWx0aXBsZSBhbnN3ZXJzIGZvciB0aGUgcXVlc3Rpb24gKHJlcGVhdCB0aGUgYW5zd2VycykuICBXaGljaCBpcyBtb3N0IGFwcHJvcHJpYXRlIHZpc3VhbGx5IG1heSBkZXBlbmQgb24gdGhlIHR5cGUgb2YgYW5zd2VyIGFzIHdlbGwgYXMgd2hldGhlciB0aGVyZSBhcmUgbmVzdGVkIGl0ZW1zLiYjMTA7JiMxMDtUaGUgcmVzdWx0aW5nIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSB3aWxsIGJlIHBvcHVsYXRlZCB0aGUgc2FtZSB3YXkgcmVnYXJkbGVzcyBvZiByZW5kZXJpbmcgLSBvbmUgJ3F1ZXN0aW9uJyBpdGVtIHdpdGggbXVsdGlwbGUgYW5zd2VyIHZhbHVlcy4mIzEwOyYjMTA7IFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFkT25seSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRvbid0IGFsbG93IGh1bWFuIGVkaXRpbmciIGRlZmluaXRpb249IkFuIGluZGljYXRpb24sIHdoZW4gdHJ1ZSwgdGhhdCB0aGUgdmFsdWUgY2Fubm90IGJlIGNoYW5nZWQgYnkgYSBodW1hbiByZXNwb25kZW50IHRvIHRoZSBRdWVzdGlvbm5haXJlLiIgY29tbWVudD0iVGhlIHZhbHVlIG9mIHJlYWRPbmx5IGVsZW1lbnRzIGNhbiBiZSBlc3RhYmxpc2hlZCBieSBhc3NlcnRpbmcgIGV4dGVuc2lvbnMgZm9yIGRlZmF1bHRWYWx1ZXMsIGxpbmthZ2VzIHRoYXQgc3VwcG9ydCBwcmUtcG9wdWxhdGlvbiBhbmQvb3IgZXh0ZW5zaW9ucyB0aGF0IHN1cHBvcnQgY2FsY3VsYXRpb24gYmFzZWQgb24gb3RoZXIgYW5zd2Vycy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYXhMZW5ndGgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJObyBtb3JlIHRoYW4gdGhpcyBtYW55IGNoYXJhY3RlcnMiIGRlZmluaXRpb249IlRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgYXJlIHBlcm1pdHRlZCBpbiB0aGUgYW5zd2VyIHRvIGJlIGNvbnNpZGVyZWQgYSAmcXVvdDt2YWxpZCZxdW90OyBRdWVzdGlvbm5haXJlUmVzcG9uc2UuIiBjb21tZW50PSJGb3IgYmFzZTY0YmluYXJ5LCByZWZsZWN0cyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVwcmVzZW50aW5nIHRoZSBlbmNvZGVkIGRhdGEsIG5vdCB0aGUgbnVtYmVyIG9mIGJ5dGVzIG9mIHRoZSBiaW5hcnkgZGF0YS4gVGhlIHZhbHVlIG1heSBjb21lIGZyb20gdGhlIEVsZW1lbnREZWZpbml0aW9uIHJlZmVycmVkIHRvIGJ5IC5kZWZpbml0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlclZhbHVlU2V0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCBjb250YWluaW5nIHBlcm1pdHRlZCBhbnN3ZXJzIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHZhbHVlIHNldCBjb250YWluaW5nIGEgbGlzdCBvZiBjb2RlcyByZXByZXNlbnRpbmcgcGVybWl0dGVkIGFuc3dlcnMgZm9yIGEgJnF1b3Q7Y2hvaWNlJnF1b3Q7IG9yICZxdW90O29wZW4tY2hvaWNlJnF1b3Q7IHF1ZXN0aW9uLiIgY29tbWVudD0iTE9JTkMgZGVmaW5lcyBtYW55IHVzZWZ1bCB2YWx1ZSBzZXRzIGZvciBxdWVzdGlvbm5haXJlIHJlc3BvbnNlcy4gU2VlIFtMT0lOQyBBbnN3ZXIgTGlzdHNdKGxvaW5jLmh0bWwjYWxpc3QpLiBUaGUgdmFsdWUgbWF5IGNvbWUgZnJvbSB0aGUgRWxlbWVudERlZmluaXRpb24gcmVmZXJyZWQgdG8gYnkgLmRlZmluaXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYW5zd2VyT3B0aW9uIiBkZXNjcmlwdGlvbj0iUGVybWl0dGVkIGFuc3dlciIgZGVmaW5pdGlvbj0iT25lIG9mIHRoZSBwZXJtaXR0ZWQgYW5zd2VycyBmb3IgYSAmcXVvdDtjaG9pY2UmcXVvdDsgb3IgJnF1b3Q7b3Blbi1jaG9pY2UmcXVvdDsgcXVlc3Rpb24uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGJlIHVzZWQgd2hlbiB0aGUgdmFsdWUgc2V0IG1hY2hpbmVyeSBvZiBhbnN3ZXJWYWx1ZVNldCBpcyBkZWVtZWQgdG9vIGN1bWJlcnNvbWUgb3Igd2hlbiB0aGVyZSdzIGEgbmVlZCB0byBjYXB0dXJlIHBvc3NpYmxlIGFuc3dlcnMgdGhhdCBhcmUgbm90IGNvZGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZS5JdGVtLkFuc3dlck9wdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbml0aWFsIiBkZXNjcmlwdGlvbj0iSW5pdGlhbCB2YWx1ZShzKSB3aGVuIGl0ZW0gaXMgZmlyc3QgcmVuZGVyZWQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIHZhbHVlcyB0aGF0IHNob3VsZCBiZSBwcmUtcG9wdWxhdGVkIGluIHRoZSBhbnN3ZXIgd2hlbiBpbml0aWFsbHkgcmVuZGVyaW5nIHRoZSBxdWVzdGlvbm5haXJlIGZvciB1c2VyIGlucHV0LiIgY29tbWVudD0iVGhlIHVzZXIgaXMgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIGFuZCBvdmVycmlkZSB0aGUgZGVmYXVsdCAodW5sZXNzIG1hcmtlZCBhcyByZWFkLW9ubHkpLiBJZiB0aGUgdXNlciBkb2Vzbid0IGNoYW5nZSB0aGUgdmFsdWUsIHRoZW4gdGhpcyBpbml0aWFsIHZhbHVlIHdpbGwgYmUgcGVyc2lzdGVkIHdoZW4gdGhlIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSBpcyBpbml0aWFsbHkgY3JlYXRlZC4gIE5vdGUgdGhhdCBpbml0aWFsIHZhbHVlcyBjYW4gaW5mbHVlbmNlIHJlc3VsdHMuICBUaGUgZGF0YSB0eXBlIG9mIGluaXRpYWxbeF0gbXVzdCBhZ3JlZSB3aXRoIHRoZSBpdGVtLnR5cGUsIGFuZCBvbmx5IHJlcGVhdGluZyBpdGVtcyBjYW4gaGF2ZSBtb3JlIHRoZW4gb25lIGluaXRpYWwgdmFsdWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlLkl0ZW0uSW5pdGlhbCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iTmVzdGVkIHF1ZXN0aW9ubmFpcmUgaXRlbXMiIGRlZmluaXRpb249IlRleHQsIHF1ZXN0aW9ucyBhbmQgb3RoZXIgZ3JvdXBzIHRvIGJlIG5lc3RlZCBiZW5lYXRoIGEgcXVlc3Rpb24gb3IgZ3JvdXAuIiBjb21tZW50PSJUaGVyZSBpcyBubyBzcGVjaWZpZWQgbGltaXQgdG8gdGhlIGRlcHRoIG9mIG5lc3RpbmcuICBIb3dldmVyLCBRdWVzdGlvbm5haXJlIGF1dGhvcnMgYXJlIGVuY291cmFnZWQgdG8gY29uc2lkZXIgdGhlIGltcGFjdCBvbiB0aGUgdXNlciBhbmQgdXNlciBpbnRlcmZhY2Ugb2Ygb3Zlcmx5IGRlZXAgbmVzdGluZy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZS5JdGVtIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZS5JdGVtLkFuc3dlck9wdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW5zd2VyIHZhbHVlIiBkZWZpbml0aW9uPSJBIHBvdGVudGlhbCBhbnN3ZXIgdGhhdCdzIGFsbG93ZWQgYXMgdGhlIGFuc3dlciB0byB0aGlzIHF1ZXN0aW9uLiIgY29tbWVudD0iVGhlIGRhdGEgdHlwZSBvZiB0aGUgdmFsdWUgbXVzdCBhZ3JlZSB3aXRoIHRoZSBpdGVtLnR5cGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29kZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVRdWVzdGlvbk9wdGlvbiIgZGVzY3JpcHRpb249IkFsbG93ZWQgdmFsdWVzIHRvIGFuc3dlciBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbml0aWFsU2VsZWN0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIG9wdGlvbiBpcyBzZWxlY3RlZCBieSBkZWZhdWx0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgYW5zd2VyIHZhbHVlIGlzIHNlbGVjdGVkIHdoZW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgYW5zd2VycyBpcyBpbml0aWFsbHkgc2hvd24uIiBjb21tZW50PSJVc2UgdGhpcyBpbnN0ZWFkIG9mIGluaXRpYWxbdl0gaWYgYW5zd2VyVmFsdWVTZXQgaXMgcHJlc2VudC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmUuSXRlbS5FbmFibGVXaGVuIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWVzdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUXVlc3Rpb24gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgaXRlbSBpcyBlbmFibGVkIiBkZWZpbml0aW9uPSJUaGUgbGlua0lkIGZvciB0aGUgcXVlc3Rpb24gd2hvc2UgYW5zd2VyIChvciBsYWNrIG9mIGFuc3dlcikgZ292ZXJucyB3aGV0aGVyIHRoaXMgaXRlbSBpcyBlbmFibGVkLiIgY29tbWVudD0iSWYgbXVsdGlwbGUgcXVlc3Rpb24gb2NjdXJyZW5jZXMgYXJlIHByZXNlbnQgZm9yIHRoZSBzYW1lIHF1ZXN0aW9uIChzYW1lIGxpbmtJZCksIHRoZW4gdGhpcyByZWZlcnMgdG8gdGhlIG5lYXJlc3QgcXVlc3Rpb24gb2NjdXJyZW5jZSByZWFjaGFibGUgYnkgdHJhY2luZyBmaXJzdCB0aGUgJnF1b3Q7YW5jZXN0b3ImcXVvdDsgYXhpcyBhbmQgdGhlbiB0aGUgJnF1b3Q7cHJlY2VkaW5nJnF1b3Q7IGF4aXMgYW5kIHRoZW4gdGhlICZxdW90O2ZvbGxvd2luZyZxdW90OyBheGlzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9wZXJhdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZXhpc3RzIHwgPSB8ICE9IHwgJmd0OyB8ICZsdDsgfCAmZ3Q7PSB8ICZsdDs9IiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGNyaXRlcmlhIGJ5IHdoaWNoIHRoZSBxdWVzdGlvbiBpcyBlbmFibGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIGRlc2NyaXB0aW9uPSJUaGUgY3JpdGVyaWEgYnkgd2hpY2ggYSBxdWVzdGlvbiBpcyBlbmFibGVkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWx1ZSBmb3IgcXVlc3Rpb24gY29tcGFyaXNvbiBiYXNlZCBvbiBvcGVyYXRvciIgZGVmaW5pdGlvbj0iQSB2YWx1ZSB0aGF0IHRoZSByZWZlcmVuY2VkIHF1ZXN0aW9uIGlzIHRlc3RlZCB1c2luZyB0aGUgc3BlY2lmaWVkIG9wZXJhdG9yIGluIG9yZGVyIGZvciB0aGUgaXRlbSB0byBiZSBlbmFibGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVRdWVzdGlvbk9wdGlvbjMiIGRlc2NyaXB0aW9uPSJBbGxvd2VkIHZhbHVlcyB0byBhbnN3ZXIgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlLkl0ZW0uSW5pdGlhbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHZhbHVlIGZvciBpbml0aWFsaXppbmcgdGhlIHF1ZXN0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIHZhbHVlIHRvIGZvciBhbiBpbml0aWFsIGFuc3dlci4iIGNvbW1lbnQ9IlRoZSB0eXBlIG9mIHRoZSBpbml0aWFsIHZhbHVlIG11c3QgYmUgY29uc2lzdGVudCB3aXRoIHRoZSB0eXBlIG9mIHRoZSBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkF0dGFjaG1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZVF1ZXN0aW9uT3B0aW9uMiIgZGVzY3JpcHRpb249IkFsbG93ZWQgdmFsdWVzIHRvIGFuc3dlciBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmVSZXNwb25zZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcXVlc3Rpb25uYWlyZXJlc3BvbnNlIiBsYWJlbD0iUUlDb3JlIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSIgcmV0cmlldmFibGU9InRydWUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNpZ25hdHVyZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9xdWVzdGlvbm5haXJlcmVzcG9uc2Utc2lnbmF0dXJlJ10iIGRlc2NyaXB0aW9uPSJBIHNpZ25hdHVyZSBhdHRlc3RpbmcgdG8gdGhlIGNvbnRlbnQiIGRlZmluaXRpb249IlJlcHJlc2VudHMgYSB3ZXQgb3IgZWxlY3Ryb25pYyBzaWduYXR1cmUgZm9yIGVpdGhlciB0aGUgZm9ybSBvdmVyYWxsIG9yIGZvciB0aGUgcXVlc3Rpb24gb3IgaXRlbSBpdCdzIGFzc29jaWF0ZWQgd2l0aC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuc2lnbmF0dXJlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsZXRpb25Nb2RlIiBlbGVtZW50VHlwZT0iUUlDb3JlLmNvbXBsZXRpb25Nb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9xdWVzdGlvbm5haXJlcmVzcG9uc2UtY29tcGxldGlvbk1vZGUnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuIFZlcmJhbCwgd3JpdHRlbiwgZWxlY3Ryb25pYyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyB0aGUgaW5kaXZpZHVhbCBjb21wbGV0aW5nIHRoZSBRdWVzdGlvbm5haXJlUmVzcG9uc2UgcHJvdmlkZWQgdGhlaXIgcmVzcG9uc2VzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciB0aGlzIHNldCBvZiBhbnN3ZXJzIiBkZWZpbml0aW9uPSJBIGJ1c2luZXNzIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gYSBwYXJ0aWN1bGFyIGNvbXBsZXRlZCAob3IgcGFydGlhbGx5IGNvbXBsZXRlZCkgcXVlc3Rpb25uYWlyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgUXVlc3Rpb25uYWlyZVJlc3BvbnNlIiBkZWZpbml0aW9uPSJUaGUgb3JkZXIsIHByb3Bvc2FsIG9yIHBsYW4gdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFF1ZXN0aW9ubmFpcmVSZXNwb25zZS4gIEZvciBleGFtcGxlLCBhIFNlcnZpY2VSZXF1ZXN0IHNlZWtpbmcgYW4gaW50YWtlIGFzc2Vzc21lbnQgb3IgYSBkZWNpc2lvbiBzdXBwb3J0IHJlY29tbWVuZGF0aW9uIHRvIGFzc2VzcyBmb3IgcG9zdC1wYXJ0dW0gZGVwcmVzc2lvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24iIGRlZmluaXRpb249IkEgcHJvY2VkdXJlIG9yIG9ic2VydmF0aW9uIHRoYXQgdGhpcyBxdWVzdGlvbm5haXJlIHdhcyBwZXJmb3JtZWQgYXMgcGFydCBvZiB0aGUgZXhlY3V0aW9uIG9mLiAgRm9yIGV4YW1wbGUsIHRoZSBzdXJnZXJ5IGEgY2hlY2tsaXN0IHdhcyBleGVjdXRlZCBhcyBwYXJ0IG9mLiIgY29tbWVudD0iQ29tcG9zaXRpb24gb2YgcXVlc3Rpb25uYWlyZSByZXNwb25zZXMgd2lsbCBiZSBoYW5kbGVkIGJ5IHRoZSBwYXJlbnQgcXVlc3Rpb25uYWlyZSBoYXZpbmcgYW5zd2VycyB0aGF0IHJlZmVyZW5jZSB0aGUgY2hpbGQgcXVlc3Rpb25uYWlyZS4gIEZvciByZWxhdGlvbnNoaXBzIHRvIHJlZmVycmFscywgYW5kIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLCB1c2UgYmFzZWRPbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1ZXN0aW9ubmFpcmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgRm9ybSBiZWluZyBhbnN3ZXJlZCIgZGVmaW5pdGlvbj0iVGhlIFF1ZXN0aW9ubmFpcmUgdGhhdCBkZWZpbmVzIGFuZCBvcmdhbml6ZXMgdGhlIHF1ZXN0aW9ucyBmb3Igd2hpY2ggYW5zd2VycyBhcmUgYmVpbmcgcHJvdmlkZWQuIiBjb21tZW50PSJGb3IgU0RDLCB0aGlzIFNIQUxMIGJlIHRoZSB2ZXJzaW9uLXNwZWNpZmljIFVSTCBvZiB0aGUgZm9ybSBhcyBob3N0ZWQgb24gdGhlIEZvcm0gTWFuYWdlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVSZXNwb25zZVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIGluLXByb2dyZXNzIHwgY29tcGxldGVkIHwgYW1lbmRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBzdG9wcGVkIiBkZWZpbml0aW9uPSJUaGUgcG9zaXRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2Ugd2l0aGluIGl0cyBvdmVyYWxsIGxpZmVjeWNsZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iTGlmZWN5Y2xlIHN0YXR1cyBvZiB0aGUgcXVlc3Rpb25uYWlyZSByZXNwb25zZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIHN1YmplY3Qgb2YgdGhlIHF1ZXN0aW9ucyIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2UuICBUaGlzIGNvdWxkIGJlIGEgcGF0aWVudCwgb3JnYW5pemF0aW9uLCBwcmFjdGl0aW9uZXIsIGRldmljZSwgZXRjLiAgVGhpcyBpcyB3aG8vd2hhdCB0aGUgYW5zd2VycyBhcHBseSB0bywgYnV0IGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc291cmNlIG9mIGluZm9ybWF0aW9uLiIgY29tbWVudD0iLSIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBxdWVzdGlvbm5haXJlIHJlc3BvbnNlIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiBBIHF1ZXN0aW9ubmFpcmUgdGhhdCB3YXMgaW5pdGlhdGVkIGR1cmluZyBhbiBlbmNvdW50ZXIgYnV0IG5vdCBmdWxseSBjb21wbGV0ZWQgZHVyaW5nIHRoZSBlbmNvdW50ZXIgd291bGQgc3RpbGwgZ2VuZXJhbGx5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBEYXRlIHRoZSBhbnN3ZXJzIHdlcmUgZ2F0aGVyZWQiIGRlZmluaXRpb249IklkZW50aWZpZXMgd2hlbiB0aGlzIHZlcnNpb24gb2YgdGhlIGFuc3dlciBzZXQgd2FzIGNyZWF0ZWQuICBDaGFuZ2VzIHdoZW5ldmVyIHRoZSBhbnN3ZXJzIGFyZSB1cGRhdGVkLiIgY29tbWVudD0iTWF5IGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXN0VXBkYXRlVGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLCBiZWNhdXNlIHRoYXQgcmVmbGVjdHMgd2hlbiB0aGUgZGF0YSB3YXMga25vd24gdG8gdGhlIHNlcnZlciwgbm90IHdoZW4gdGhlIGRhdGEgd2FzIGNhcHR1cmVkLiYjMTA7JiMxMDtUaGlzIGVsZW1lbnQgaXMgb3B0aW9uYWwgdG8gYWxsb3cgZm9yIHN5c3RlbXMgdGhhdCBtaWdodCBub3Qga25vdyB0aGUgdmFsdWUsIGhvd2V2ZXIgaXQgU0hPVUxEIGJlIHBvcHVsYXRlZCBpZiBwb3NzaWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUGVyc29uIHdobyByZWNlaXZlZCBhbmQgcmVjb3JkZWQgdGhlIGFuc3dlcnMiIGRlZmluaXRpb249IlBlcnNvbiB3aG8gcmVjZWl2ZWQgdGhlIGFuc3dlcnMgdG8gdGhlIHF1ZXN0aW9ucyBpbiB0aGUgUXVlc3Rpb25uYWlyZVJlc3BvbnNlIGFuZCByZWNvcmRlZCB0aGVtIGluIHRoZSBzeXN0ZW0uIiBjb21tZW50PSJNYXBwaW5nIGEgc3ViamVjdCdzIGFuc3dlcnMgdG8gbXVsdGlwbGUgY2hvaWNlIG9wdGlvbnMgYW5kIGRldGVybWluaW5nIHdoYXQgdG8gcHV0IGluIHRoZSB0ZXh0dWFsIGFuc3dlciBpcyBhIG1hdHRlciBvZiBpbnRlcnByZXRhdGlvbi4gIEF1dGhvcmluZyBieSBkZXZpY2Ugd291bGQgaW5kaWNhdGUgdGhhdCBzb21lIHBvcnRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgaGFkIGJlZW4gYXV0by1wb3B1bGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNvdXJjZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGVyc29uIHdobyBhbnN3ZXJlZCB0aGUgcXVlc3Rpb25zIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIHdobyBhbnN3ZXJlZCB0aGUgcXVlc3Rpb25zIGFib3V0IHRoZSBzdWJqZWN0LiIgY29tbWVudD0iSWYgbm90IHNwZWNpZmllZCwgbm8gaW5mZXJlbmNlIGNhbiBiZSBtYWRlIGFib3V0IHdobyBwcm92aWRlZCB0aGUgZGF0YS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW0iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEdyb3VwcyBhbmQgcXVlc3Rpb25zIiBkZWZpbml0aW9uPSJBIGdyb3VwIG9yIHF1ZXN0aW9uIGl0ZW0gZnJvbSB0aGUgb3JpZ2luYWwgcXVlc3Rpb25uYWlyZSBmb3Igd2hpY2ggYW5zd2VycyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJHcm91cHMgY2Fubm90IGhhdmUgYW5zd2VycyBhbmQgdGhlcmVmb3JlIG11c3QgbmVzdCBkaXJlY3RseSB3aXRoaW4gaXRlbS4gV2hlbiBkZWFsaW5nIHdpdGggcXVlc3Rpb25zLCBuZXN0aW5nIG11c3Qgb2NjdXIgd2l0aGluIGVhY2ggYW5zd2VyIGJlY2F1c2Ugc29tZSBxdWVzdGlvbnMgbWF5IGhhdmUgbXVsdGlwbGUgYW5zd2VycyAoYW5kIHRoZSBuZXN0aW5nIG9jY3VycyBmb3IgZWFjaCBhbnN3ZXIpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVSZXNwb25zZS5JdGVtIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InFycy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik5lc3RlZCBpdGVtIGNhbid0IGJlIGJlbmVhdGggYm90aCBpdGVtIGFuZCBhbnN3ZXIiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IihhbnN3ZXIuZXhpc3RzKCkgYW5kIGl0ZW0uZXhpc3RzKCkpLm5vdCgpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iYXV0aG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0ic291cmNlIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0iYXV0aG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0iYXV0aG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJzb3VyY2UiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmVSZXNwb25zZS5JdGVtIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsaW5rSWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUG9pbnRlciB0byBzcGVjaWZpYyBpdGVtIGZyb20gUXVlc3Rpb25uYWlyZSIgZGVmaW5pdGlvbj0iVGhlIGl0ZW0gZnJvbSB0aGUgUXVlc3Rpb25uYWlyZSB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoaXMgaXRlbSBpbiB0aGUgUXVlc3Rpb25uYWlyZVJlc3BvbnNlIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZWZpbml0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFbGVtZW50RGVmaW5pdGlvbiAtIGRldGFpbHMgZm9yIHRoZSBpdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhbiBbRWxlbWVudERlZmluaXRpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZWxlbWVudGRlZmluaXRpb24uaHRtbCkgdGhhdCBwcm92aWRlcyB0aGUgZGV0YWlscyBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJUaGUgRWxlbWVudERlZmluaXRpb24gbXVzdCBiZSBpbiBhIFtTdHJ1Y3R1cmVEZWZpbml0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3N0cnVjdHVyZWRlZmluaXRpb24uaHRtbCMpLCBhbmQgbXVzdCBoYXZlIGEgZnJhZ21lbnQgaWRlbnRpZmllciB0aGF0IGlkZW50aWZpZXMgdGhlIHNwZWNpZmljIGRhdGEgZWxlbWVudCBieSBpdHMgaWQgKEVsZW1lbnQuaWQpLiBFLmcuIGh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiNPYnNlcnZhdGlvbi52YWx1ZVt4XS4mIzEwOyYjMTA7VGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhpcyBlbGVtZW50IGlmIHRoZSBpdGVtIHBvaW50ZWQgdG8gYnkgdGhlIGxpbmtJZCBoYXMgYSBkZWZpbml0aW9uIGxpc3RlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIGZvciBncm91cCBvciBxdWVzdGlvbiB0ZXh0IiBkZWZpbml0aW9uPSJUZXh0IHRoYXQgaXMgZGlzcGxheWVkIGFib3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgZ3JvdXAgb3IgYXMgdGhlIHRleHQgb2YgdGhlIHF1ZXN0aW9uIGJlaW5nIGFuc3dlcmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbnN3ZXIiIGRlc2NyaXB0aW9uPSJUaGUgcmVzcG9uc2UocykgdG8gdGhlIHF1ZXN0aW9uIiBkZWZpbml0aW9uPSJUaGUgcmVzcG9uZGVudCdzIGFuc3dlcihzKSB0byB0aGUgcXVlc3Rpb24uIiBjb21tZW50PSJUaGUgdmFsdWUgaXMgbmVzdGVkIGJlY2F1c2Ugd2UgY2Fubm90IGhhdmUgYSByZXBlYXRpbmcgc3RydWN0dXJlIHRoYXQgaGFzIHZhcmlhYmxlIHR5cGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZVJlc3BvbnNlLkl0ZW0uQW5zd2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW0iIGRlc2NyaXB0aW9uPSJOZXN0ZWQgcXVlc3Rpb25uYWlyZSByZXNwb25zZSBpdGVtcyIgZGVmaW5pdGlvbj0iUXVlc3Rpb25zIG9yIHN1Yi1ncm91cHMgbmVzdGVkIGJlbmVhdGggYSBxdWVzdGlvbiBvciBncm91cC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtTWVkaWEiIHRhcmdldD0iJXBhcmVudC5pdGVtLmV4dGVuc2lvblt1cmw9J251bGwnXSIgZGVzY3JpcHRpb249Ik1lZGlhIHRvIGRpc3BsYXkiIGRlZmluaXRpb249Ik1lZGlhIHRvIHJlbmRlci9tYWtlIGF2YWlsYWJsZSBhcyBhbiBhY2NvbXBhbmltZW50IHRvIHRoZSBxdWVzdGlvbiBiZWluZyBhc2tlZCIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iSXRlbVNpZ25hdHVyZSIgdGFyZ2V0PSIlcGFyZW50Lml0ZW0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS1zaWduYXR1cmUnXSIgZGVzY3JpcHRpb249IkEgc2lnbmF0dXJlIGF0dGVzdGluZyB0byB0aGUgY29udGVudCIgZGVmaW5pdGlvbj0iUmVwcmVzZW50cyBhIHdldCBvciBlbGVjdHJvbmljIHNpZ25hdHVyZSBmb3IgZWl0aGVyIHRoZSBmb3JtIG92ZXJhbGwgb3IgZm9yIHRoZSBxdWVzdGlvbiBvciBpdGVtIGl0J3MgYXNzb2NpYXRlZCB3aXRoLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5zaWduYXR1cmUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbS5BbnN3ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgU2luZ2xlLXZhbHVlZCBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uIiBkZWZpbml0aW9uPSJUaGUgYW5zd2VyIChvciBvbmUgb2YgdGhlIGFuc3dlcnMpIHByb3ZpZGVkIGJ5IHRoZSByZXNwb25kZW50IHRvIHRoZSBxdWVzdGlvbi4iIGNvbW1lbnQ9Ik1vcmUgY29tcGxleCBzdHJ1Y3R1cmVzIChBdHRhY2htZW50LCBSZXNvdXJjZSBhbmQgUXVhbnRpdHkpIHdpbGwgdHlwaWNhbGx5IGJlIGxpbWl0ZWQgdG8gZWxlY3Ryb25pYyBmb3JtcyB0aGF0IGNhbiBleHBvc2UgYW4gYXBwcm9wcmlhdGUgdXNlciBpbnRlcmZhY2UgdG8gY2FwdHVyZSB0aGUgY29tcG9uZW50cyBhbmQgZW5mb3JjZSB0aGUgY29uc3RyYWludHMgb2YgYSBjb21wbGV4IGRhdGEgdHlwZS4gIEFkZGl0aW9uYWwgY29tcGxleCB0eXBlcyBjYW4gYmUgaW50cm9kdWNlZCB0aHJvdWdoIGV4dGVuc2lvbnMuIE11c3QgbWF0Y2ggdGhlIGRhdGF0eXBlIHNwZWNpZmllZCBieSBRdWVzdGlvbm5haXJlLml0ZW0udHlwZSBpbiB0aGUgY29ycmVzcG9uZGluZyBRdWVzdGlvbm5haXJlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29kZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZUFuc3dlciIgZGVzY3JpcHRpb249IkNvZGUgaW5kaWNhdGluZyB0aGUgcmVzcG9uc2UgcHJvdmlkZWQgZm9yIGEgcXVlc3Rpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iTmVzdGVkIGdyb3VwcyBhbmQgcXVlc3Rpb25zIiBkZWZpbml0aW9uPSJOZXN0ZWQgZ3JvdXBzIGFuZC9vciBxdWVzdGlvbnMgZm91bmQgd2l0aGluIHRoaXMgcGFydGljdWxhciBhbnN3ZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZVJlc3BvbnNlLkl0ZW0iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbUFuc3dlck1lZGlhIiB0YXJnZXQ9IiVwYXJlbnQuYW5zd2VyLmV4dGVuc2lvblt1cmw9J251bGwnXSIgZGVzY3JpcHRpb249IkFuc3dlciBNZWRpYSB0byBkaXNwbGF5IiBkZWZpbml0aW9uPSJNZWRpYSB0byByZW5kZXIvbWFrZSBhdmFpbGFibGUgYXMgYW4gYWNjb21wYW5pbWVudCB0byBhIHNwZWNpZmljIGFuc3dlciBvcHRpb24iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9yZGluYWxWYWx1ZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5PcmRpbmFsIFZhbHVlIiB0YXJnZXQ9IiVwYXJlbnQuYW5zd2VyLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9vcmRpbmFsVmFsdWUnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFzc2lnbmVkIE9yZGluYWwgVmFsdWUiIGRlZmluaXRpb249IkEgbnVtZXJpYyB2YWx1ZSB0aGF0IGFsbG93cyB0aGUgY29tcGFyaXNvbiAobGVzcyB0aGFuLCBncmVhdGVyIHRoYW4pIG9yIG90aGVyIG51bWVyaWNhbCAmIzEwO21hbmlwdWxhdGlvbiBvZiBhIGNvbmNlcHQgKGUuZy4gQWRkaW5nIHVwIGNvbXBvbmVudHMgb2YgYSBzY29yZSkuIFNjb3JlcyBhcmUgdXN1YWxseSBhIHdob2xlIG51bWJlciwgYnV0IG9jY2FzaW9uYWxseSBkZWNpbWFscyBhcmUgZW5jb3VudGVyZWQgaW4gc2NvcmVzLiIgY29tbWVudD0iU2NvcmVzIGFyZSBjb21tb25seSBlbmNvdW50ZXJlZCBpbiB2YXJpb3VzIGNsaW5pY2FsIGFzc2Vzc21lbnQgc2NhbGVzLiBBc3NpZ25pbmcgYSB2YWx1ZSB0byBhIGNvbmNlcHQgc2hvdWxkIGdlbmVyYWxseSBiZSBkb25lIGluIGEgZm9ybWFsIGNvZGUgc3lzdGVtIHRoYXQgZGVmaW5lcyB0aGUgdmFsdWUsIG9yIGluIGFuIGFwcGxpY2FibGUgdmFsdWUgc2V0IGZvciB0aGUgY29uY2VwdCwgYnV0IHNvbWUgY29uY2VwdHMgZG8gbm90IGhhdmUgYSBmb3JtYWwgZGVmaW5pdGlvbiAob3IgYXJlIG5vdCBldmVuIHJlcHJlc2VudGVkIGFzIGEgY29uY2VwdCBmb3JtYWxseSwgZXNwZWNpYWxseSBpbiBbUXVlc3Rpb25uYWlyZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZS5odG1sKSwgJiMxMDtzbyB0aGlzIGV4dGVuc2lvbiBpcyBhbGxvd2VkIHRvIGFwcGVhciBvdXNpZGUgdGhvc2UgcHJlZmVycmVkIGNvbnRleHRzLiAgU2NvcmVzIG1heSBldmVuIGJlIGFzc2lnbmVkIGFyYml0cmFyaWx5IGR1cmluZyB1c2UgKGhlbmNlLCBvbiBDb2RpbmcpLiBUaGUgdmFsdWUgbWF5IGJlIGNvbnN0cmFpbmVkIHRvIGFuIGludGVnZXIgaW4gc29tZSBjb250ZXh0cyBvZiB1c2UuIFRvZG86IFNjb3JpbmcgYWxnb3JpdGhtcyBtYXkgYWxzbyBiZSBkZWZpbmVkIGRpcmVjdGx5LCBidXQgaG93IHRoaXMgaXMgZG9uZSBpcyBub3QgeWV0IGRlZmluZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmVSZXNwb25zZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9SZWZlcmVuY2UiIGxhYmVsPSJSZWZlcmVuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxpdGVyYWwgcmVmZXJlbmNlLCBSZWxhdGl2ZSwgaW50ZXJuYWwgb3IgYWJzb2x1dGUgVVJMIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGxvY2F0aW9uIGF0IHdoaWNoIHRoZSBvdGhlciByZXNvdXJjZSBpcyBmb3VuZC4gVGhlIHJlZmVyZW5jZSBtYXkgYmUgYSByZWxhdGl2ZSByZWZlcmVuY2UsIGluIHdoaWNoIGNhc2UgaXQgaXMgcmVsYXRpdmUgdG8gdGhlIHNlcnZpY2UgYmFzZSBVUkwsIG9yIGFuIGFic29sdXRlIFVSTCB0aGF0IHJlc29sdmVzIHRvIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgcmVzb3VyY2UgaXMgZm91bmQuIFRoZSByZWZlcmVuY2UgbWF5IGJlIHZlcnNpb24gc3BlY2lmaWMgb3Igbm90LiBJZiB0aGUgcmVmZXJlbmNlIGlzIG5vdCB0byBhIEZISVIgUkVTVGZ1bCBzZXJ2ZXIsIHRoZW4gaXQgc2hvdWxkIGJlIGFzc3VtZWQgdG8gYmUgdmVyc2lvbiBzcGVjaWZpYy4gSW50ZXJuYWwgZnJhZ21lbnQgcmVmZXJlbmNlcyAoc3RhcnQgd2l0aCAnIycpIHJlZmVyIHRvIGNvbnRhaW5lZCByZXNvdXJjZXMuIiBjb21tZW50PSJVc2luZyBhYnNvbHV0ZSBVUkxzIHByb3ZpZGVzIGEgc3RhYmxlIHNjYWxhYmxlIGFwcHJvYWNoIHN1aXRhYmxlIGZvciBhIGNsb3VkL3dlYiBjb250ZXh0LCB3aGlsZSB1c2luZyByZWxhdGl2ZS9sb2dpY2FsIHJlZmVyZW5jZXMgcHJvdmlkZXMgYSBmbGV4aWJsZSBhcHByb2FjaCBzdWl0YWJsZSBmb3IgdXNlIHdoZW4gdHJhZGluZyBhY3Jvc3MgY2xvc2VkIGVjby1zeXN0ZW0gYm91bmRhcmllcy4gICBBYnNvbHV0ZSBVUkxzIGRvIG5vdCBuZWVkIHRvIHBvaW50IHRvIGEgRkhJUiBSRVNUZnVsIHNlcnZlciwgdGhvdWdoIHRoaXMgaXMgdGhlIHByZWZlcnJlZCBhcHByb2FjaC4gSWYgdGhlIFVSTCBjb25mb3JtcyB0byB0aGUgc3RydWN0dXJlICZxdW90Oy9bdHlwZV0vW2lkXSZxdW90OyB0aGVuIGl0IHNob3VsZCBiZSBhc3N1bWVkIHRoYXQgdGhlIHJlZmVyZW5jZSBpcyB0byBhIEZISVIgUkVTVGZ1bCBzZXJ2ZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVHlwZSB0aGUgcmVmZXJlbmNlIHJlZmVycyB0byAoZS5nLiAmcXVvdDtQYXRpZW50JnF1b3Q7KSIgZGVmaW5pdGlvbj0iVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHRhcmdldCBvZiB0aGUgcmVmZXJlbmNlLiBJZiBib3RoIFJlZmVyZW5jZS50eXBlIGFuZCBSZWZlcmVuY2UucmVmZXJlbmNlIGFyZSBwb3B1bGF0ZWQgYW5kIFJlZmVyZW5jZS5yZWZlcmVuY2UgaXMgYSBGSElSIFVSTCwgYm90aCBTSEFMTCBiZSBjb25zaXN0ZW50LiYjMTA7JiMxMDtUaGUgdHlwZSBpcyB0aGUgQ2Fub25pY2FsIFVSTCBvZiBSZXNvdXJjZSBEZWZpbml0aW9uIHRoYXQgaXMgdGhlIHR5cGUgdGhpcyByZWZlcmVuY2UgcmVmZXJzIHRvLiBSZWZlcmVuY2VzIGFyZSBVUkxzIHRoYXQgYXJlIHJlbGF0aXZlIHRvIGh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8gZS5nLiAmcXVvdDtQYXRpZW50JnF1b3Q7IGlzIGEgcmVmZXJlbmNlIHRvIGh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50LiBBYnNvbHV0ZSBVUkxzIGFyZSBvbmx5IGFsbG93ZWQgZm9yIGxvZ2ljYWwgbW9kZWxzIChhbmQgY2FuIG9ubHkgYmUgdXNlZCBpbiByZWZlcmVuY2VzIGluIGxvZ2ljYWwgbW9kZWxzLCBub3QgcmVzb3VyY2VzKS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mICB0aGUgdGFyZ2V0IG9mIHRoZSByZWZlcmVuY2UuIFRoaXMgbWF5IGJlIHVzZWQgd2hpY2ggZXZlciBvZiB0aGUgb3RoZXIgZWxlbWVudHMgYXJlIHBvcHVsYXRlZCAob3Igbm90KS4gSW4gc29tZSBjYXNlcywgdGhlIHR5cGUgb2YgdGhlIHRhcmdldCBtYXkgYmUgZGV0ZXJtaW5lZCBieSBpbnNwZWN0aW9uIG9mIHRoZSByZWZlcmVuY2UgKGUuZy4gYSBSRVNUZnVsIFVSTCkgb3IgYnkgcmVzb2x2aW5nIHRoZSB0YXJnZXQgb2YgdGhlIHJlZmVyZW5jZTsgaWYgYm90aCB0aGUgdHlwZSBhbmQgYSByZWZlcmVuY2UgaXMgcHJvdmlkZWQsIHRoZSByZWZlcmVuY2UgU0hBTEwgcmVzb2x2ZSB0byBhIHJlc291cmNlIG9mIHRoZSBzYW1lIHR5cGUgYXMgdGhhdCBzcGVjaWZpZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRkhJUlJlc291cmNlVHlwZUV4dCIgZGVzY3JpcHRpb249IkFhIHJlc291cmNlIChvciwgZm9yIGxvZ2ljYWwgbW9kZWxzLCB0aGUgVVJJIG9mIHRoZSBsb2dpY2FsIG1vZGVsKS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkxvZ2ljYWwgcmVmZXJlbmNlLCB3aGVuIGxpdGVyYWwgcmVmZXJlbmNlIGlzIG5vdCBrbm93biIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhlIHRhcmdldCByZXNvdXJjZS4gVGhpcyBpcyB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gd2F5IHRvIHJlZmVyZW5jZSB0aGUgb3RoZXIgcmVzb3VyY2UgZGlyZWN0bHksIGVpdGhlciBiZWNhdXNlIHRoZSBlbnRpdHkgaXQgcmVwcmVzZW50cyBpcyBub3QgYXZhaWxhYmxlIHRocm91Z2ggYSBGSElSIHNlcnZlciwgb3IgYmVjYXVzZSB0aGVyZSBpcyBubyB3YXkgZm9yIHRoZSBhdXRob3Igb2YgdGhlIHJlc291cmNlIHRvIGNvbnZlcnQgYSBrbm93biBpZGVudGlmaWVyIHRvIGFuIGFjdHVhbCBsb2NhdGlvbi4gVGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQgdGhhdCBhIFJlZmVyZW5jZS5pZGVudGlmaWVyIHBvaW50IHRvIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGV4cG9zZWQgYXMgYSBGSElSIGluc3RhbmNlLCBidXQgaXQgU0hBTEwgcG9pbnQgdG8gYSBidXNpbmVzcyBjb25jZXB0IHRoYXQgd291bGQgYmUgZXhwZWN0ZWQgdG8gYmUgZXhwb3NlZCBhcyBhIEZISVIgaW5zdGFuY2UsIGFuZCB0aGF0IGluc3RhbmNlIHdvdWxkIG5lZWQgdG8gYmUgb2YgYSBGSElSIHJlc291cmNlIHR5cGUgYWxsb3dlZCBieSB0aGUgcmVmZXJlbmNlLiIgY29tbWVudD0iV2hlbiBhbiBpZGVudGlmaWVyIGlzIHByb3ZpZGVkIGluIHBsYWNlIG9mIGEgcmVmZXJlbmNlLCBhbnkgc3lzdGVtIHByb2Nlc3NpbmcgdGhlIHJlZmVyZW5jZSB3aWxsIG9ubHkgYmUgYWJsZSB0byByZXNvbHZlIHRoZSBpZGVudGlmaWVyIHRvIGEgcmVmZXJlbmNlIGlmIGl0IHVuZGVyc3RhbmRzIHRoZSBidXNpbmVzcyBjb250ZXh0IGluIHdoaWNoIHRoZSBpZGVudGlmaWVyIGlzIHVzZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGdsb2JhbCAoZS5nLiBhIG5hdGlvbmFsIGlkZW50aWZpZXIpIGJ1dCBvZnRlbiBpdCBpcyBub3QuIEZvciB0aGlzIHJlYXNvbiwgbm9uZSBvZiB0aGUgdXNlZnVsIG1lY2hhbmlzbXMgZGVzY3JpYmVkIGZvciB3b3JraW5nIHdpdGggcmVmZXJlbmNlcyAoZS5nLiBjaGFpbmluZywgaW5jbHVkZXMpIGFyZSBwb3NzaWJsZSwgbm9yIHNob3VsZCBzZXJ2ZXJzIGJlIGV4cGVjdGVkIHRvIGJlIGFibGUgcmVzb2x2ZSB0aGUgcmVmZXJlbmNlLiBTZXJ2ZXJzIG1heSBhY2NlcHQgYW4gaWRlbnRpZmllciBiYXNlZCByZWZlcmVuY2UgdW50b3VjaGVkLCByZXNvbHZlIGl0LCBhbmQvb3IgcmVqZWN0IGl0IC0gc2VlIENhcGFiaWxpdHlTdGF0ZW1lbnQucmVzdC5yZXNvdXJjZS5yZWZlcmVuY2VQb2xpY3kuICYjMTA7JiMxMDtXaGVuIGJvdGggYW4gaWRlbnRpZmllciBhbmQgYSBsaXRlcmFsIHJlZmVyZW5jZSBhcmUgcHJvdmlkZWQsIHRoZSBsaXRlcmFsIHJlZmVyZW5jZSBpcyBwcmVmZXJyZWQuIEFwcGxpY2F0aW9ucyBwcm9jZXNzaW5nIHRoZSByZXNvdXJjZSBhcmUgYWxsb3dlZCAtIGJ1dCBub3QgcmVxdWlyZWQgLSB0byBjaGVjayB0aGF0IHRoZSBpZGVudGlmaWVyIG1hdGNoZXMgdGhlIGxpdGVyYWwgcmVmZXJlbmNlJiMxMDsmIzEwO0FwcGxpY2F0aW9ucyBjb252ZXJ0aW5nIGEgbG9naWNhbCByZWZlcmVuY2UgdG8gYSBsaXRlcmFsIHJlZmVyZW5jZSBtYXkgY2hvb3NlIHRvIGxlYXZlIHRoZSBsb2dpY2FsIHJlZmVyZW5jZSBwcmVzZW50LCBvciByZW1vdmUgaXQuJiMxMDsmIzEwO1JlZmVyZW5jZSBpcyBpbnRlbmRlZCB0byBwb2ludCB0byBhIHN0cnVjdHVyZSB0aGF0IGNhbiBwb3RlbnRpYWxseSBiZSBleHByZXNzZWQgYXMgYSBGSElSIHJlc291cmNlLCB0aG91Z2ggdGhlcmUgaXMgbm8gbmVlZCBmb3IgaXQgdG8gZXhpc3QgYXMgYW4gYWN0dWFsIEZISVIgcmVzb3VyY2UgaW5zdGFuY2UgLSBleGNlcHQgaW4gYXMgbXVjaCBhcyBhbiBhcHBsaWNhdGlvbiB3aXNoZXMgdG8gYWN0dWFsIGZpbmQgdGhlIHRhcmdldCBvZiB0aGUgcmVmZXJlbmNlLiBUaGUgY29udGVudCByZWZlcnJlZCB0byBiZSB0aGUgaWRlbnRpZmllciBtdXN0IG1lZXQgdGhlIGxvZ2ljYWwgY29uc3RyYWludHMgaW1wbGllZCBieSBhbnkgbGltaXRhdGlvbnMgb24gd2hhdCByZXNvdXJjZSB0eXBlcyBhcmUgcGVybWl0dGVkIGZvciB0aGUgcmVmZXJlbmNlLiAgRm9yIGV4YW1wbGUsIGl0IHdvdWxkIG5vdCBiZSBsZWdpdGltYXRlIHRvIHNlbmQgdGhlIGlkZW50aWZpZXIgZm9yIGEgZHJ1ZyBwcmVzY3JpcHRpb24gaWYgdGhlIHR5cGUgd2VyZSBSZWZlcmVuY2UoT2JzZXJ2YXRpb258RGlhZ25vc3RpY1JlcG9ydCkuICBPbmUgb2YgdGhlIHVzZS1jYXNlcyBmb3IgUmVmZXJlbmNlLmlkZW50aWZpZXIgaXMgdGhlIHNpdHVhdGlvbiB3aGVyZSBubyBGSElSIHJlcHJlc2VudGF0aW9uIGV4aXN0cyAod2hlcmUgdGhlIHR5cGUgaXMgUmVmZXJlbmNlIChBbnkpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHQgYWx0ZXJuYXRpdmUgZm9yIHRoZSByZXNvdXJjZSIgZGVmaW5pdGlvbj0iUGxhaW4gdGV4dCBuYXJyYXRpdmUgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBpbiBhZGRpdGlvbiB0byB0aGUgcmVzb3VyY2UgcmVmZXJlbmNlLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgbm90IHRoZSBzYW1lIGFzIHRoZSBSZXNvdXJjZS50ZXh0IG9mIHRoZSByZWZlcmVuY2VkIHJlc291cmNlLiAgVGhlIHB1cnBvc2UgaXMgdG8gaWRlbnRpZnkgd2hhdCdzIGJlaW5nIHJlZmVyZW5jZWQsIG5vdCB0byBmdWxseSBkZXNjcmliZSBpdC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRBcnRpZmFjdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1JlbGF0ZWRBcnRpZmFjdCIgbGFiZWw9IlJlbGF0ZWRBcnRpZmFjdCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVsYXRlZEFydGlmYWN0VHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkb2N1bWVudGF0aW9uIHwganVzdGlmaWNhdGlvbiB8IGNpdGF0aW9uIHwgcHJlZGVjZXNzb3IgfCBzdWNjZXNzb3IgfCBkZXJpdmVkLWZyb20gfCBkZXBlbmRzLW9uIHwgY29tcG9zZWQtb2YiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHJlbGF0aW9uc2hpcCB0byB0aGUgcmVsYXRlZCBhcnRpZmFjdC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZWxhdGVkQXJ0aWZhY3RUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgcmVsYXRpb25zaGlwIHRvIHRoZSByZWxhdGVkIGFydGlmYWN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxhYmVsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTaG9ydCBsYWJlbCIgZGVmaW5pdGlvbj0iQSBzaG9ydCBsYWJlbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlZmVyZW5jZSB0aGUgY2l0YXRpb24gZnJvbSBlbHNld2hlcmUgaW4gdGhlIGNvbnRhaW5pbmcgYXJ0aWZhY3QsIHN1Y2ggYXMgYSBmb290bm90ZSBpbmRleC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJCcmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcmVsYXRlZCBhcnRpZmFjdCIgZGVmaW5pdGlvbj0iQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgZG9jdW1lbnQgb3Iga25vd2xlZGdlIHJlc291cmNlIGJlaW5nIHJlZmVyZW5jZWQsIHN1aXRhYmxlIGZvciBkaXNwbGF5IHRvIGEgY29uc3VtZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2l0YXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkJpYmxpb2dyYXBoaWMgY2l0YXRpb24gZm9yIHRoZSBhcnRpZmFjdCIgZGVmaW5pdGlvbj0iQSBiaWJsaW9ncmFwaGljIGNpdGF0aW9uIGZvciB0aGUgcmVsYXRlZCBhcnRpZmFjdC4gVGhpcyB0ZXh0IFNIT1VMRCBiZSBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIGFuIGFjY2VwdGVkIGNpdGF0aW9uIGZvcm1hdC4iIGNvbW1lbnQ9IkFkZGl0aW9uYWwgc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBhYm91dCBjaXRhdGlvbnMgc2hvdWxkIGJlIGNhcHR1cmVkIGFzIGV4dGVuc2lvbnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgYXJ0aWZhY3QgY2FuIGJlIGFjY2Vzc2VkIiBkZWZpbml0aW9uPSJBIHVybCBmb3IgdGhlIGFydGlmYWN0IHRoYXQgY2FuIGJlIGZvbGxvd2VkIHRvIGFjY2VzcyB0aGUgYWN0dWFsIGNvbnRlbnQuIiBjb21tZW50PSJJZiBhIGRvY3VtZW50IG9yIHJlc291cmNlIGVsZW1lbnQgaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IFNIQUxMIE5PVCBiZSBwcm92aWRlZCAodXNlIHRoZSB1cmwgb3IgcmVmZXJlbmNlIGluIHRoZSBBdHRhY2htZW50IG9yIHJlc291cmNlIHJlZmVyZW5jZSkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9jdW1lbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgZGVzY3JpcHRpb249IldoYXQgZG9jdW1lbnQgaXMgYmVpbmcgcmVmZXJlbmNlZCIgZGVmaW5pdGlvbj0iVGhlIGRvY3VtZW50IGJlaW5nIHJlZmVyZW5jZWQsIHJlcHJlc2VudGVkIGFzIGFuIGF0dGFjaG1lbnQuIFRoaXMgaXMgZXhjbHVzaXZlIHdpdGggdGhlIHJlc291cmNlIGVsZW1lbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVzb3VyY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoYXQgcmVzb3VyY2UgaXMgYmVpbmcgcmVmZXJlbmNlZCIgZGVmaW5pdGlvbj0iVGhlIHJlbGF0ZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSBsaWJyYXJ5LCB2YWx1ZSBzZXQsIHByb2ZpbGUsIG9yIG90aGVyIGtub3dsZWRnZSByZXNvdXJjZS4iIGNvbW1lbnQ9IklmIHRoZSB0eXBlIGlzIHByZWRlY2Vzc29yLCB0aGlzIGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBzdWNjZWVkaW5nIGtub3dsZWRnZSByZXNvdXJjZS4gSWYgdGhlIHR5cGUgaXMgc3VjY2Vzc29yLCB0aGlzIGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBwcmlvciBrbm93bGVkZ2UgcmVzb3VyY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkQXJ0aWZhY3RUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRQZXJzb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXJlbGF0ZWRwZXJzb24iIGxhYmVsPSJRSUNvcmUgUmVsYXRlZFBlcnNvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0icmVsYXRpb25zaGlwIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQSBodW1hbiBpZGVudGlmaWVyIGZvciB0aGlzIHBlcnNvbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgYSBwZXJzb24gd2l0aGluIGEgcGFydGljdWxhciBzY29wZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGV0aGVyIHRoaXMgcmVsYXRlZCBwZXJzb24ncyByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZSIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGlzIHJlbGF0ZWQgcGVyc29uIHJlY29yZCBpcyBpbiBhY3RpdmUgdXNlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIGl0IG1heSBiZSB1c2VkIHRvIG1hcmsgdGhhdCB0aGUgcmVzb3VyY2Ugd2FzIGNyZWF0ZWQgaW4gZXJyb3IuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUaGUgcGF0aWVudCB0aGlzIHBlcnNvbiBpcyByZWxhdGVkIHRvIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB0aGlzIHBlcnNvbiBpcyByZWxhdGVkIHRvLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWxhdGlvbnNoaXAiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCIgZGVmaW5pdGlvbj0iVGhlIG5hdHVyZSBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gYSBwYXRpZW50IGFuZCB0aGUgcmVsYXRlZCBwZXJzb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQYXRpZW50UmVsYXRpb25zaGlwVHlwZSIgZGVzY3JpcHRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGEgcGF0aWVudCBhbmQgdGhlIHJlbGF0ZWQgcGVyc29uLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwZXJzb24iIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBlcnNvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5IdW1hbk5hbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uLCBlLmcuIGEgdGVsZXBob25lIG51bWJlciBvciBhbiBlbWFpbCBhZGRyZXNzLiIgY29tbWVudD0iUGVyc29uIG1heSBoYXZlIG11bHRpcGxlIHdheXMgdG8gYmUgY29udGFjdGVkIHdpdGggZGlmZmVyZW50IHVzZXMgb3IgYXBwbGljYWJsZSBwZXJpb2RzLiAgTWF5IG5lZWQgdG8gaGF2ZSBvcHRpb25zIGZvciBjb250YWN0aW5nIHRoZSBwZXJzb24gdXJnZW50bHksIGFuZCBhbHNvIHRvIGhlbHAgd2l0aCBpZGVudGlmaWNhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgcGVyc29uIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBmb3IgYWRtaW5pc3RyYXRpb24gYW5kIHJlY29yZCBrZWVwaW5nIHB1cnBvc2VzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkbWluaXN0cmF0aXZlR2VuZGVyIiBkZXNjcmlwdGlvbj0iVGhlIGdlbmRlciBvZiBhIHBlcnNvbiB1c2VkIGZvciBhZG1pbmlzdHJhdGl2ZSBwdXJwb3Nlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiaXJ0aERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGF0ZSBvbiB3aGljaCB0aGUgcmVsYXRlZCBwZXJzb24gd2FzIGJvcm4iIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZWxhdGVkIHBlcnNvbiB3YXMgYm9ybi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEFkZHJlc3Mgd2hlcmUgdGhlIHJlbGF0ZWQgcGVyc29uIGNhbiBiZSBjb250YWN0ZWQgb3IgdmlzaXRlZCIgZGVmaW5pdGlvbj0iQWRkcmVzcyB3aGVyZSB0aGUgcmVsYXRlZCBwZXJzb24gY2FuIGJlIGNvbnRhY3RlZCBvciB2aXNpdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGhvdG8iIGRlc2NyaXB0aW9uPSJJbWFnZSBvZiB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJJbWFnZSBvZiB0aGUgcGVyc29uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyaW9kIG9mIHRpbWUgdGhhdCB0aGlzIHJlbGF0aW9uc2hpcCBpcyBjb25zaWRlcmVkIHZhbGlkIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIG9mIHRpbWUgZHVyaW5nIHdoaWNoIHRoaXMgcmVsYXRpb25zaGlwIGlzIG9yIHdhcyBhY3RpdmUuIElmIHRoZXJlIGFyZSBubyBkYXRlcyBkZWZpbmVkLCB0aGVuIHRoZSBpbnRlcnZhbCBpcyB1bmtub3duLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbW11bmljYXRpb24iIGRlc2NyaXB0aW9uPSJBIGxhbmd1YWdlIHdoaWNoIG1heSBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggYWJvdXQgdGhlIHBhdGllbnQncyBoZWFsdGgiIGRlZmluaXRpb249IkEgbGFuZ3VhZ2Ugd2hpY2ggbWF5IGJlIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBhYm91dCB0aGUgcGF0aWVudCdzIGhlYWx0aC4iIGNvbW1lbnQ9IklmIG5vIGxhbmd1YWdlIGlzIHNwZWNpZmllZCwgdGhpcyAqaW1wbGllcyogdGhhdCB0aGUgZGVmYXVsdCBsb2NhbCBsYW5ndWFnZSBpcyBzcG9rZW4uICBJZiB5b3UgbmVlZCB0byBjb252ZXkgcHJvZmljaWVuY3kgZm9yIG11bHRpcGxlIG1vZGVzLCB0aGVuIHlvdSBuZWVkIG11bHRpcGxlIFJlbGF0ZWRQZXJzb24uQ29tbXVuaWNhdGlvbiBhc3NvY2lhdGlvbnMuICAgSWYgdGhlIFJlbGF0ZWRQZXJzb24gZG9lcyBub3Qgc3BlYWsgdGhlIGRlZmF1bHQgbG9jYWwgbGFuZ3VhZ2UsIHRoZW4gdGhlIEludGVycHJldGVyIFJlcXVpcmVkIFN0YW5kYXJkIGNhbiBiZSB1c2VkIHRvIGV4cGxpY2l0bHkgZGVjbGFyZSB0aGF0IGFuIGludGVycHJldGVyIGlzIHJlcXVpcmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVsYXRlZFBlcnNvbi5Db21tdW5pY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkUGVyc29uLkNvbW11bmljYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgbGFuZ3VhZ2Ugd2hpY2ggY2FuIGJlIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgcGF0aWVudCBhYm91dCBoaXMgb3IgaGVyIGhlYWx0aCIgZGVmaW5pdGlvbj0iVGhlIElTTy02MzktMSBhbHBoYSAyIGNvZGUgaW4gbG93ZXIgY2FzZSBmb3IgdGhlIGxhbmd1YWdlLCBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IGEgaHlwaGVuIGFuZCB0aGUgSVNPLTMxNjYtMSBhbHBoYSAyIGNvZGUgZm9yIHRoZSByZWdpb24gaW4gdXBwZXIgY2FzZTsgZS5nLiAmcXVvdDtlbiZxdW90OyBmb3IgRW5nbGlzaCwgb3IgJnF1b3Q7ZW4tVVMmcXVvdDsgZm9yIEFtZXJpY2FuIEVuZ2xpc2ggdmVyc3VzICZxdW90O2VuLUVOJnF1b3Q7IGZvciBFbmdsYW5kIEVuZ2xpc2guIiBjb21tZW50PSJUaGUgc3RydWN0dXJlIGFhLUJCIHdpdGggdGhpcyBleGFjdCBjYXNpbmcgaXMgb25lIHRoZSBtb3N0IHdpZGVseSB1c2VkIG5vdGF0aW9ucyBmb3IgbG9jYWxlLiBIb3dldmVyIG5vdCBhbGwgc3lzdGVtcyBhY3R1YWxseSBjb2RlIHRoaXMgYnV0IGluc3RlYWQgaGF2ZSBpdCBhcyBmcmVlIHRleHQuIEhlbmNlIENvZGVhYmxlQ29uY2VwdCBpbnN0ZWFkIG9mIGNvZGUgYXMgdGhlIGRhdGEgdHlwZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMYW5ndWFnZSIgZGVzY3JpcHRpb249IkEgaHVtYW4gbGFuZ3VhZ2UuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByZWZlcnJlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikxhbmd1YWdlIHByZWZlcmVuY2UgaW5kaWNhdG9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHBhdGllbnQgcHJlZmVycyB0aGlzIGxhbmd1YWdlIChvdmVyIG90aGVyIGxhbmd1YWdlcyBoZSBtYXN0ZXJzIHVwIGEgY2VydGFpbiBsZXZlbCkuIiBjb21tZW50PSJUaGlzIGxhbmd1YWdlIGlzIHNwZWNpZmljYWxseSBpZGVudGlmaWVkIGZvciBjb21tdW5pY2F0aW5nIGhlYWx0aGNhcmUgaW5mb3JtYXRpb24uIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZW1pdHRhbmNlT3V0Y29tZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZXF1ZXN0SW50ZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlcXVlc3RQcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZXNvdXJjZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1Jlc291cmNlIiBsYWJlbD0iUmVzb3VyY2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBiYXNlVHlwZT0iU3lzdGVtLkFueSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxvZ2ljYWwgaWQgb2YgdGhpcyBhcnRpZmFjdCIgZGVmaW5pdGlvbj0iVGhlIGxvZ2ljYWwgaWQgb2YgdGhlIHJlc291cmNlLCBhcyB1c2VkIGluIHRoZSBVUkwgZm9yIHRoZSByZXNvdXJjZS4gT25jZSBhc3NpZ25lZCwgdGhpcyB2YWx1ZSBuZXZlciBjaGFuZ2VzLiIgY29tbWVudD0iVGhlIG9ubHkgdGltZSB0aGF0IGEgcmVzb3VyY2UgZG9lcyBub3QgaGF2ZSBhbiBpZCBpcyB3aGVuIGl0IGlzIGJlaW5nIHN1Ym1pdHRlZCB0byB0aGUgc2VydmVyIHVzaW5nIGEgY3JlYXRlIG9wZXJhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRhIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1ldGEiIGRlc2NyaXB0aW9uPSJNZXRhZGF0YSBhYm91dCB0aGUgcmVzb3VyY2UiIGRlZmluaXRpb249IlRoZSBtZXRhZGF0YSBhYm91dCB0aGUgcmVzb3VyY2UuIFRoaXMgaXMgY29udGVudCB0aGF0IGlzIG1haW50YWluZWQgYnkgdGhlIGluZnJhc3RydWN0dXJlLiBDaGFuZ2VzIHRvIHRoZSBjb250ZW50IG1pZ2h0IG5vdCBhbHdheXMgYmUgYXNzb2NpYXRlZCB3aXRoIHZlcnNpb24gY2hhbmdlcyB0byB0aGUgcmVzb3VyY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW1wbGljaXRSdWxlcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQSBzZXQgb2YgcnVsZXMgdW5kZXIgd2hpY2ggdGhpcyBjb250ZW50IHdhcyBjcmVhdGVkIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHNldCBvZiBydWxlcyB0aGF0IHdlcmUgZm9sbG93ZWQgd2hlbiB0aGUgcmVzb3VyY2Ugd2FzIGNvbnN0cnVjdGVkLCBhbmQgd2hpY2ggbXVzdCBiZSB1bmRlcnN0b29kIHdoZW4gcHJvY2Vzc2luZyB0aGUgY29udGVudC4gT2Z0ZW4sIHRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYW4gaW1wbGVtZW50YXRpb24gZ3VpZGUgdGhhdCBkZWZpbmVzIHRoZSBzcGVjaWFsIHJ1bGVzIGFsb25nIHdpdGggb3RoZXIgcHJvZmlsZXMgZXRjLiIgY29tbWVudD0iQXNzZXJ0aW5nIHRoaXMgcnVsZSBzZXQgcmVzdHJpY3RzIHRoZSBjb250ZW50IHRvIGJlIG9ubHkgdW5kZXJzdG9vZCBieSBhIGxpbWl0ZWQgc2V0IG9mIHRyYWRpbmcgcGFydG5lcnMuIFRoaXMgaW5oZXJlbnRseSBsaW1pdHMgdGhlIHVzZWZ1bG5lc3Mgb2YgdGhlIGRhdGEgaW4gdGhlIGxvbmcgdGVybS4gSG93ZXZlciwgdGhlIGV4aXN0aW5nIGhlYWx0aCBlY28tc3lzdGVtIGlzIGhpZ2hseSBmcmFjdHVyZWQsIGFuZCBub3QgeWV0IHJlYWR5IHRvIGRlZmluZSwgY29sbGVjdCwgYW5kIGV4Y2hhbmdlIGRhdGEgaW4gYSBnZW5lcmFsbHkgY29tcHV0YWJsZSBzZW5zZS4gV2hlcmV2ZXIgcG9zc2libGUsIGltcGxlbWVudGVycyBhbmQvb3Igc3BlY2lmaWNhdGlvbiB3cml0ZXJzIHNob3VsZCBhdm9pZCB1c2luZyB0aGlzIGVsZW1lbnQuIE9mdGVuLCB3aGVuIHVzZWQsIHRoZSBVUkwgaXMgYSByZWZlcmVuY2UgdG8gYW4gaW1wbGVtZW50YXRpb24gZ3VpZGUgdGhhdCBkZWZpbmVzIHRoZXNlIHNwZWNpYWwgcnVsZXMgYXMgcGFydCBvZiBpdCdzIG5hcnJhdGl2ZSBhbG9uZyB3aXRoIG90aGVyIHByb2ZpbGVzLCB2YWx1ZSBzZXRzLCBldGMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibGFuZ3VhZ2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikxhbmd1YWdlIG9mIHRoZSByZXNvdXJjZSBjb250ZW50IiBkZWZpbml0aW9uPSJUaGUgYmFzZSBsYW5ndWFnZSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgd3JpdHRlbi4iIGNvbW1lbnQ9Ikxhbmd1YWdlIGlzIHByb3ZpZGVkIHRvIHN1cHBvcnQgaW5kZXhpbmcgYW5kIGFjY2Vzc2liaWxpdHkgKHR5cGljYWxseSwgc2VydmljZXMgc3VjaCBhcyB0ZXh0IHRvIHNwZWVjaCB1c2UgdGhlIGxhbmd1YWdlIHRhZykuIFRoZSBodG1sIGxhbmd1YWdlIHRhZyBpbiB0aGUgbmFycmF0aXZlIGFwcGxpZXMgIHRvIHRoZSBuYXJyYXRpdmUuIFRoZSBsYW5ndWFnZSB0YWcgb24gdGhlIHJlc291cmNlIG1heSBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIGxhbmd1YWdlIG9mIG90aGVyIHByZXNlbnRhdGlvbnMgZ2VuZXJhdGVkIGZyb20gdGhlIGRhdGEgaW4gdGhlIHJlc291cmNlLiBOb3QgYWxsIHRoZSBjb250ZW50IGhhcyB0byBiZSBpbiB0aGUgYmFzZSBsYW5ndWFnZS4gVGhlIFJlc291cmNlLmxhbmd1YWdlIHNob3VsZCBub3QgYmUgYXNzdW1lZCB0byBhcHBseSB0byB0aGUgbmFycmF0aXZlIGF1dG9tYXRpY2FsbHkuIElmIGEgbGFuZ3VhZ2UgaXMgc3BlY2lmaWVkLCBpdCBzaG91bGQgaXQgYWxzbyBiZSBzcGVjaWZpZWQgb24gdGhlIGRpdiBlbGVtZW50IGluIHRoZSBodG1sIChzZWUgcnVsZXMgaW4gSFRNTDUgZm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB4bWw6bGFuZyBhbmQgdGhlIGh0bWwgbGFuZyBhdHRyaWJ1dGUpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ikxhbmd1YWdlIiBkZXNjcmlwdGlvbj0iQSBodW1hbiBsYW5ndWFnZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZXNvdXJjZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9TYW1wbGVkRGF0YSIgbGFiZWw9IlNhbXBsZWREYXRhIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JpZ2luIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249Ilplcm8gdmFsdWUgYW5kIHVuaXRzIiBkZWZpbml0aW9uPSJUaGUgYmFzZSBxdWFudGl0eSB0aGF0IGEgbWVhc3VyZWQgdmFsdWUgb2YgemVybyByZXByZXNlbnRzLiBJbiBhZGRpdGlvbiwgdGhpcyBwcm92aWRlcyB0aGUgdW5pdHMgb2YgdGhlIGVudGlyZSBtZWFzdXJlbWVudCBzZXJpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHNhbXBsZXMiIGRlZmluaXRpb249IlRoZSBsZW5ndGggb2YgdGltZSBiZXR3ZWVuIHNhbXBsaW5nIHRpbWVzLCBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuIiBjb21tZW50PSJUaGlzIGlzIHVzdWFsbHkgYSB3aG9sZSBudW1iZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTXVsdGlwbHkgZGF0YSBieSB0aGlzIGJlZm9yZSBhZGRpbmcgdG8gb3JpZ2luIiBkZWZpbml0aW9uPSJBIGNvcnJlY3Rpb24gZmFjdG9yIHRoYXQgaXMgYXBwbGllZCB0byB0aGUgc2FtcGxlZCBkYXRhIHBvaW50cyBiZWZvcmUgdGhleSBhcmUgYWRkZWQgdG8gdGhlIG9yaWdpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3dlckxpbWl0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTG93ZXIgbGltaXQgb2YgZGV0ZWN0aW9uIiBkZWZpbml0aW9uPSJUaGUgbG93ZXIgbGltaXQgb2YgZGV0ZWN0aW9uIG9mIHRoZSBtZWFzdXJlZCBwb2ludHMuIFRoaXMgaXMgbmVlZGVkIGlmIGFueSBvZiB0aGUgZGF0YSBwb2ludHMgaGF2ZSB0aGUgdmFsdWUgJnF1b3Q7TCZxdW90OyAobG93ZXIgdGhhbiBkZXRlY3Rpb24gbGltaXQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVwcGVyTGltaXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJVcHBlciBsaW1pdCBvZiBkZXRlY3Rpb24iIGRlZmluaXRpb249IlRoZSB1cHBlciBsaW1pdCBvZiBkZXRlY3Rpb24gb2YgdGhlIG1lYXN1cmVkIHBvaW50cy4gVGhpcyBpcyBuZWVkZWQgaWYgYW55IG9mIHRoZSBkYXRhIHBvaW50cyBoYXZlIHRoZSB2YWx1ZSAmcXVvdDtVJnF1b3Q7IChoaWdoZXIgdGhhbiBkZXRlY3Rpb24gbGltaXQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpbWVuc2lvbnMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2Ygc2FtcGxlIHBvaW50cyBhdCBlYWNoIHRpbWUgcG9pbnQiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2Ygc2FtcGxlIHBvaW50cyBhdCBlYWNoIHRpbWUgcG9pbnQuIElmIHRoaXMgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIG9uZSwgdGhlbiB0aGUgZGltZW5zaW9ucyB3aWxsIGJlIGludGVybGFjZWQgLSBhbGwgdGhlIHNhbXBsZSBwb2ludHMgZm9yIGEgcG9pbnQgaW4gdGltZSB3aWxsIGJlIHJlY29yZGVkIGF0IG9uY2UuIiBjb21tZW50PSJJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGRpbWVuc2lvbiwgdGhlIGNvZGUgZm9yIHRoZSB0eXBlIG9mIGRhdGEgd2lsbCBkZWZpbmUgdGhlIG1lYW5pbmcgb2YgdGhlIGRpbWVuc2lvbnMgKHR5cGljYWxseSBFQ0cgZGF0YSkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGVjaW1hbCB2YWx1ZXMgd2l0aCBzcGFjZXMsIG9yICZxdW90O0UmcXVvdDsgfCAmcXVvdDtVJnF1b3Q7IHwgJnF1b3Q7TCZxdW90OyIgZGVmaW5pdGlvbj0iQSBzZXJpZXMgb2YgZGF0YSBwb2ludHMgd2hpY2ggYXJlIGRlY2ltYWwgdmFsdWVzIHNlcGFyYXRlZCBieSBhIHNpbmdsZSBzcGFjZSAoY2hhcmFjdGVyIHUyMCkuIFRoZSBzcGVjaWFsIHZhbHVlcyAmcXVvdDtFJnF1b3Q7IChlcnJvciksICZxdW90O0wmcXVvdDsgKGJlbG93IGRldGVjdGlvbiBsaW1pdCkgYW5kICZxdW90O1UmcXVvdDsgKGFib3ZlIGRldGVjdGlvbiBsaW1pdCkgY2FuIGFsc28gYmUgdXNlZCBpbiBwbGFjZSBvZiBhIGRlY2ltYWwgdmFsdWUuIiBjb21tZW50PSJEYXRhIG1heSBiZSBtaXNzaW5nIGlmIGl0IGlzIG9taXR0ZWQgZm9yIHN1bW1hcml6YXRpb24gcHVycG9zZXMuIEluIGdlbmVyYWwsIGRhdGEgaXMgcmVxdWlyZWQgZm9yIGFueSBhY3R1YWwgdXNlIG9mIGEgU2FtcGxlZERhdGEuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlTm90UmVxdWVzdGVkIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1zZXJ2aWNlbm90cmVxdWVzdGVkIiBsYWJlbD0iUUlDb3JlIFNlcnZpY2UgTm90IFJlcXVlc3RlZCIgdGFyZ2V0PSJTZXJ2aWNlUmVxdWVzdCIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmdXNlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Eb05vdFBlcmZvcm1SZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZG9Ob3RQZXJmb3JtUmVhc29uJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gdGhlIGV2ZW50IHdhcyBub3QgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIGluc3RhbmNlIGJ5IHRoZSBvcmRlcmVyIGFuZC9vciB0aGUgcmVjZWl2ZXIgYW5kL29yIG9yZGVyIGZ1bGZpbGxlci4iIGNvbW1lbnQ9IlRoZSBpZGVudGlmaWVyLnR5cGUgZWxlbWVudCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIGlkZW50aWZpZXJzIGFzc2lnbmVkIGJ5IHRoZSBvcmRlcmVyIChrbm93biBhcyB0aGUgJ1BsYWNlcicgaW4gSEw3IHYyKSBhbmQgdGhlIHByb2R1Y2VyIG9mIHRoZSBvYnNlcnZhdGlvbnMgaW4gcmVzcG9uc2UgdG8gdGhlIG9yZGVyIChrbm93biBhcyB0aGUgJ0ZpbGxlcicgaW4gSEw3IHYyKS4gIEZvciBmdXJ0aGVyIGRpc2N1c3Npb24gYW5kIGV4YW1wbGVzIHNlZSB0aGUgcmVzb3VyY2Ugbm90ZXMgc2VjdGlvbiBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1aXNpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQ29tcG9zaXRlIFJlcXVlc3QgSUQiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCBzZXJ2aWNlIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgY29tcG9zaXRlIG9yIGdyb3VwIGlkZW50aWZpZXIuIiBjb21tZW50PSJSZXF1ZXN0cyBhcmUgbGlua2VkIGVpdGhlciBieSBhICZxdW90O2Jhc2VkT24mcXVvdDsgcmVsYXRpb25zaGlwIChpLmUuIG9uZSByZXF1ZXN0IGlzIGZ1bGZpbGxpbmcgYW5vdGhlcikgb3IgYnkgaGF2aW5nIGEgY29tbW9uIHJlcXVpc2l0aW9uLiBSZXF1ZXN0cyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBzYW1lIHJlcXVpc2l0aW9uIGFyZSBnZW5lcmFsbHkgdHJlYXRlZCBpbmRlcGVuZGVudGx5IGZyb20gdGhlIHBlcnNwZWN0aXZlIG9mIGNoYW5naW5nIHRoZWlyIHN0YXRlIG9yIG1haW50YWluaW5nIHRoZW0gYWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGQgfCByZXZva2VkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG9yZGVyLiIgY29tbWVudD0iVGhlIHN0YXR1cyBpcyBnZW5lcmFsbHkgZnVsbHkgaW4gdGhlIGNvbnRyb2wgb2YgdGhlIHJlcXVlc3RlciAtIHRoZXkgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG9yZGVyIGlzIGRyYWZ0IG9yIGFjdGl2ZSBhbmQsIGFmdGVyIGl0IGhhcyBiZWVuIGFjdGl2YXRlZCwgY29tcGV0ZWQsIGNhbmNlbGxlZCBvciBzdXNwZW5kZWQuIFN0YXRlcyByZWxhdGluZyB0byB0aGUgYWN0aXZpdGllcyBvZiB0aGUgcGVyZm9ybWVyIGFyZSByZWZsZWN0ZWQgb24gZWl0aGVyIHRoZSBjb3JyZXNwb25kaW5nIGV2ZW50IChzZWUgW0V2ZW50IFBhdHRlcm5dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXZlbnQuaHRtbCkgZm9yIGdlbmVyYWwgZGlzY3Vzc2lvbikgb3IgdXNpbmcgdGhlIFtUYXNrXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Rhc2suaHRtbCkgcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0U3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIHN0YXR1cyBvZiBhIHNlcnZpY2Ugb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlNlcnZpY2VSZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvcG9zYWwgfCBwbGFuIHwgZGlyZWN0aXZlIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIGFuIG9yaWdpbmFsIG9yZGVyIG9yIGEgcmVmbGV4IG9yZGVyLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBpbnRlbnQgYWx0ZXJzIHdoZW4gYW5kIGhvdyB0aGUgcmVzb3VyY2UgaXMgYWN0dWFsbHkgYXBwbGljYWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RJbnRlbnQiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBzZXJ2aWNlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mIHNlcnZpY2UiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHNlcnZpY2UgZm9yIHNlYXJjaGluZywgc29ydGluZyBhbmQgZGlzcGxheSBwdXJwb3NlcyAoZS5nLiAmcXVvdDtTdXJnaWNhbCBQcm9jZWR1cmUmcXVvdDspLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4aXMgb2YgY2F0ZWdvcml6YXRpb24gZGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IG9yIHVzZSBjYXNlIGZvciByZXRyaWV2aW5nIG9yIGRpc3BsYXlpbmcgdGhlIHJlc291cmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdENhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2Ygc2VydmljZSIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgc2VydmljZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhpcyBvZiBjYXRlZ29yaXphdGlvbiBkZXBlbmRpbmcgb24gdGhlIGNvbnRleHQgb3IgdXNlIGNhc2UgZm9yIHJldHJpZXZpbmcgb3IgZGlzcGxheWluZyB0aGUgcmVzb3VyY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJOb3RlIHRoYXQgb3RoZXIgY29kZXMgYXJlIHBlcm1pdHRlZCwgc2VlIFtSZXF1aXJlZCBCaW5kaW5ncyBXaGVuIFNsaWNpbmcgYnkgVmFsdWUgU2V0c10oaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL2dlbmVyYWwtcmVxdWlyZW1lbnRzLmh0bWwjcmVxdWlyZWQtYmluZGluZ3Mtd2hlbi1zbGljaW5nLWJ5LXZhbHVlLXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgU2VydmljZVJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvTm90UGVyZm9ybSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUcnVlIGlmIHNlcnZpY2UvcHJvY2VkdXJlIHNob3VsZCBub3QgYmUgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJTZXQgdGhpcyB0byB0cnVlIGlmIHRoZSByZWNvcmQgaXMgc2F5aW5nIHRoYXQgdGhlIHNlcnZpY2UvcHJvY2VkdXJlIHNob3VsZCBOT1QgYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iSW4gZ2VuZXJhbCwgb25seSB0aGUgY29kZSBhbmQgdGltZWZyYW1lIHdpbGwgYmUgcHJlc2VudCwgdGhvdWdoIG9jY2FzaW9uYWwgYWRkaXRpb25hbCBxdWFsaWZpZXJzIHN1Y2ggYXMgYm9keSBzaXRlIG9yIGV2ZW4gcGVyZm9ybWVyIGNvdWxkIGJlIGluY2x1ZGVkIHRvIG5hcnJvdyB0aGUgc2NvcGUgb2YgdGhlIHByb2hpYml0aW9uLiAgSWYgdGhlIFNlcnZpY2VSZXF1ZXN0LmNvZGUgYW5kIFNlcnZpY2VSZXF1ZXN0LmRvTm90UGVyZm9ybSBib3RoIGNvbnRhaW4gbmVnYXRpb24sIHRoYXQgd2lsbCByZWluZm9yY2UgcHJvaGliaXRpb24gYW5kIHNob3VsZCBub3QgaGF2ZSBhIGRvdWJsZSBuZWdhdGl2ZSBpbnRlcnByZXRhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoYXQgaXMgYmVpbmcgcmVxdWVzdGVkL29yZGVyZWQiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIHNlcnZpY2UgKGkuZS4sIHByb2NlZHVyZSwgZGlhZ25vc3RpYyBpbnZlc3RpZ2F0aW9uLCBvciBwYW5lbCBvZiBpbnZlc3RpZ2F0aW9ucykgdGhhdCBoYXZlIGJlZW4gcmVxdWVzdGVkLiIgY29tbWVudD0iTWFueSBsYWJvcmF0b3J5IGFuZCByYWRpb2xvZ3kgcHJvY2VkdXJlIGNvZGVzIGVtYmVkIHRoZSBzcGVjaW1lbi9vcmdhbiBzeXN0ZW0gaW4gdGhlIHRlc3Qgb3JkZXIgbmFtZSwgZm9yIGV4YW1wbGUsICBzZXJ1bSBvciBzZXJ1bS9wbGFzbWEgZ2x1Y29zZSwgb3IgYSBjaGVzdCB4LXJheS4gVGhlIHNwZWNpbWVuIG1pZ2h0IG5vdCBiZSByZWNvcmRlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHRlc3QgY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9yZGVyRGV0YWlsIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBvcmRlciBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBkZXRhaWxzIGFuZCBpbnN0cnVjdGlvbnMgYWJvdXQgdGhlIGhvdyB0aGUgc2VydmljZXMgYXJlIHRvIGJlIGRlbGl2ZXJlZC4gICBGb3IgZXhhbXBsZSwgYW5kIG9yZGVyIGZvciBhIHVyaW5hcnkgY2F0aGV0ZXIgbWF5IGhhdmUgYW4gb3JkZXIgZGV0YWlsIGZvciBhbiBleHRlcm5hbCBvciBpbmR3ZWxsaW5nIGNhdGhldGVyLCBvciBhbiBvcmRlciBmb3IgYSBiYW5kYWdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIHNwZWNpZnlpbmcgaG93IHRoZSBiYW5kYWdlIHNob3VsZCBiZSBhcHBsaWVkLiIgY29tbWVudD0iRm9yIGluZm9ybWF0aW9uIGZyb20gdGhlIG1lZGljYWwgcmVjb3JkIGludGVuZGVkIHRvIHN1cHBvcnQgdGhlIGRlbGl2ZXJ5IG9mIHRoZSByZXF1ZXN0ZWQgc2VydmljZXMsIHVzZSB0aGUgYHN1cHBvcnRpbmdJbmZvcm1hdGlvbmAgZWxlbWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT3JkZXJEZXRhaWwiIGRlc2NyaXB0aW9uPSJDb2RpZmllZCBvcmRlciBlbnRyeSBkZXRhaWxzIHdoaWNoIGFyZSBiYXNlZCBvbiBvcmRlciBjb250ZXh0LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZSBhbW91bnQiIGRlZmluaXRpb249IkFuIGFtb3VudCBvZiBzZXJ2aWNlIGJlaW5nIHJlcXVlc3RlZCB3aGljaCBjYW4gYmUgYSBxdWFudGl0eSAoIGZvciBleGFtcGxlICQxLDUwMCBob21lIG1vZGlmaWNhdGlvbiksIGEgcmF0aW8gKCBmb3IgZXhhbXBsZSwgMjAgaGFsZiBkYXkgdmlzaXRzIHBlciBtb250aCksIG9yIGEgcmFuZ2UgKDIuMCB0byAxLjggR3kgcGVyIGZyYWN0aW9uKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEluZGl2aWR1YWwgb3IgRW50aXR5IHRoZSBzZXJ2aWNlIGlzIG9yZGVyZWQgZm9yIiBkZWZpbml0aW9uPSJPbiB3aG9tIG9yIHdoYXQgdGhlIHNlcnZpY2UgaXMgdG8gYmUgcGVyZm9ybWVkLiBUaGlzIGlzIHVzdWFsbHkgYSBodW1hbiBwYXRpZW50LCBidXQgY2FuIGFsc28gYmUgcmVxdWVzdGVkIG9uIGFuaW1hbHMsIGdyb3VwcyBvZiBodW1hbnMgb3IgYW5pbWFscywgZGV2aWNlcyBzdWNoIGFzIGRpYWx5c2lzIG1hY2hpbmVzLCBvciBldmVuIGxvY2F0aW9ucyAodHlwaWNhbGx5IGZvciBlbnZpcm9ubWVudGFsIHNjYW5zKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBpbiB3aGljaCB0aGUgcmVxdWVzdCB3YXMgY3JlYXRlZCIgZGVmaW5pdGlvbj0iQW4gZW5jb3VudGVyIHRoYXQgcHJvdmlkZXMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaGVhbHRoY2FyZSBjb250ZXh0IGluIHdoaWNoIHRoaXMgcmVxdWVzdCBpcyBtYWRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHNlcnZpY2Ugc2hvdWxkIG9jY3VyIiBkZWZpbml0aW9uPSJUaGUgZGF0ZS90aW1lIGF0IHdoaWNoIHRoZSByZXF1ZXN0ZWQgc2VydmljZSBzaG91bGQgb2NjdXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNOZWVkZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJlY29uZGl0aW9ucyBmb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iSWYgYSBDb2RlYWJsZUNvbmNlcHQgaXMgcHJlc2VudCwgaXQgaW5kaWNhdGVzIHRoZSBwcmUtY29uZGl0aW9uIGZvciBwZXJmb3JtaW5nIHRoZSBzZXJ2aWNlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7b24gZmxhcmUtdXAmcXVvdDssIGV0Yy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVBc05lZWRlZFJlYXNvbiIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpZGVudGlmeWluZyB0aGUgcHJlLWNvbmRpdGlvbiB0aGF0IHNob3VsZCBob2xkIHByaW9yIHRvIHBlcmZvcm1pbmcgYSBwcm9jZWR1cmUuICBGb3IgZXhhbXBsZSAmcXVvdDtwYWluJnF1b3Q7LCAmcXVvdDtvbiBmbGFyZS11cCZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIERhdGUgcmVxdWVzdCBzaWduZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoby93aGF0IGlzIHJlcXVlc3Rpbmcgc2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwgd2hvIGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgbm90IHRoZSBkaXNwYXRjaGVyLCBidXQgcmF0aGVyIHdobyBpcyB0aGUgYXV0aG9yaXplci4gIFRoaXMgZWxlbWVudCBpcyBub3QgaW50ZW5kZWQgdG8gaGFuZGxlIGRlbGVnYXRpb24gd2hpY2ggd291bGQgZ2VuZXJhbGx5IGJlIG1hbmFnZWQgdGhyb3VnaCB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyZm9ybWVyIHJvbGUiIGRlZmluaXRpb249IkRlc2lyZWQgdHlwZSBvZiBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgaXMgYSAgcm9sZSwgbm90ICBhIHBhcnRpY2lwYXRpb24gdHlwZS4gIEluIG90aGVyIHdvcmRzLCBkb2VzIG5vdCBkZXNjcmliZSB0aGUgdGFzayBidXQgZGVzY3JpYmVzIHRoZSBjYXBhY2l0eS4gIEZvciBleGFtcGxlLCDigJxjb21wb3VuZGluZyBwaGFybWFjeeKAnSwg4oCccHN5Y2hpYXRyaXN04oCdIG9yIOKAnGludGVybmFsIHJlZmVycmFs4oCdLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0UGFydGljaXBhbnRSb2xlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNwZWNpZmljIHJlc3BvbnNpYmlsaXR5IG9mIGFuIGluZGl2aWR1YWwgd2l0aGluIHRoZSBjYXJlIHRlYW0sIHN1Y2ggYXMgJnF1b3Q7UHJpbWFyeSBwaHlzaWNpYW4mcXVvdDssICZxdW90O1RlYW0gY29vcmRpbmF0b3ImcXVvdDssICZxdW90O0NhcmVnaXZlciZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIHBlcmZvcm1lciIgZGVmaW5pdGlvbj0iVGhlIGRlc2lyZWQgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuICBGb3IgZXhhbXBsZSwgdGhlIHN1cmdlb24sIGRlcm1hdG9wYXRob2xvZ2lzdCwgZW5kb3Njb3Bpc3QsIGV0Yy4iIGNvbW1lbnQ9IklmIG11bHRpcGxlIHBlcmZvcm1lcnMgYXJlIHByZXNlbnQsIGl0IGlzIGludGVycHJldGVkIGFzIGEgbGlzdCBvZiAqYWx0ZXJuYXRpdmUqIHBlcmZvcm1lcnMgd2l0aG91dCBhbnkgcHJlZmVyZW5jZSByZWdhcmRsZXNzIG9mIG9yZGVyLiAgSWYgb3JkZXIgb2YgcHJlZmVyZW5jZSBpcyBuZWVkZWQgdXNlIHRoZSBbcmVxdWVzdC1wZXJmb3JtZXJPcmRlciBleHRlbnNpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXJlcXVlc3QtcGVyZm9ybWVyb3JkZXIuaHRtbCkuICBVc2UgQ2FyZVRlYW0gdG8gcmVwcmVzZW50IGEgZ3JvdXAgb2YgcGVyZm9ybWVycyAoZm9yIGV4YW1wbGUsIFByYWN0aXRpb25lciBBICphbmQqIFByYWN0aXRpb25lciBCKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgbG9jYXRpb24iIGRlZmluaXRpb249IlRoZSBwcmVmZXJyZWQgbG9jYXRpb24ocykgd2hlcmUgdGhlIHByb2NlZHVyZSBzaG91bGQgYWN0dWFsbHkgaGFwcGVuIGluIGNvZGVkIG9yIGZyZWUgdGV4dCBmb3JtLiBFLmcuIGF0IGhvbWUgb3IgbnVyc2luZyBkYXkgY2FyZSBjZW50ZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0TG9jYXRpb24iIGRlc2NyaXB0aW9uPSJBIGxvY2F0aW9uIHR5cGUgd2hlcmUgc2VydmljZXMgYXJlIGRlbGl2ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byB0aGUgdGhlIHByZWZlcnJlZCBsb2NhdGlvbihzKSB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBhY3R1YWxseSBoYXBwZW4uIEUuZy4gYXQgaG9tZSBvciBudXJzaW5nIGRheSBjYXJlIGNlbnRlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBFeHBsYW5hdGlvbi9KdXN0aWZpY2F0aW9uIGZvciBwcm9jZWR1cmUgb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iQW4gZXhwbGFuYXRpb24gb3IganVzdGlmaWNhdGlvbiBmb3Igd2h5IHRoaXMgc2VydmljZSBpcyBiZWluZyByZXF1ZXN0ZWQgaW4gY29kZWQgb3IgdGV4dHVhbCBmb3JtLiAgIFRoaXMgaXMgb2Z0ZW4gZm9yIGJpbGxpbmcgcHVycG9zZXMuICBNYXkgcmVsYXRlIHRvIHRoZSByZXNvdXJjZXMgcmVmZXJyZWQgdG8gaW4gYHN1cHBvcnRpbmdJbmZvYC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCByZXByZXNlbnRzIHdoeSB0aGUgcmVmZXJyYWwgaXMgYmVpbmcgbWFkZSBhbmQgbWF5IGJlIHVzZWQgdG8gZGVjaWRlIGhvdyB0aGUgc2VydmljZSB3aWxsIGJlIHBlcmZvcm1lZCwgb3IgZXZlbiBpZiBpdCB3aWxsIGJlIHBlcmZvcm1lZCBhdCBhbGwuICAgVXNlIGBDb2RlYWJsZUNvbmNlcHQudGV4dGAgZWxlbWVudCBpZiB0aGUgZGF0YSBpcyBmcmVlICh1bmNvZGVkKSB0ZXh0IGFzIHNob3duIGluIHRoZSBbQ1QgU2NhbiBleGFtcGxlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3NlcnZpY2VyZXF1ZXN0LWV4YW1wbGUtZGkuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRXhwbGFuYXRpb24vSnVzdGlmaWNhdGlvbiBmb3Igc2VydmljZSBvciBzZXJ2aWNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW5vdGhlciByZXNvdXJjZSB0aGF0IHByb3ZpZGVzIGEganVzdGlmaWNhdGlvbiBmb3Igd2h5IHRoaXMgc2VydmljZSBpcyBiZWluZyByZXF1ZXN0ZWQuICAgTWF5IHJlbGF0ZSB0byB0aGUgcmVzb3VyY2VzIHJlZmVycmVkIHRvIGluIGBzdXBwb3J0aW5nSW5mb2AuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgcmVwcmVzZW50cyB3aHkgdGhlIHJlZmVycmFsIGlzIGJlaW5nIG1hZGUgYW5kIG1heSBiZSB1c2VkIHRvIGRlY2lkZSBob3cgdGhlIHNlcnZpY2Ugd2lsbCBiZSBwZXJmb3JtZWQsIG9yIGV2ZW4gaWYgaXQgd2lsbCBiZSBwZXJmb3JtZWQgYXQgYWxsLiAgICBUbyBiZSBhcyBzcGVjaWZpYyBhcyBwb3NzaWJsZSwgIGEgcmVmZXJlbmNlIHRvICAqT2JzZXJ2YXRpb24qIG9yICpDb25kaXRpb24qIHNob3VsZCBiZSB1c2VkIGlmIGF2YWlsYWJsZS4gIE90aGVyd2lzZSB3aGVuIHJlZmVyZW5jaW5nICAqRGlhZ25vc3RpY1JlcG9ydCogIGl0IHNob3VsZCBjb250YWluIGEgZmluZGluZyAgaW4gYERpYWdub3N0aWNSZXBvcnQuY29uY2x1c2lvbmAgYW5kL29yIGBEaWFnbm9zdGljUmVwb3J0LmNvbmNsdXNpb25Db2RlYC4gICBXaGVuIHVzaW5nIGEgcmVmZXJlbmNlIHRvICpEb2N1bWVudFJlZmVyZW5jZSosIHRoZSB0YXJnZXQgZG9jdW1lbnQgc2hvdWxkIGNvbnRhaW4gY2xlYXIgZmluZGluZ3MgbGFuZ3VhZ2UgcHJvdmlkaW5nIHRoZSByZWxldmFudCByZWFzb24gZm9yIHRoaXMgc2VydmljZSByZXF1ZXN0LiAgVXNlICB0aGUgQ29kZWFibGVDb25jZXB0IHRleHQgZWxlbWVudCBpbiBgU2VydmljZVJlcXVlc3QucmVhc29uQ29kZWAgaWYgdGhlIGRhdGEgaXMgZnJlZSAodW5jb2RlZCkgdGV4dCBhcyBzaG93biBpbiB0aGUgW0NUIFNjYW4gZXhhbXBsZV0oc2VydmljZXJlcXVlc3QtZXhhbXBsZS1kaS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSBuZWVkZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGF0aWVudCBvciBzcGVjaW1lbiB0aGF0IG1heSBpbmZsdWVuY2UgdGhlIHNlcnZpY2VzIG9yIHRoZWlyIGludGVycHJldGF0aW9ucy4gICAgIFRoaXMgaW5mb3JtYXRpb24gaW5jbHVkZXMgZGlhZ25vc2lzLCBjbGluaWNhbCBmaW5kaW5ncyBhbmQgb3RoZXIgb2JzZXJ2YXRpb25zLiAgSW4gbGFib3JhdG9yeSBvcmRlcmluZyB0aGVzZSBhcmUgdHlwaWNhbGx5IHJlZmVycmVkIHRvIGFzICZxdW90O2FzayBhdCBvcmRlciBlbnRyeSBxdWVzdGlvbnMgKEFPRXMpJnF1b3Q7LiAgVGhpcyBpbmNsdWRlcyBvYnNlcnZhdGlvbnMgZXhwbGljaXRseSByZXF1ZXN0ZWQgYnkgdGhlIHByb2R1Y2VyIChmaWxsZXIpIHRvIHByb3ZpZGUgY29udGV4dCBvciBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIG5lZWRlZCB0byBjb21wbGV0ZSB0aGUgb3JkZXIuIEZvciBleGFtcGxlLCAgcmVwb3J0aW5nIHRoZSBhbW91bnQgb2YgaW5zcGlyZWQgb3h5Z2VuIGZvciBibG9vZCBnYXMgbWVhc3VyZW1lbnRzLiIgY29tbWVudD0iVG8gcmVwcmVzZW50IGluZm9ybWF0aW9uIGFib3V0IGhvdyB0aGUgc2VydmljZXMgYXJlIHRvIGJlIGRlbGl2ZXJlZCB1c2UgdGhlIGBpbnN0cnVjdGlvbnNgIGVsZW1lbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGRlc2NyaXB0aW9uPSJQcm9jZWR1cmUgU2FtcGxlcyIgZGVmaW5pdGlvbj0iT25lIG9yIG1vcmUgc3BlY2ltZW5zIHRoYXQgdGhlIGxhYm9yYXRvcnkgcHJvY2VkdXJlIHdpbGwgdXNlLiIgY29tbWVudD0iTWFueSBkaWFnbm9zdGljIHByb2NlZHVyZXMgbmVlZCBhIHNwZWNpbWVuLCBidXQgdGhlIHJlcXVlc3QgaXRzZWxmIGlzIG5vdCBhY3R1YWxseSBhYm91dCB0aGUgc3BlY2ltZW4uIFRoaXMgZWxlbWVudCBpcyBmb3Igd2hlbiB0aGUgZGlhZ25vc3RpYyBpcyByZXF1ZXN0ZWQgb24gYWxyZWFkeSBleGlzdGluZyBzcGVjaW1lbnMgYW5kIHRoZSByZXF1ZXN0IHBvaW50cyB0byB0aGUgc3BlY2ltZW4gaXQgYXBwbGllcyB0by4gICAgQ29udmVyc2VseSwgaWYgdGhlIHJlcXVlc3QgaXMgZW50ZXJlZCBmaXJzdCB3aXRoIGFuIHVua25vd24gc3BlY2ltZW4sIHRoZW4gdGhlIFtTcGVjaW1lbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9zcGVjaW1lbi5odG1sKSByZXNvdXJjZSBwb2ludHMgdG8gdGhlIFNlcnZpY2VSZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTG9jYXRpb24gb24gQm9keSIgZGVmaW5pdGlvbj0iQW5hdG9taWMgbG9jYXRpb24gd2hlcmUgdGhlIHByb2NlZHVyZSBzaG91bGQgYmUgcGVyZm9ybWVkLiBUaGlzIGlzIHRoZSB0YXJnZXQgc2l0ZS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gdGhlIGNvZGUgZm91bmQgaW4gU2VydmljZVJlcXVlc3QuY29kZS4gIElmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29kZWQgZWxlbWVudCAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW3Byb2NlZHVyZS10YXJnZXRCb2R5U3RydWN0dXJlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1wcm9jZWR1cmUtdGFyZ2V0Ym9keXN0cnVjdHVyZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIiBkZWZpbml0aW9uPSJBbnkgb3RoZXIgbm90ZXMgYW5kIGNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHNlcnZpY2UgcmVxdWVzdC4gRm9yIGV4YW1wbGUsIGludGVybmFsIGJpbGxpbmcgbm90ZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnRJbnN0cnVjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBvciBjb25zdW1lci1vcmllbnRlZCBpbnN0cnVjdGlvbnMiIGRlZmluaXRpb249Ikluc3RydWN0aW9ucyBpbiB0ZXJtcyB0aGF0IGFyZSB1bmRlcnN0b29kIGJ5IHRoZSBwYXRpZW50IG9yIGNvbnN1bWVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IlJlcXVlc3QgcHJvdmVuYW5jZSIgZGVmaW5pdGlvbj0iS2V5IGV2ZW50cyBpbiB0aGUgaGlzdG9yeSBvZiB0aGUgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgbm90IGluY2x1ZGUgcHJvdmVuYW5jZXMgZm9yIGFsbCB2ZXJzaW9ucyBvZiB0aGUgcmVxdWVzdCDigJMgb25seSB0aG9zZSBkZWVtZWQg4oCccmVsZXZhbnTigJ0gb3IgaW1wb3J0YW50LiYjMTM7VGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAgKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiAgVW50aWwgdGhlbiwgaXQgY2FuIGJlIHF1ZXJpZWQgZGlyZWN0bHkgYXMgdGhlIFByb3ZlbmFuY2UgdGhhdCBwb2ludHMgdG8gdGhpcyB2ZXJzaW9uIHVzaW5nIF9yZXZpbmNsdWRlJiMxMztBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtc2VydmljZXJlcXVlc3QiIGxhYmVsPSJRSUNvcmUgU2VydmljZVJlcXVlc3QiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIGluc3RhbmNlIGJ5IHRoZSBvcmRlcmVyIGFuZC9vciB0aGUgcmVjZWl2ZXIgYW5kL29yIG9yZGVyIGZ1bGZpbGxlci4iIGNvbW1lbnQ9IlRoZSBpZGVudGlmaWVyLnR5cGUgZWxlbWVudCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIGlkZW50aWZpZXJzIGFzc2lnbmVkIGJ5IHRoZSBvcmRlcmVyIChrbm93biBhcyB0aGUgJ1BsYWNlcicgaW4gSEw3IHYyKSBhbmQgdGhlIHByb2R1Y2VyIG9mIHRoZSBvYnNlcnZhdGlvbnMgaW4gcmVzcG9uc2UgdG8gdGhlIG9yZGVyIChrbm93biBhcyB0aGUgJ0ZpbGxlcicgaW4gSEw3IHYyKS4gIEZvciBmdXJ0aGVyIGRpc2N1c3Npb24gYW5kIGV4YW1wbGVzIHNlZSB0aGUgcmVzb3VyY2Ugbm90ZXMgc2VjdGlvbiBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1aXNpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQ29tcG9zaXRlIFJlcXVlc3QgSUQiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCBzZXJ2aWNlIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgY29tcG9zaXRlIG9yIGdyb3VwIGlkZW50aWZpZXIuIiBjb21tZW50PSJSZXF1ZXN0cyBhcmUgbGlua2VkIGVpdGhlciBieSBhICZxdW90O2Jhc2VkT24mcXVvdDsgcmVsYXRpb25zaGlwIChpLmUuIG9uZSByZXF1ZXN0IGlzIGZ1bGZpbGxpbmcgYW5vdGhlcikgb3IgYnkgaGF2aW5nIGEgY29tbW9uIHJlcXVpc2l0aW9uLiBSZXF1ZXN0cyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBzYW1lIHJlcXVpc2l0aW9uIGFyZSBnZW5lcmFsbHkgdHJlYXRlZCBpbmRlcGVuZGVudGx5IGZyb20gdGhlIHBlcnNwZWN0aXZlIG9mIGNoYW5naW5nIHRoZWlyIHN0YXRlIG9yIG1haW50YWluaW5nIHRoZW0gYWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGQgfCByZXZva2VkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG9yZGVyLiIgY29tbWVudD0iVGhlIHN0YXR1cyBpcyBnZW5lcmFsbHkgZnVsbHkgaW4gdGhlIGNvbnRyb2wgb2YgdGhlIHJlcXVlc3RlciAtIHRoZXkgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG9yZGVyIGlzIGRyYWZ0IG9yIGFjdGl2ZSBhbmQsIGFmdGVyIGl0IGhhcyBiZWVuIGFjdGl2YXRlZCwgY29tcGV0ZWQsIGNhbmNlbGxlZCBvciBzdXNwZW5kZWQuIFN0YXRlcyByZWxhdGluZyB0byB0aGUgYWN0aXZpdGllcyBvZiB0aGUgcGVyZm9ybWVyIGFyZSByZWZsZWN0ZWQgb24gZWl0aGVyIHRoZSBjb3JyZXNwb25kaW5nIGV2ZW50IChzZWUgW0V2ZW50IFBhdHRlcm5dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXZlbnQuaHRtbCkgZm9yIGdlbmVyYWwgZGlzY3Vzc2lvbikgb3IgdXNpbmcgdGhlIFtUYXNrXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Rhc2suaHRtbCkgcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0U3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIHN0YXR1cyBvZiBhIHNlcnZpY2Ugb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlNlcnZpY2VSZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvcG9zYWwgfCBwbGFuIHwgZGlyZWN0aXZlIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIGFuIG9yaWdpbmFsIG9yZGVyIG9yIGEgcmVmbGV4IG9yZGVyLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBpbnRlbnQgYWx0ZXJzIHdoZW4gYW5kIGhvdyB0aGUgcmVzb3VyY2UgaXMgYWN0dWFsbHkgYXBwbGljYWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RJbnRlbnQiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBzZXJ2aWNlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mIHNlcnZpY2UiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHNlcnZpY2UgZm9yIHNlYXJjaGluZywgc29ydGluZyBhbmQgZGlzcGxheSBwdXJwb3NlcyAoZS5nLiAmcXVvdDtTdXJnaWNhbCBQcm9jZWR1cmUmcXVvdDspLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4aXMgb2YgY2F0ZWdvcml6YXRpb24gZGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IG9yIHVzZSBjYXNlIGZvciByZXRyaWV2aW5nIG9yIGRpc3BsYXlpbmcgdGhlIHJlc291cmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdENhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2Ygc2VydmljZSIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgc2VydmljZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhpcyBvZiBjYXRlZ29yaXphdGlvbiBkZXBlbmRpbmcgb24gdGhlIGNvbnRleHQgb3IgdXNlIGNhc2UgZm9yIHJldHJpZXZpbmcgb3IgZGlzcGxheWluZyB0aGUgcmVzb3VyY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJOb3RlIHRoYXQgb3RoZXIgY29kZXMgYXJlIHBlcm1pdHRlZCwgc2VlIFtSZXF1aXJlZCBCaW5kaW5ncyBXaGVuIFNsaWNpbmcgYnkgVmFsdWUgU2V0c10oaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL2dlbmVyYWwtcmVxdWlyZW1lbnRzLmh0bWwjcmVxdWlyZWQtYmluZGluZ3Mtd2hlbi1zbGljaW5nLWJ5LXZhbHVlLXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgU2VydmljZVJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvTm90UGVyZm9ybSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUcnVlIGlmIHNlcnZpY2UvcHJvY2VkdXJlIHNob3VsZCBub3QgYmUgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJTZXQgdGhpcyB0byB0cnVlIGlmIHRoZSByZWNvcmQgaXMgc2F5aW5nIHRoYXQgdGhlIHNlcnZpY2UvcHJvY2VkdXJlIHNob3VsZCBOT1QgYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iSW4gZ2VuZXJhbCwgb25seSB0aGUgY29kZSBhbmQgdGltZWZyYW1lIHdpbGwgYmUgcHJlc2VudCwgdGhvdWdoIG9jY2FzaW9uYWwgYWRkaXRpb25hbCBxdWFsaWZpZXJzIHN1Y2ggYXMgYm9keSBzaXRlIG9yIGV2ZW4gcGVyZm9ybWVyIGNvdWxkIGJlIGluY2x1ZGVkIHRvIG5hcnJvdyB0aGUgc2NvcGUgb2YgdGhlIHByb2hpYml0aW9uLiAgSWYgdGhlIFNlcnZpY2VSZXF1ZXN0LmNvZGUgYW5kIFNlcnZpY2VSZXF1ZXN0LmRvTm90UGVyZm9ybSBib3RoIGNvbnRhaW4gbmVnYXRpb24sIHRoYXQgd2lsbCByZWluZm9yY2UgcHJvaGliaXRpb24gYW5kIHNob3VsZCBub3QgaGF2ZSBhIGRvdWJsZSBuZWdhdGl2ZSBpbnRlcnByZXRhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoYXQgaXMgYmVpbmcgcmVxdWVzdGVkL29yZGVyZWQiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIHNlcnZpY2UgKGkuZS4sIHByb2NlZHVyZSwgZGlhZ25vc3RpYyBpbnZlc3RpZ2F0aW9uLCBvciBwYW5lbCBvZiBpbnZlc3RpZ2F0aW9ucykgdGhhdCBoYXZlIGJlZW4gcmVxdWVzdGVkLiIgY29tbWVudD0iTWFueSBsYWJvcmF0b3J5IGFuZCByYWRpb2xvZ3kgcHJvY2VkdXJlIGNvZGVzIGVtYmVkIHRoZSBzcGVjaW1lbi9vcmdhbiBzeXN0ZW0gaW4gdGhlIHRlc3Qgb3JkZXIgbmFtZSwgZm9yIGV4YW1wbGUsICBzZXJ1bSBvciBzZXJ1bS9wbGFzbWEgZ2x1Y29zZSwgb3IgYSBjaGVzdCB4LXJheS4gVGhlIHNwZWNpbWVuIG1pZ2h0IG5vdCBiZSByZWNvcmRlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHRlc3QgY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JkZXJEZXRhaWwiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIG9yZGVyIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGRldGFpbHMgYW5kIGluc3RydWN0aW9ucyBhYm91dCB0aGUgaG93IHRoZSBzZXJ2aWNlcyBhcmUgdG8gYmUgZGVsaXZlcmVkLiAgIEZvciBleGFtcGxlLCBhbmQgb3JkZXIgZm9yIGEgdXJpbmFyeSBjYXRoZXRlciBtYXkgaGF2ZSBhbiBvcmRlciBkZXRhaWwgZm9yIGFuIGV4dGVybmFsIG9yIGluZHdlbGxpbmcgY2F0aGV0ZXIsIG9yIGFuIG9yZGVyIGZvciBhIGJhbmRhZ2UgbWF5IHJlcXVpcmUgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgc3BlY2lmeWluZyBob3cgdGhlIGJhbmRhZ2Ugc2hvdWxkIGJlIGFwcGxpZWQuIiBjb21tZW50PSJGb3IgaW5mb3JtYXRpb24gZnJvbSB0aGUgbWVkaWNhbCByZWNvcmQgaW50ZW5kZWQgdG8gc3VwcG9ydCB0aGUgZGVsaXZlcnkgb2YgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlcywgdXNlIHRoZSBgc3VwcG9ydGluZ0luZm9ybWF0aW9uYCBlbGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPcmRlckRldGFpbCIgZGVzY3JpcHRpb249IkNvZGlmaWVkIG9yZGVyIGVudHJ5IGRldGFpbHMgd2hpY2ggYXJlIGJhc2VkIG9uIG9yZGVyIGNvbnRleHQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGFtb3VudCIgZGVmaW5pdGlvbj0iQW4gYW1vdW50IG9mIHNlcnZpY2UgYmVpbmcgcmVxdWVzdGVkIHdoaWNoIGNhbiBiZSBhIHF1YW50aXR5ICggZm9yIGV4YW1wbGUgJDEsNTAwIGhvbWUgbW9kaWZpY2F0aW9uKSwgYSByYXRpbyAoIGZvciBleGFtcGxlLCAyMCBoYWxmIGRheSB2aXNpdHMgcGVyIG1vbnRoKSwgb3IgYSByYW5nZSAoMi4wIHRvIDEuOCBHeSBwZXIgZnJhY3Rpb24pLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSW5kaXZpZHVhbCBvciBFbnRpdHkgdGhlIHNlcnZpY2UgaXMgb3JkZXJlZCBmb3IiIGRlZmluaXRpb249Ik9uIHdob20gb3Igd2hhdCB0aGUgc2VydmljZSBpcyB0byBiZSBwZXJmb3JtZWQuIFRoaXMgaXMgdXN1YWxseSBhIGh1bWFuIHBhdGllbnQsIGJ1dCBjYW4gYWxzbyBiZSByZXF1ZXN0ZWQgb24gYW5pbWFscywgZ3JvdXBzIG9mIGh1bWFucyBvciBhbmltYWxzLCBkZXZpY2VzIHN1Y2ggYXMgZGlhbHlzaXMgbWFjaGluZXMsIG9yIGV2ZW4gbG9jYXRpb25zICh0eXBpY2FsbHkgZm9yIGVudmlyb25tZW50YWwgc2NhbnMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGluIHdoaWNoIHRoZSByZXF1ZXN0IHdhcyBjcmVhdGVkIiBkZWZpbml0aW9uPSJBbiBlbmNvdW50ZXIgdGhhdCBwcm92aWRlcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBoZWFsdGhjYXJlIGNvbnRleHQgaW4gd2hpY2ggdGhpcyByZXF1ZXN0IGlzIG1hZGUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoZW4gc2VydmljZSBzaG91bGQgb2NjdXIiIGRlZmluaXRpb249IlRoZSBkYXRlL3RpbWUgYXQgd2hpY2ggdGhlIHJlcXVlc3RlZCBzZXJ2aWNlIHNob3VsZCBvY2N1ci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc05lZWRlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcmVjb25kaXRpb25zIGZvciBzZXJ2aWNlIiBkZWZpbml0aW9uPSJJZiBhIENvZGVhYmxlQ29uY2VwdCBpcyBwcmVzZW50LCBpdCBpbmRpY2F0ZXMgdGhlIHByZS1jb25kaXRpb24gZm9yIHBlcmZvcm1pbmcgdGhlIHNlcnZpY2UuICBGb3IgZXhhbXBsZSAmcXVvdDtwYWluJnF1b3Q7LCAmcXVvdDtvbiBmbGFyZS11cCZxdW90OywgZXRjLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUFzTmVlZGVkUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGlkZW50aWZ5aW5nIHRoZSBwcmUtY29uZGl0aW9uIHRoYXQgc2hvdWxkIGhvbGQgcHJpb3IgdG8gcGVyZm9ybWluZyBhIHByb2NlZHVyZS4gIEZvciBleGFtcGxlICZxdW90O3BhaW4mcXVvdDssICZxdW90O29uIGZsYXJlLXVwJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRGF0ZSByZXF1ZXN0IHNpZ25lZCIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgcmVxdWVzdCB0cmFuc2l0aW9uZWQgdG8gYmVpbmcgYWN0aW9uYWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvL3doYXQgaXMgcmVxdWVzdGluZyBzZXJ2aWNlIiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCB3aG8gaW5pdGlhdGVkIHRoZSByZXF1ZXN0IGFuZCBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBhY3RpdmF0aW9uLiIgY29tbWVudD0iVGhpcyBub3QgdGhlIGRpc3BhdGNoZXIsIGJ1dCByYXRoZXIgd2hvIGlzIHRoZSBhdXRob3JpemVyLiAgVGhpcyBlbGVtZW50IGlzIG5vdCBpbnRlbmRlZCB0byBoYW5kbGUgZGVsZWdhdGlvbiB3aGljaCB3b3VsZCBnZW5lcmFsbHkgYmUgbWFuYWdlZCB0aHJvdWdoIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXJUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQZXJmb3JtZXIgcm9sZSIgZGVmaW5pdGlvbj0iRGVzaXJlZCB0eXBlIG9mIHBlcmZvcm1lciBmb3IgZG9pbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiIgY29tbWVudD0iVGhpcyBpcyBhICByb2xlLCBub3QgIGEgcGFydGljaXBhdGlvbiB0eXBlLiAgSW4gb3RoZXIgd29yZHMsIGRvZXMgbm90IGRlc2NyaWJlIHRoZSB0YXNrIGJ1dCBkZXNjcmliZXMgdGhlIGNhcGFjaXR5LiAgRm9yIGV4YW1wbGUsIOKAnGNvbXBvdW5kaW5nIHBoYXJtYWN54oCdLCDigJxwc3ljaGlhdHJpc3TigJ0gb3Ig4oCcaW50ZXJuYWwgcmVmZXJyYWzigJ0uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RQYXJ0aWNpcGFudFJvbGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyAmcXVvdDtQcmltYXJ5IHBoeXNpY2lhbiZxdW90OywgJnF1b3Q7VGVhbSBjb29yZGluYXRvciZxdW90OywgJnF1b3Q7Q2FyZWdpdmVyJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgcGVyZm9ybWVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4gIEZvciBleGFtcGxlLCB0aGUgc3VyZ2VvbiwgZGVybWF0b3BhdGhvbG9naXN0LCBlbmRvc2NvcGlzdCwgZXRjLiIgY29tbWVudD0iSWYgbXVsdGlwbGUgcGVyZm9ybWVycyBhcmUgcHJlc2VudCwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBsaXN0IG9mICphbHRlcm5hdGl2ZSogcGVyZm9ybWVycyB3aXRob3V0IGFueSBwcmVmZXJlbmNlIHJlZ2FyZGxlc3Mgb2Ygb3JkZXIuICBJZiBvcmRlciBvZiBwcmVmZXJlbmNlIGlzIG5lZWRlZCB1c2UgdGhlIFtyZXF1ZXN0LXBlcmZvcm1lck9yZGVyIGV4dGVuc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tcmVxdWVzdC1wZXJmb3JtZXJvcmRlci5odG1sKS4gIFVzZSBDYXJlVGVhbSB0byByZXByZXNlbnQgYSBncm91cCBvZiBwZXJmb3JtZXJzIChmb3IgZXhhbXBsZSwgUHJhY3RpdGlvbmVyIEEgKmFuZCogUHJhY3RpdGlvbmVyIEIpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlcXVlc3RlZCBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHByZWZlcnJlZCBsb2NhdGlvbihzKSB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBhY3R1YWxseSBoYXBwZW4gaW4gY29kZWQgb3IgZnJlZSB0ZXh0IGZvcm0uIEUuZy4gYXQgaG9tZSBvciBudXJzaW5nIGRheSBjYXJlIGNlbnRlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RMb2NhdGlvbiIgZGVzY3JpcHRpb249IkEgbG9jYXRpb24gdHlwZSB3aGVyZSBzZXJ2aWNlcyBhcmUgZGVsaXZlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgbG9jYXRpb24iIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIHRoZSB0aGUgcHJlZmVycmVkIGxvY2F0aW9uKHMpIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGFjdHVhbGx5IGhhcHBlbi4gRS5nLiBhdCBob21lIG9yIG51cnNpbmcgZGF5IGNhcmUgY2VudGVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEV4cGxhbmF0aW9uL0p1c3RpZmljYXRpb24gZm9yIHByb2NlZHVyZSBvciBzZXJ2aWNlIiBkZWZpbml0aW9uPSJBbiBleHBsYW5hdGlvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB3aHkgdGhpcyBzZXJ2aWNlIGlzIGJlaW5nIHJlcXVlc3RlZCBpbiBjb2RlZCBvciB0ZXh0dWFsIGZvcm0uICAgVGhpcyBpcyBvZnRlbiBmb3IgYmlsbGluZyBwdXJwb3Nlcy4gIE1heSByZWxhdGUgdG8gdGhlIHJlc291cmNlcyByZWZlcnJlZCB0byBpbiBgc3VwcG9ydGluZ0luZm9gLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHJlcHJlc2VudHMgd2h5IHRoZSByZWZlcnJhbCBpcyBiZWluZyBtYWRlIGFuZCBtYXkgYmUgdXNlZCB0byBkZWNpZGUgaG93IHRoZSBzZXJ2aWNlIHdpbGwgYmUgcGVyZm9ybWVkLCBvciBldmVuIGlmIGl0IHdpbGwgYmUgcGVyZm9ybWVkIGF0IGFsbC4gICBVc2UgYENvZGVhYmxlQ29uY2VwdC50ZXh0YCBlbGVtZW50IGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQgYXMgc2hvd24gaW4gdGhlIFtDVCBTY2FuIGV4YW1wbGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvc2VydmljZXJlcXVlc3QtZXhhbXBsZS1kaS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBFeHBsYW5hdGlvbi9KdXN0aWZpY2F0aW9uIGZvciBzZXJ2aWNlIG9yIHNlcnZpY2UiIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlIHRoYXQgcHJvdmlkZXMgYSBqdXN0aWZpY2F0aW9uIGZvciB3aHkgdGhpcyBzZXJ2aWNlIGlzIGJlaW5nIHJlcXVlc3RlZC4gICBNYXkgcmVsYXRlIHRvIHRoZSByZXNvdXJjZXMgcmVmZXJyZWQgdG8gaW4gYHN1cHBvcnRpbmdJbmZvYC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCByZXByZXNlbnRzIHdoeSB0aGUgcmVmZXJyYWwgaXMgYmVpbmcgbWFkZSBhbmQgbWF5IGJlIHVzZWQgdG8gZGVjaWRlIGhvdyB0aGUgc2VydmljZSB3aWxsIGJlIHBlcmZvcm1lZCwgb3IgZXZlbiBpZiBpdCB3aWxsIGJlIHBlcmZvcm1lZCBhdCBhbGwuICAgIFRvIGJlIGFzIHNwZWNpZmljIGFzIHBvc3NpYmxlLCAgYSByZWZlcmVuY2UgdG8gICpPYnNlcnZhdGlvbiogb3IgKkNvbmRpdGlvbiogc2hvdWxkIGJlIHVzZWQgaWYgYXZhaWxhYmxlLiAgT3RoZXJ3aXNlIHdoZW4gcmVmZXJlbmNpbmcgICpEaWFnbm9zdGljUmVwb3J0KiAgaXQgc2hvdWxkIGNvbnRhaW4gYSBmaW5kaW5nICBpbiBgRGlhZ25vc3RpY1JlcG9ydC5jb25jbHVzaW9uYCBhbmQvb3IgYERpYWdub3N0aWNSZXBvcnQuY29uY2x1c2lvbkNvZGVgLiAgIFdoZW4gdXNpbmcgYSByZWZlcmVuY2UgdG8gKkRvY3VtZW50UmVmZXJlbmNlKiwgdGhlIHRhcmdldCBkb2N1bWVudCBzaG91bGQgY29udGFpbiBjbGVhciBmaW5kaW5ncyBsYW5ndWFnZSBwcm92aWRpbmcgdGhlIHJlbGV2YW50IHJlYXNvbiBmb3IgdGhpcyBzZXJ2aWNlIHJlcXVlc3QuICBVc2UgIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBTZXJ2aWNlUmVxdWVzdC5yZWFzb25Db2RlYCBpZiB0aGUgZGF0YSBpcyBmcmVlICh1bmNvZGVkKSB0ZXh0IGFzIHNob3duIGluIHRoZSBbQ1QgU2NhbiBleGFtcGxlXShzZXJ2aWNlcmVxdWVzdC1leGFtcGxlLWRpLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIG5lZWRlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm8iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNsaW5pY2FsIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGNsaW5pY2FsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwYXRpZW50IG9yIHNwZWNpbWVuIHRoYXQgbWF5IGluZmx1ZW5jZSB0aGUgc2VydmljZXMgb3IgdGhlaXIgaW50ZXJwcmV0YXRpb25zLiAgICAgVGhpcyBpbmZvcm1hdGlvbiBpbmNsdWRlcyBkaWFnbm9zaXMsIGNsaW5pY2FsIGZpbmRpbmdzIGFuZCBvdGhlciBvYnNlcnZhdGlvbnMuICBJbiBsYWJvcmF0b3J5IG9yZGVyaW5nIHRoZXNlIGFyZSB0eXBpY2FsbHkgcmVmZXJyZWQgdG8gYXMgJnF1b3Q7YXNrIGF0IG9yZGVyIGVudHJ5IHF1ZXN0aW9ucyAoQU9FcykmcXVvdDsuICBUaGlzIGluY2x1ZGVzIG9ic2VydmF0aW9ucyBleHBsaWNpdGx5IHJlcXVlc3RlZCBieSB0aGUgcHJvZHVjZXIgKGZpbGxlcikgdG8gcHJvdmlkZSBjb250ZXh0IG9yIHN1cHBvcnRpbmcgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGNvbXBsZXRlIHRoZSBvcmRlci4gRm9yIGV4YW1wbGUsICByZXBvcnRpbmcgdGhlIGFtb3VudCBvZiBpbnNwaXJlZCBveHlnZW4gZm9yIGJsb29kIGdhcyBtZWFzdXJlbWVudHMuIiBjb21tZW50PSJUbyByZXByZXNlbnQgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRoZSBzZXJ2aWNlcyBhcmUgdG8gYmUgZGVsaXZlcmVkIHVzZSB0aGUgYGluc3RydWN0aW9uc2AgZWxlbWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlByb2NlZHVyZSBTYW1wbGVzIiBkZWZpbml0aW9uPSJPbmUgb3IgbW9yZSBzcGVjaW1lbnMgdGhhdCB0aGUgbGFib3JhdG9yeSBwcm9jZWR1cmUgd2lsbCB1c2UuIiBjb21tZW50PSJNYW55IGRpYWdub3N0aWMgcHJvY2VkdXJlcyBuZWVkIGEgc3BlY2ltZW4sIGJ1dCB0aGUgcmVxdWVzdCBpdHNlbGYgaXMgbm90IGFjdHVhbGx5IGFib3V0IHRoZSBzcGVjaW1lbi4gVGhpcyBlbGVtZW50IGlzIGZvciB3aGVuIHRoZSBkaWFnbm9zdGljIGlzIHJlcXVlc3RlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIHNwZWNpbWVucyBhbmQgdGhlIHJlcXVlc3QgcG9pbnRzIHRvIHRoZSBzcGVjaW1lbiBpdCBhcHBsaWVzIHRvLiAgICBDb252ZXJzZWx5LCBpZiB0aGUgcmVxdWVzdCBpcyBlbnRlcmVkIGZpcnN0IHdpdGggYW4gdW5rbm93biBzcGVjaW1lbiwgdGhlbiB0aGUgW1NwZWNpbWVuXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3NwZWNpbWVuLmh0bWwpIHJlc291cmNlIHBvaW50cyB0byB0aGUgU2VydmljZVJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbiBvbiBCb2R5IiBkZWZpbml0aW9uPSJBbmF0b21pYyBsb2NhdGlvbiB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBiZSBwZXJmb3JtZWQuIFRoaXMgaXMgdGhlIHRhcmdldCBzaXRlLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiB0aGUgY29kZSBmb3VuZCBpbiBTZXJ2aWNlUmVxdWVzdC5jb2RlLiAgSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb2RlZCBlbGVtZW50IChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSAgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbcHJvY2VkdXJlLXRhcmdldEJvZHlTdHJ1Y3R1cmVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXByb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMiIGRlZmluaXRpb249IkFueSBvdGhlciBub3RlcyBhbmQgY29tbWVudHMgbWFkZSBhYm91dCB0aGUgc2VydmljZSByZXF1ZXN0LiBGb3IgZXhhbXBsZSwgaW50ZXJuYWwgYmlsbGluZyBub3Rlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudEluc3RydWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXRpZW50IG9yIGNvbnN1bWVyLW9yaWVudGVkIGluc3RydWN0aW9ucyIgZGVmaW5pdGlvbj0iSW5zdHJ1Y3Rpb25zIGluIHRlcm1zIHRoYXQgYXJlIHVuZGVyc3Rvb2QgYnkgdGhlIHBhdGllbnQgb3IgY29uc3VtZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVsZXZhbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBwcm92ZW5hbmNlIiBkZWZpbml0aW9uPSJLZXkgZXZlbnRzIGluIHRoZSBoaXN0b3J5IG9mIHRoZSByZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuJiMxMztUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuICAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuICBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUmIzEzO0FsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0icGVyZm9ybWVyIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdEludGVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdFByaW9yaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNlcnZpY2VSZXF1ZXN0U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNpZ25hdHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1NpZ25hdHVyZSIgbGFiZWw9IlNpZ25hdHVyZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0aW9uIG9mIHRoZSByZWFzb24gdGhlIGVudGl0eSBzaWduZWQgdGhlIG9iamVjdChzKSIgZGVmaW5pdGlvbj0iQW4gaW5kaWNhdGlvbiBvZiB0aGUgcmVhc29uIHRoYXQgdGhlIGVudGl0eSBzaWduZWQgdGhpcyBkb2N1bWVudC4gVGhpcyBtYXkgYmUgZXhwbGljaXRseSBpbmNsdWRlZCBhcyBwYXJ0IG9mIHRoZSBzaWduYXR1cmUgaW5mb3JtYXRpb24gYW5kIGNhbiBiZSB1c2VkIHdoZW4gZGV0ZXJtaW5pbmcgYWNjb3VudGFiaWxpdHkgZm9yIHZhcmlvdXMgYWN0aW9ucyBjb25jZXJuaW5nIHRoZSBkb2N1bWVudC4iIGNvbW1lbnQ9IkV4YW1wbGVzIGluY2x1ZGUgYXR0ZXN0aW5nIHRvOiBhdXRob3JzaGlwLCBjb3JyZWN0IHRyYW5zY3JpcHRpb24sIGFuZCB3aXRuZXNzIG9mIHNwZWNpZmljIGV2ZW50LiBBbHNvIGtub3duIGFzIGEgJmFtcDtxdW90O0NvbW1pdG1lbnQgVHlwZSBJbmRpY2F0aW9uJmFtcDtxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2lnbmF0dXJlVHlwZSIgZGVzY3JpcHRpb249IkFuIGluZGljYXRpb24gb2YgdGhlIHJlYXNvbiB0aGF0IGFuIGVudGl0eSBzaWduZWQgdGhlIG9iamVjdC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0id2hlbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBzaWduYXR1cmUgd2FzIGNyZWF0ZWQiIGRlZmluaXRpb249IldoZW4gdGhlIGRpZ2l0YWwgc2lnbmF0dXJlIHdhcyBzaWduZWQuIiBjb21tZW50PSJUaGlzIHNob3VsZCBhZ3JlZSB3aXRoIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgc2lnbmF0dXJlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9IndobyIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gc2lnbmVkIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhbiBhcHBsaWNhdGlvbi11c2FibGUgZGVzY3JpcHRpb24gb2YgdGhlIGlkZW50aXR5IHRoYXQgc2lnbmVkICAoZS5nLiB0aGUgc2lnbmF0dXJlIHVzZWQgdGhlaXIgcHJpdmF0ZSBrZXkpLiIgY29tbWVudD0iVGhpcyBzaG91bGQgYWdyZWUgd2l0aCB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIHNpZ25hdHVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbkJlaGFsZk9mIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBwYXJ0eSByZXByZXNlbnRlZCIgZGVmaW5pdGlvbj0iQSByZWZlcmVuY2UgdG8gYW4gYXBwbGljYXRpb24tdXNhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBpZGVudGl0eSB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IHRoZSBzaWduYXR1cmUuIiBjb21tZW50PSJUaGUgcGFydHkgdGhhdCBjYW4ndCBzaWduLiBGb3IgZXhhbXBsZSBhIGNoaWxkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldEZvcm1hdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5NaW1lVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdGVjaG5pY2FsIGZvcm1hdCBvZiB0aGUgc2lnbmVkIHJlc291cmNlcyIgZGVmaW5pdGlvbj0iQSBtaW1lIHR5cGUgdGhhdCBpbmRpY2F0ZXMgdGhlIHRlY2huaWNhbCBmb3JtYXQgb2YgdGhlIHRhcmdldCByZXNvdXJjZXMgc2lnbmVkIGJ5IHRoZSBzaWduYXR1cmUuIiBjb21tZW50PSImcXVvdDt4bWwmcXVvdDssICZxdW90O2pzb24mcXVvdDsgYW5kICZxdW90O3R0bCZxdW90OyBhcmUgYWxsb3dlZCwgd2hpY2ggZGVzY3JpYmUgdGhlIHNpbXBsZSBlbmNvZGluZ3MgZGVzY3JpYmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uIChhbmQgaW1wbHkgYXBwcm9wcmlhdGUgYnVuZGxlIHN1cHBvcnQpLiBPdGhlcndpc2UsIG1pbWUgdHlwZXMgYXJlIGxlZ2FsIGhlcmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWltZVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgbWltZSB0eXBlIG9mIGFuIGF0dGFjaG1lbnQuIEFueSB2YWxpZCBtaW1lIHR5cGUgaXMgYWxsb3dlZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzaWdGb3JtYXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWltZVR5cGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHRlY2huaWNhbCBmb3JtYXQgb2YgdGhlIHNpZ25hdHVyZSIgZGVmaW5pdGlvbj0iQSBtaW1lIHR5cGUgdGhhdCBpbmRpY2F0ZXMgdGhlIHRlY2huaWNhbCBmb3JtYXQgb2YgdGhlIHNpZ25hdHVyZS4gSW1wb3J0YW50IG1pbWUgdHlwZXMgYXJlIGFwcGxpY2F0aW9uL3NpZ25hdHVyZSt4bWwgZm9yIFggTUwgRGlnU2lnLCBhcHBsaWNhdGlvbi9qb3NlIGZvciBKV1MsIGFuZCBpbWFnZS8qIGZvciBhIGdyYXBoaWNhbCBpbWFnZSBvZiBhIHNpZ25hdHVyZSwgZXRjLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1pbWVUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIG1pbWUgdHlwZSBvZiBhbiBhdHRhY2htZW50LiBBbnkgdmFsaWQgbWltZSB0eXBlIGlzIGFsbG93ZWQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBzaWduYXR1cmUgY29udGVudCAoWE1MIERpZ1NpZy4gSldTLCBwaWN0dXJlLCBldGMuKSIgZGVmaW5pdGlvbj0iVGhlIGJhc2U2NCBlbmNvZGluZyBvZiB0aGUgU2lnbmF0dXJlIGNvbnRlbnQuIFdoZW4gc2lnbmF0dXJlIGlzIG5vdCByZWNvcmRlZCBlbGVjdHJvbmljYWxseSB0aGlzIGVsZW1lbnQgd291bGQgYmUgZW1wdHkuIiBjb21tZW50PSJXaGVyZSB0aGUgc2lnbmF0dXJlIHR5cGUgaXMgYW4gWE1MIERpZ1NpZywgdGhlIHNpZ25lZCBjb250ZW50IGlzIGEgRkhJUiBSZXNvdXJjZShzKSwgdGhlIHNpZ25hdHVyZSBpcyBvZiB0aGUgWE1MIGZvcm0gb2YgdGhlIFJlc291cmNlKHMpIHVzaW5nICBYTUwtU2lnbmF0dXJlIChYTUxESUcpICZxdW90O0RldGFjaGVkIFNpZ25hdHVyZSZxdW90OyBmb3JtLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2ltcGxlT2JzZXJ2YXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXNpbXBsZS1vYnNlcnZhdGlvbiIgbGFiZWw9IlFJQ29yZSBTaW1wbGUgT2JzZXJ2YXRpb24iIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCB8IGNvcnJlY3RlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUeXBlIG9mIG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGlzIHZhbHVlIHNldCBzcGVjaWZpZXMgdGhlIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFVTIENvcmUgUHJvZmlsZXMgb3Igb3RoZXIgcmVzb3VyY2UgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVVMgQ29yZSBPYnNlcnZhdGlvbnMsIERvY3VtZW50UmVmZXJlbmNlLCBRdWVzdGlvbm5haXJlUmVzcG9uc2Ugb3Igb3RoZXIgcmVzb3VyY2UgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNvcnREaXJlY3Rpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3BlY2ltZW4uQ29sbGVjdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBjb2xsZWN0ZWQgdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJQZXJzb24gd2hvIGNvbGxlY3RlZCB0aGUgc3BlY2ltZW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbGxlY3Rpb24gdGltZSIgZGVmaW5pdGlvbj0iVGltZSB3aGVuIHNwZWNpbWVuIHdhcyBjb2xsZWN0ZWQgZnJvbSBzdWJqZWN0IC0gdGhlIHBoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImR1cmF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBsb25nIGl0IHRvb2sgdG8gY29sbGVjdCBzcGVjaW1lbiIgZGVmaW5pdGlvbj0iVGhlIHNwYW4gb2YgdGltZSBvdmVyIHdoaWNoIHRoZSBjb2xsZWN0aW9uIG9mIGEgc3BlY2ltZW4gb2NjdXJyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHF1YW50aXR5IG9mIHNwZWNpbWVuIGNvbGxlY3RlZCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IG9mIHNwZWNpbWVuIGNvbGxlY3RlZDsgZm9yIGluc3RhbmNlIHRoZSB2b2x1bWUgb2YgYSBibG9vZCBzYW1wbGUsIG9yIHRoZSBwaHlzaWNhbCBtZWFzdXJlbWVudCBvZiBhbiBhbmF0b21pYyBwYXRob2xvZ3kgc2FtcGxlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGVjaG5pcXVlIHVzZWQgdG8gcGVyZm9ybSBjb2xsZWN0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGVkIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHRlY2huaXF1ZSB0aGF0IGlzIHVzZWQgdG8gcGVyZm9ybSB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNwZWNpbWVuQ29sbGVjdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249IlRoZSAgdGVjaG5pcXVlIHRoYXQgaXMgdXNlZCB0byBwZXJmb3JtIHRoZSBwcm9jZWR1cmUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW5hdG9taWNhbCBjb2xsZWN0aW9uIHNpdGUiIGRlZmluaXRpb249IkFuYXRvbWljYWwgbG9jYXRpb24gZnJvbSB3aGljaCB0aGUgc3BlY2ltZW4gd2FzIGNvbGxlY3RlZCAoaWYgc3ViamVjdCBpcyBhIHBhdGllbnQpLiBUaGlzIGlzIHRoZSB0YXJnZXQgc2l0ZS4gIFRoaXMgZWxlbWVudCBpcyBub3QgdXNlZCBmb3IgZW52aXJvbm1lbnRhbCBzcGVjaW1lbnMuIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb2RlZCBlbGVtZW50IChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSAgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZhc3RpbmdTdGF0dXMiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hldGhlciBvciBob3cgbG9uZyBwYXRpZW50IGFic3RhaW5lZCBmcm9tIGZvb2QgYW5kL29yIGRyaW5rIiBkZWZpbml0aW9uPSJBYnN0aW5lbmNlIG9yIHJlZHVjdGlvbiBmcm9tIHNvbWUgb3IgYWxsIGZvb2QsIGRyaW5rLCBvciBib3RoLCBmb3IgYSBwZXJpb2Qgb2YgdGltZSBwcmlvciB0byBzYW1wbGUgY29sbGVjdGlvbi4iIGNvbW1lbnQ9IlJlcHJlc2VudGluZyBmYXN0aW5nIHN0YXR1cyB1c2luZyB0aGlzIGVsZW1lbnQgaXMgcHJlZmVycmVkIHRvIHJlcHJlc2VudGluZyBpdCB3aXRoIGFuIG9ic2VydmF0aW9uIHVzaW5nIGEgJ3ByZS1jb29yZGluYXRlZCBjb2RlJyAgc3VjaCBhcyAgTE9JTkMgMjAwNS03IChDYWxjaXVtIFtNb2xlcy/igIt0aW1lXSBpbiAyIGhvdXIgVXJpbmUgLS0xMiBob3VycyBmYXN0aW5nKSwgb3IgIHVzaW5nICBhIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBgIHN1Y2ggYXMgYE9ic2VydmF0aW9uLmNvbXBvbmVudCBjb2RlYCAgPSBMT0lOQyA0OTU0MS02IChGYXN0aW5nIHN0YXR1cyAtIFJlcG9ydGVkKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRmFzdGluZ1N0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIGZhc3Rpbmcgc3RhdHVzIG9mIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lbi5Db250YWluZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZCBmb3IgdGhlIGNvbnRhaW5lciIgZGVmaW5pdGlvbj0iSWQgZm9yIGNvbnRhaW5lci4gVGhlcmUgbWF5IGJlIG11bHRpcGxlOyBhIG1hbnVmYWN0dXJlcidzIGJhciBjb2RlLCBsYWIgYXNzaWduZWQgaWRlbnRpZmllciwgZXRjLiBUaGUgY29udGFpbmVyIElEIG1heSBkaWZmZXIgZnJvbSB0aGUgc3BlY2ltZW4gaWQgaW4gc29tZSBjaXJjdW1zdGFuY2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUgY29udGFpbmVyIiBkZWZpbml0aW9uPSJUZXh0dWFsIGRlc2NyaXB0aW9uIG9mIHRoZSBjb250YWluZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBjb250YWluZXIgZGlyZWN0bHkgYXNzb2NpYXRlZCB3aXRoIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBjb250YWluZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaW1lbiAoZS5nLiBzbGlkZSwgYWxpcXVvdCwgZXRjLikuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3BlY2ltZW5Db250YWluZXJUeXBlIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBzcGVjaW1lbiBjb250YWluZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXBhY2l0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb250YWluZXIgdm9sdW1lIG9yIHNpemUiIGRlZmluaXRpb249IlRoZSBjYXBhY2l0eSAodm9sdW1lIG9yIG90aGVyIG1lYXN1cmUpIHRoZSBjb250YWluZXIgbWF5IGNvbnRhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW5RdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJRdWFudGl0eSBvZiBzcGVjaW1lbiB3aXRoaW4gY29udGFpbmVyIiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgb2Ygc3BlY2ltZW4gaW4gdGhlIGNvbnRhaW5lcjsgbWF5IGJlIHZvbHVtZSwgZGltZW5zaW9ucywgb3Igb3RoZXIgYXBwcm9wcmlhdGUgbWVhc3VyZW1lbnRzLCBkZXBlbmRpbmcgb24gdGhlIHNwZWNpbWVuIHR5cGUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkaXRpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWRkaXRpdmUgYXNzb2NpYXRlZCB3aXRoIGNvbnRhaW5lciIgZGVmaW5pdGlvbj0iSW50cm9kdWNlZCBzdWJzdGFuY2UgdG8gcHJlc2VydmUsIG1haW50YWluIG9yIGVuaGFuY2UgdGhlIHNwZWNpbWVuLiBFeGFtcGxlczogRm9ybWFsaW4sIENpdHJhdGUsIEVEVEEuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTcGVjaW1lbkNvbnRhaW5lckFkZGl0aXZlIiBkZXNjcmlwdGlvbj0iU3Vic3RhbmNlIGFkZGVkIHRvIHNwZWNpbWVuIGNvbnRhaW5lci4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3BlY2ltZW4uUHJvY2Vzc2luZyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHR1YWwgZGVzY3JpcHRpb24gb2YgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUZXh0dWFsIGRlc2NyaXB0aW9uIG9mIHByb2NlZHVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9jZWR1cmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGljYXRlcyB0aGUgdHJlYXRtZW50IHN0ZXAgIGFwcGxpZWQgdG8gdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJBIGNvZGVkIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHByb2NlZHVyZSB1c2VkIHRvIHByb2Nlc3MgdGhlIHNwZWNpbWVuLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNwZWNpbWVuUHJvY2Vzc2luZ1Byb2NlZHVyZSIgZGVzY3JpcHRpb249IlR5cGUgaW5kaWNhdGluZyB0aGUgdGVjaG5pcXVlIHVzZWQgdG8gcHJvY2VzcyB0aGUgc3BlY2ltZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRpdGl2ZSIgZGVzY3JpcHRpb249Ik1hdGVyaWFsIHVzZWQgaW4gdGhlIHByb2Nlc3Npbmcgc3RlcCIgZGVmaW5pdGlvbj0iTWF0ZXJpYWwgdXNlZCBpbiB0aGUgcHJvY2Vzc2luZyBzdGVwLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGF0ZSBhbmQgdGltZSBvZiBzcGVjaW1lbiBwcm9jZXNzaW5nIiBkZWZpbml0aW9uPSJBIHJlY29yZCBvZiB0aGUgdGltZSBvciBwZXJpb2Qgd2hlbiB0aGUgc3BlY2ltZW4gcHJvY2Vzc2luZyBvY2N1cnJlZC4gIEZvciBleGFtcGxlIHRoZSB0aW1lIG9mIHNhbXBsZSBmaXhhdGlvbiBvciB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHNhbXBsZSB3YXMgaW4gZm9ybWFsaW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lblN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3Vic3RhbmNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1zdWJzdGFuY2UiIGxhYmVsPSJRSUNvcmUgU3Vic3RhbmNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc3Vic3RhbmNlLiIgY29tbWVudD0iVGhpcyBpZGVudGlmaWVyIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUga2luZCBvZiBzdWJzdGFuY2UgaW4gY29udHJhc3QgdG8gdGhlICBTdWJzdGFuY2UuaW5zdGFuY2UuaWRlbnRpZmllciB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHBhY2thZ2UvY29udGFpbmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRkhJUlN1YnN0YW5jZVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhY3RpdmUgfCBpbmFjdGl2ZSB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSBpZiB0aGUgc3Vic3RhbmNlIGlzIGFjdGl2ZWx5IHVzZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRkhJUlN1YnN0YW5jZVN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZSB0byBpbmRpY2F0ZSBpZiB0aGUgc3Vic3RhbmNlIGlzIGFjdGl2ZWx5IHVzZWQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IGNsYXNzL3R5cGUgb2Ygc3Vic3RhbmNlIHRoaXMgaXMiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBzdWJzdGFuY2UuICBUaGlzIGlzIHVzZWQgIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gICBNb3JlIGZpbmUtZ3JhaW5lZCBmaWx0ZXJpbmcgY2FuIGJlIHBlcmZvcm1lZCB1c2luZyB0aGUgbWV0YWRhdGEgYW5kL29yIHRlcm1pbm9sb2d5IGhpZXJhcmNoeSBpbiBTdWJzdGFuY2UuY29kZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3Vic3RhbmNlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDYXRlZ29yeSBvciBjbGFzc2lmaWNhdGlvbiBvZiBzdWJzdGFuY2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgSWYgdGhpcyBkZXNjcmliZXMgYSBzcGVjaWZpYyBwYWNrYWdlL2NvbnRhaW5lciBvZiB0aGUgc3Vic3RhbmNlIiBkZWZpbml0aW9uPSJBIGNvZGUgKG9yIHNldCBvZiBjb2RlcykgdGhhdCBpZGVudGlmeSB0aGlzIHN1YnN0YW5jZS4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWxseSBkZWZpbmVkIGNvZGUuICBJdCBjb3VsZCBhbHNvIGJlIGEgbG9jYWxseSBhc3NpZ25lZCBjb2RlIChlLmcuIGEgZm9ybXVsYXJ5KSwgIG9wdGlvbmFsbHkgd2l0aCB0cmFuc2xhdGlvbnMgdG8gdGhlIHN0YW5kYXJkIGRydWcgY29kZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlN1YnN0YW5jZSBjb2RlcyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUgc3Vic3RhbmNlLCBjb21tZW50cyIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiB0aGUgc3Vic3RhbmNlIC0gaXRzIGFwcGVhcmFuY2UsIGhhbmRsaW5nIHJlcXVpcmVtZW50cywgYW5kIG90aGVyIHVzYWdlIG5vdGVzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbmNlIiBkZXNjcmlwdGlvbj0iSWYgdGhpcyBkZXNjcmliZXMgYSBzcGVjaWZpYyBwYWNrYWdlL2NvbnRhaW5lciBvZiB0aGUgc3Vic3RhbmNlIiBkZWZpbml0aW9uPSJTdWJzdGFuY2UgbWF5IGJlIHVzZWQgdG8gZGVzY3JpYmUgYSBraW5kIG9mIHN1YnN0YW5jZSwgb3IgYSBzcGVjaWZpYyBwYWNrYWdlL2NvbnRhaW5lciBvZiB0aGUgc3Vic3RhbmNlOiBhbiBpbnN0YW5jZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3Vic3RhbmNlLkluc3RhbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImluZ3JlZGllbnQiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGlvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3Vic3RhbmNlIiBkZWZpbml0aW9uPSJBIHN1YnN0YW5jZSBjYW4gYmUgY29tcG9zZWQgb2Ygb3RoZXIgc3Vic3RhbmNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3Vic3RhbmNlLkluZ3JlZGllbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UuSW5ncmVkaWVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUmF0aW8iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9SYXRpbygldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE9wdGlvbmFsIGFtb3VudCAoY29uY2VudHJhdGlvbikiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb2YgdGhlIGluZ3JlZGllbnQgaW4gdGhlIHN1YnN0YW5jZSAtIGEgY29uY2VudHJhdGlvbiByYXRpby4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGFuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEEgY29tcG9uZW50IG9mIHRoZSBzdWJzdGFuY2UiIGRlZmluaXRpb249IkFub3RoZXIgc3Vic3RhbmNlIHRoYXQgaXMgYSBjb21wb25lbnQgb2YgdGhpcyBzdWJzdGFuY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UuSW5zdGFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgb2YgdGhlIHBhY2thZ2UvY29udGFpbmVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGFja2FnZS9jb250YWluZXIgKHVzdWFsbHkgYSBsYWJlbCBhZmZpeGVkIGRpcmVjdGx5KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBpcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBubyBsb25nZXIgdmFsaWQgdG8gdXNlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSBzdWJzdGFuY2UgaXMgbm8gbG9uZ2VyIHZhbGlkIHRvIHVzZS4gRm9yIHNvbWUgc3Vic3RhbmNlcywgYSBzaW5nbGUgYXJiaXRyYXJ5IGRhdGUgaXMgdXNlZCBmb3IgZXhwaXJ5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBbW91bnQgb2Ygc3Vic3RhbmNlIGluIHRoZSBwYWNrYWdlIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIHRoZSBzdWJzdGFuY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUYXNrIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS10YXNrIiBsYWJlbD0iUUlDb3JlIFRhc2siIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGFzayBJbnN0YW5jZSBJZGVudGlmaWVyIiBkZWZpbml0aW9uPSJUaGUgYnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhpcyB0YXNrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZvcm1hbCBkZWZpbml0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSAqRkhJUiotZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgVGFzay4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZvcm1hbCBkZWZpbml0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gKmV4dGVybmFsbHkqIG1haW50YWluZWQgIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBUYXNrLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IGZ1bGZpbGxlZCBieSB0aGlzIHRhc2siIGRlZmluaXRpb249IkJhc2VkT24gcmVmZXJzIHRvIGEgaGlnaGVyLWxldmVsIGF1dGhvcml6YXRpb24gdGhhdCB0cmlnZ2VyZWQgdGhlIGNyZWF0aW9uIG9mIHRoZSB0YXNrLiAgSXQgcmVmZXJlbmNlcyBhICZxdW90O3JlcXVlc3QmcXVvdDsgcmVzb3VyY2Ugc3VjaCBhcyBhIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgU2VydmljZVJlcXVlc3QsIENhcmVQbGFuLCBldGMuIHdoaWNoIGlzIGRpc3RpbmN0IGZyb20gdGhlICZxdW90O3JlcXVlc3QmcXVvdDsgcmVzb3VyY2UgdGhlIHRhc2sgaXMgc2Vla2luZyB0byBmdWxmaWxsLiAgVGhpcyBsYXR0ZXIgcmVzb3VyY2UgaXMgcmVmZXJlbmNlZCBieSBGb2N1c09uLiAgRm9yIGV4YW1wbGUsIGJhc2VkIG9uIGEgU2VydmljZVJlcXVlc3QgKD0gQmFzZWRPbiksIGEgdGFzayBpcyBjcmVhdGVkIHRvIGZ1bGZpbGwgYSBwcm9jZWR1cmVSZXF1ZXN0ICggPSBGb2N1c09uICkgdG8gY29sbGVjdCBhIHNwZWNpbWVuIGZyb20gYSBwYXRpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imdyb3VwSWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iUmVxdWlzaXRpb24gb3IgZ3JvdXBlciBpZCIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciB0aGF0IGxpbmtzIHRvZ2V0aGVyIG11bHRpcGxlIHRhc2tzIGFuZCBvdGhlciByZXF1ZXN0cyB0aGF0IHdlcmUgY3JlYXRlZCBpbiB0aGUgc2FtZSBjb250ZXh0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSB0YXNrIiBkZWZpbml0aW9uPSJUYXNrIHRoYXQgdGhpcyBwYXJ0aWN1bGFyIHRhc2sgaXMgcGFydCBvZi4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIHVzdWFsbHkgYmUgMC4uMS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBkcmFmdOKAiyB8IHJlcXVlc3RlZOKAiyB8IHJlY2VpdmVk4oCLIHwgYWNjZXB0ZWTigIsgfCByZWFkeeKAiyB8IGNhbmNlbGxlZOKAiyB8IGluLXByb2dyZXNz4oCLIHwgb24taG9sZOKAiyB8IGZhaWxlZOKAiyB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgdGFzay4iPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJBbiBleHBsYW5hdGlvbiBhcyB0byB3aHkgdGhpcyB0YXNrIGlzIGhlbGQsIGZhaWxlZCwgd2FzIHJlZnVzZWQsIGV0Yy4iIGNvbW1lbnQ9IlRoaXMgYXBwbGllcyB0byB0aGUgY3VycmVudCBzdGF0dXMuICBMb29rIGF0IHRoZSBoaXN0b3J5IG9mIHRoZSB0YXNrIHRvIHNlZSByZWFzb25zIGZvciBwYXN0IHN0YXR1c2VzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSB0aGUgcmVhc29uIGZvciBjdXJyZW50IHN0YXR1cy4gIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJ1c2luZXNzU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuICZxdW90O1NwZWNpbWVuIGNvbGxlY3RlZCZxdW90OywgJnF1b3Q7SVYgcHJlcHBlZCZxdW90OyIgZGVmaW5pdGlvbj0iQ29udGFpbnMgYnVzaW5lc3Mtc3BlY2lmaWMgbnVhbmNlcyBvZiB0aGUgYnVzaW5lc3Mgc3RhdGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0J1c2luZXNzU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGRvbWFpbi1zcGVjaWZpYyBidXNpbmVzcy1jb250ZXh0dWFsIHN1Yi1zdGF0ZSBvZiB0aGUgdGFzay4gIEZvciBleGFtcGxlOiAmcXVvdDtCbG9vZCBkcmF3biZxdW90OywgJnF1b3Q7SVYgaW5zZXJ0ZWQmcXVvdDssICZxdW90O0F3YWl0aW5nIHBoeXNpY2lhbiBzaWduYXR1cmUmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrSW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSB1bmtub3duIHwgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlICZxdW90O2xldmVsJnF1b3Q7IG9mIGFjdGlvbmFiaWxpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBUYXNrLCBpLmUuIGkrUls5XUNzIHRoaXMgYSBwcm9wb3NlZCB0YXNrLCBhIHBsYW5uZWQgdGFzaywgYW4gYWN0aW9uYWJsZSB0YXNrLCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgaW1tdXRhYmxlLiAgUHJvcG9zZWQgdGFza3MsIHBsYW5uZWQgdGFza3MsIGV0Yy4gbXVzdCBiZSBkaXN0aW5jdCBpbnN0YW5jZXMuJiMxMDsmIzEwO0luIG1vc3QgY2FzZXMsIFRhc2tzIHdpbGwgaGF2ZSBhbiBpbnRlbnQgb2YgJnF1b3Q7b3JkZXImcXVvdDsuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0ludGVudCIgZGVzY3JpcHRpb249IkRpc3Rpbmd1aXNoZXMgd2hldGhlciB0aGUgdGFzayBpcyBhIHByb3Bvc2FsLCBwbGFuIG9yIGZ1bGwgb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFza1ByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSByb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgVGFzayBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgdGFzaydzIHByaW9yaXR5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUYXNrIFR5cGUiIGRlZmluaXRpb249IkEgbmFtZSBvciBjb2RlIChvciBib3RoKSBicmllZmx5IGRlc2NyaWJpbmcgd2hhdCB0aGUgdGFzayBpbnZvbHZlcy4iIGNvbW1lbnQ9IlRoZSB0aXRsZSAoZWcgJnF1b3Q7TXkgVGFza3MmcXVvdDssICZxdW90O091dHN0YW5kaW5nIFRhc2tzIGZvciBQYXRpZW50IFgmcXVvdDspIHNob3VsZCBnbyBpbnRvIHRoZSBjb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSB3aGF0IHRoZSB0YXNrIGludm9sdmVzLiBUaGVzZSB3aWxsIHR5cGljYWxseSBiZSBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgd29ya2Zsb3ciIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikh1bWFuLXJlYWRhYmxlIGV4cGxhbmF0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IkEgZnJlZS10ZXh0IGRlc2NyaXB0aW9uIG9mIHdoYXQgaXMgdG8gYmUgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoYXQgdGFzayBpcyBhY3Rpbmcgb24iIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IGJlaW5nIGFjdGlvbmVkIG9yIHRoZSByZXNvdXJjZSBiZWluZyBtYW5pcHVsYXRlZCBieSB0aGlzIHRhc2suIiBjb21tZW50PSJJZiBtdWx0aXBsZSByZXNvdXJjZXMgbmVlZCB0byBiZSBtYW5pcHVsYXRlZCwgdXNlIHN1Yi10YXNrcy4gIChUaGlzIGVuc3VyZXMgdGhhdCBzdGF0dXMgY2FuIGJlIHRyYWNrZWQgaW5kZXBlbmRlbnRseSBmb3IgZWFjaCByZWZlcmVuY2VkIHJlc291cmNlLikuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkJlbmVmaWNpYXJ5IG9mIHRoZSBUYXNrIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IHdobyBiZW5lZml0cyBmcm9tIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgc2VydmljZSBzcGVjaWZpZWQgaW4gdGhlIHRhc2sgKGUuZy4sIHRoZSBwYXRpZW50KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyB0YXNrIG9yaWdpbmF0ZWQiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIHRhc2sgd2FzIGNyZWF0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhlY3V0aW9uUGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlN0YXJ0IGFuZCBlbmQgdGltZSBvZiBleGVjdXRpb24iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHRpbWUgYWN0aW9uIHdhcyBmaXJzdCB0YWtlbiBhZ2FpbnN0IHRoZSB0YXNrIChzdGFydCkgYW5kL29yIHRoZSB0aW1lIGZpbmFsIGFjdGlvbiB3YXMgdGFrZW4gYWdhaW5zdCB0aGUgdGFzayBwcmlvciB0byBtYXJraW5nIGl0IGFzIGNvbXBsZXRlZCAoZW5kKS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGFzayBDcmVhdGlvbiBEYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHRhc2sgd2FzIGNyZWF0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibGFzdE1vZGlmaWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRhc2sgTGFzdCBNb2RpZmllZCBEYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSBvZiBsYXN0IG1vZGlmaWNhdGlvbiB0byB0aGlzIHRhc2suIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyBhc2tpbmcgZm9yIHRhc2sgdG8gYmUgZG9uZSIgZGVmaW5pdGlvbj0iVGhlIGNyZWF0b3Igb2YgdGhlIHRhc2suIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlcXVlc3RlZCBwZXJmb3JtZXIiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIHBhcnRpY2lwYW50IHRoYXQgc2hvdWxkIHBlcmZvcm0gdGhlIHRhc2suIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tQZXJmb3JtZXJUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUocykgb2YgdGFzayBwZXJmb3JtZXJzIGFsbG93ZWQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im93bmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlc3BvbnNpYmxlIGluZGl2aWR1YWwiIGRlZmluaXRpb249IkluZGl2aWR1YWwgb3JnYW5pemF0aW9uIG9yIERldmljZSBjdXJyZW50bHkgcmVzcG9uc2libGUgZm9yIHRhc2sgZXhlY3V0aW9uLiIgY29tbWVudD0iVGFza3MgbWF5IGJlIGNyZWF0ZWQgd2l0aCBhbiBvd25lciBub3QgeWV0IGlkZW50aWZpZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGFzayBvY2N1cnMiIGRlZmluaXRpb249IlByaW5jaXBhbCBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgdGhpcyB0YXNrIGlzIHBlcmZvcm1lZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGFzayBpcyBuZWVkZWQiIGRlZmluaXRpb249IkEgZGVzY3JpcHRpb24gb3IgY29kZSBpbmRpY2F0aW5nIHdoeSB0aGlzIHRhc2sgbmVlZHMgdG8gYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iVGhpcyBzaG91bGQgb25seSBiZSBpbmNsdWRlZCBpZiB0aGVyZSBpcyBubyBmb2N1cyBvciBpZiBpdCBkaWZmZXJzIGZyb20gdGhlIHJlYXNvbiBpbmRpY2F0ZWQgb24gdGhlIGZvY3VzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1JlYXNvbiIgZGVzY3JpcHRpb249IkluZGljYXRlcyB3aHkgdGhlIHRhc2sgaXMgbmVlZGVkLiAgRS5nLiBTdXNwZW5kZWQgYmVjYXVzZSBwYXRpZW50IGFkbWl0dGVkIHRvIGhvc3BpdGFsLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB0YXNrIGlzIG5lZWRlZCIgZGVmaW5pdGlvbj0iQSByZXNvdXJjZSByZWZlcmVuY2UgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRhc2tzIG1pZ2h0IGJlIGp1c3RpZmllZCBiYXNlZCBvbiBhbiBPYnNlcnZhdGlvbiwgYSBDb25kaXRpb24sIGEgcGFzdCBvciBwbGFubmVkIHByb2NlZHVyZSwgZXRjLiAgIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4gICAgVXNlIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBUYXNrLnJlYXNvbkNvZGVgIGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVsZXZhbnQgdG8gdGhlIFRhc2suIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHRhc2siIGRlZmluaXRpb249IkZyZWUtdGV4dCBpbmZvcm1hdGlvbiBjYXB0dXJlZCBhYm91dCB0aGUgdGFzayBhcyBpdCBwcm9ncmVzc2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWxldmFudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJLZXkgZXZlbnRzIGluIGhpc3Rvcnkgb2YgdGhlIFRhc2siIGRlZmluaXRpb249IkxpbmtzIHRvIFByb3ZlbmFuY2UgcmVjb3JkcyBmb3IgcGFzdCB2ZXJzaW9ucyBvZiB0aGlzIFRhc2sgdGhhdCBpZGVudGlmeSBrZXkgc3RhdGUgdHJhbnNpdGlvbnMgb3IgdXBkYXRlcyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgcmVsZXZhbnQgdG8gYSB1c2VyIGxvb2tpbmcgYXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgdGFzay4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBkb2VzIG5vdCBwb2ludCB0byB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhlICpjdXJyZW50KiB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZSAtIGFzIGl0IHdvdWxkIGJlIGNyZWF0ZWQgYWZ0ZXIgdGhpcyB2ZXJzaW9uIGV4aXN0ZWQuICBUaGUgUHJvdmVuYW5jZSBmb3IgdGhlIGN1cnJlbnQgdmVyc2lvbiBjYW4gYmUgcmV0cmlldmVkIHdpdGggYSBfcmV2aW5jbHVkZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXN0cmljdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrLlJlc3RyaWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29uc3RyYWludHMgb24gZnVsZmlsbG1lbnQgdGFza3MiIGRlZmluaXRpb249IklmIHRoZSBUYXNrLmZvY3VzIGlzIGEgcmVxdWVzdCByZXNvdXJjZSBhbmQgdGhlIHRhc2sgaXMgc2Vla2luZyBmdWxmaWxsbWVudCAoaS5lLiBpcyBhc2tpbmcgZm9yIHRoZSByZXF1ZXN0IHRvIGJlIGFjdGlvbmVkKSwgdGhpcyBlbGVtZW50IGlkZW50aWZpZXMgYW55IGxpbWl0YXRpb25zIG9uIHdoYXQgcGFydHMgb2YgdGhlIHJlZmVyZW5jZWQgcmVxdWVzdCBzaG91bGQgYmUgYWN0aW9uZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5wdXQiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiB1c2VkIHRvIHBlcmZvcm0gdGFzayIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IG1heSBiZSBuZWVkZWQgaW4gdGhlIGV4ZWN1dGlvbiBvZiB0aGUgdGFzay4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2suSW5wdXQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0cHV0IiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gcHJvZHVjZWQgYXMgcGFydCBvZiB0YXNrIiBkZWZpbml0aW9uPSJPdXRwdXRzIHByb2R1Y2VkIGJ5IHRoZSBUYXNrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFzay5PdXRwdXQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUYXNrLklucHV0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMYWJlbCBmb3IgdGhlIGlucHV0IiBkZWZpbml0aW9uPSJBIGNvZGUgb3IgZGVzY3JpcHRpb24gaW5kaWNhdGluZyBob3cgdGhlIGlucHV0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgcGFydCBvZiB0aGUgdGFzayBleGVjdXRpb24uIiBjb21tZW50PSJJZiByZWZlcmVuY2luZyBhIEJQTU4gd29ya2Zsb3cgb3IgUHJvdG9jb2wsIHRoZSAmcXVvdDtzeXN0ZW0mcXVvdDsgaXMgdGhlIFVSTCBmb3IgdGhlIHdvcmtmbG93IGRlZmluaXRpb24gYW5kIHRoZSBjb2RlIGlzIHRoZSAmcXVvdDtuYW1lJnF1b3Q7IG9mIHRoZSByZXF1aXJlZCBpbnB1dC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrSW5wdXRQYXJhbWV0ZXJUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdHlwZXMgb2YgaW5wdXQgcGFyYW1ldGVycy4gIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4gIEUuZy4gJnF1b3Q7Q29tcGFyaXNvbiBzb3VyY2UmcXVvdDssICZxdW90O0FwcGxpY2FibGUgY29uc2VudCZxdW90OywgJnF1b3Q7Q29uY29taXRlbnQgTWVkaWNhdGlvbnMmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbnRlbnQgdG8gdXNlIGluIHBlcmZvcm1pbmcgdGhlIHRhc2siIGRlZmluaXRpb249IlRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgcGFyYW1ldGVyIGFzIGEgYmFzaWMgdHlwZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbm5vdGF0aW9uIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSWRlbnRpZmllciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3REZXRhaWwiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkV4cHJlc3Npb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRBcnRpZmFjdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVHJpZ2dlckRlZmluaXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRG9zYWdlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZXRhIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFzay5PdXRwdXQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkxhYmVsIGZvciBvdXRwdXQiIGRlZmluaXRpb249IlRoZSBuYW1lIG9mIHRoZSBPdXRwdXQgcGFyYW1ldGVyLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tPdXRwdXRQYXJhbWV0ZXJUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdHlwZXMgb2YgaW5wdXQgcGFyYW1ldGVycy4gIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4gIEUuZy4gJnF1b3Q7SWRlbnRpZmllZCBpc3N1ZXMmcXVvdDssICZxdW90O1ByZWxpbWluYXJ5IHJlc3VsdHMmcXVvdDssICZxdW90O0ZpbGxlciBvcmRlciZxdW90OywgJnF1b3Q7RmluYWwgcmVzdWx0cyZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVzdWx0IG9mIG91dHB1dCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBPdXRwdXQgcGFyYW1ldGVyIGFzIGEgYmFzaWMgdHlwZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbm5vdGF0aW9uIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSWRlbnRpZmllciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3REZXRhaWwiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkV4cHJlc3Npb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRBcnRpZmFjdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVHJpZ2dlckRlZmluaXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRG9zYWdlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZXRhIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFzay5SZXN0cmljdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwZXRpdGlvbnMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIb3cgbWFueSB0aW1lcyB0byByZXBlYXQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSByZXF1ZXN0ZWQgYWN0aW9uIHNob3VsZCBvY2N1ci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBmdWxmaWxsbWVudCBzb3VnaHQiIGRlZmluaXRpb249Ik92ZXIgd2hhdCB0aW1lLXBlcmlvZCBpcyBmdWxmaWxsbWVudCBzb3VnaHQuIiBjb21tZW50PSJOb3RlIHRoYXQgcGVyaW9kLmhpZ2ggaXMgdGhlIGR1ZSBkYXRlIHJlcHJlc2VudGluZyB0aGUgdGltZSBieSB3aGljaCB0aGUgdGFzayBzaG91bGQgYmUgY29tcGxldGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY2lwaWVudCIgZGVzY3JpcHRpb249IkZvciB3aG9tIGlzIGZ1bGZpbGxtZW50IHNvdWdodD8iIGRlZmluaXRpb249IkZvciByZXF1ZXN0cyB0aGF0IGFyZSB0YXJnZXRlZCB0byBtb3JlIHRoYW4gb24gcG90ZW50aWFsIHJlY2lwaWVudC90YXJnZXQsIGZvciB3aG9tIGlzIGZ1bGZpbGxtZW50IHNvdWdodD8iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tJbnRlbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFza1ByaW9yaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tSZWplY3RlZCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtdGFza3JlamVjdGVkIiBsYWJlbD0iUUlDb3JlIFRhc2sgUmVqZWN0ZWQiIHRhcmdldD0iVGFzayIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IlRhc2sgSW5zdGFuY2UgSWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVGhlIGJ1c2luZXNzIGlkZW50aWZpZXIgZm9yIHRoaXMgdGFzay4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtYWwgZGVmaW5pdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgKkZISVIqLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFRhc2suIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtYWwgZGVmaW5pdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuICpleHRlcm5hbGx5KiBtYWludGFpbmVkICBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgVGFzay4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmdWxmaWxsZWQgYnkgdGhpcyB0YXNrIiBkZWZpbml0aW9uPSJCYXNlZE9uIHJlZmVycyB0byBhIGhpZ2hlci1sZXZlbCBhdXRob3JpemF0aW9uIHRoYXQgdHJpZ2dlcmVkIHRoZSBjcmVhdGlvbiBvZiB0aGUgdGFzay4gIEl0IHJlZmVyZW5jZXMgYSAmcXVvdDtyZXF1ZXN0JnF1b3Q7IHJlc291cmNlIHN1Y2ggYXMgYSBTZXJ2aWNlUmVxdWVzdCwgTWVkaWNhdGlvblJlcXVlc3QsIFNlcnZpY2VSZXF1ZXN0LCBDYXJlUGxhbiwgZXRjLiB3aGljaCBpcyBkaXN0aW5jdCBmcm9tIHRoZSAmcXVvdDtyZXF1ZXN0JnF1b3Q7IHJlc291cmNlIHRoZSB0YXNrIGlzIHNlZWtpbmcgdG8gZnVsZmlsbC4gIFRoaXMgbGF0dGVyIHJlc291cmNlIGlzIHJlZmVyZW5jZWQgYnkgRm9jdXNPbi4gIEZvciBleGFtcGxlLCBiYXNlZCBvbiBhIFNlcnZpY2VSZXF1ZXN0ICg9IEJhc2VkT24pLCBhIHRhc2sgaXMgY3JlYXRlZCB0byBmdWxmaWxsIGEgcHJvY2VkdXJlUmVxdWVzdCAoID0gRm9jdXNPbiApIHRvIGNvbGxlY3QgYSBzcGVjaW1lbiBmcm9tIGEgcGF0aWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlJlcXVpc2l0aW9uIG9yIGdyb3VwZXIgaWQiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBsaW5rcyB0b2dldGhlciBtdWx0aXBsZSB0YXNrcyBhbmQgb3RoZXIgcmVxdWVzdHMgdGhhdCB3ZXJlIGNyZWF0ZWQgaW4gdGhlIHNhbWUgY29udGV4dC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgdGFzayIgZGVmaW5pdGlvbj0iVGFzayB0aGF0IHRoaXMgcGFydGljdWxhciB0YXNrIGlzIHBhcnQgb2YuIiBjb21tZW50PSJUaGlzIHNob3VsZCB1c3VhbGx5IGJlIDAuLjEuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2tTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSBwb3RlbnRpYWwgcGVyZm9ybWVyIHdobyBjbGFpbWVkIG93bmVyc2hpcCBvZiB0aGUgdGFzayBoYXMgZGVjaWRlZCBub3QgdG8gZXhlY3V0ZSBpdCBwcmlvciB0byBwZXJmb3JtaW5nIGFueSBhY3Rpb24iIGRlZmluaXRpb249IlRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgdGFzay4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB0YXNrLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQW4gZXhwbGFuYXRpb24gYXMgdG8gd2h5IHRoaXMgdGFzayBpcyBoZWxkLCBmYWlsZWQsIHdhcyByZWZ1c2VkLCBldGMuIiBjb21tZW50PSJUaGlzIGFwcGxpZXMgdG8gdGhlIGN1cnJlbnQgc3RhdHVzLiAgTG9vayBhdCB0aGUgaGlzdG9yeSBvZiB0aGUgdGFzayB0byBzZWUgcmVhc29ucyBmb3IgcGFzdCBzdGF0dXNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJ1c2luZXNzU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuICZxdW90O1NwZWNpbWVuIGNvbGxlY3RlZCZxdW90OywgJnF1b3Q7SVYgcHJlcHBlZCZxdW90OyIgZGVmaW5pdGlvbj0iQ29udGFpbnMgYnVzaW5lc3Mtc3BlY2lmaWMgbnVhbmNlcyBvZiB0aGUgYnVzaW5lc3Mgc3RhdGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0J1c2luZXNzU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGRvbWFpbi1zcGVjaWZpYyBidXNpbmVzcy1jb250ZXh0dWFsIHN1Yi1zdGF0ZSBvZiB0aGUgdGFzay4gIEZvciBleGFtcGxlOiAmcXVvdDtCbG9vZCBkcmF3biZxdW90OywgJnF1b3Q7SVYgaW5zZXJ0ZWQmcXVvdDssICZxdW90O0F3YWl0aW5nIHBoeXNpY2lhbiBzaWduYXR1cmUmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrSW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InVua25vd24gfCBwcm9wb3NhbCB8IHBsYW4gfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgJnF1b3Q7bGV2ZWwmcXVvdDsgb2YgYWN0aW9uYWJpbGl0eSBhc3NvY2lhdGVkIHdpdGggdGhlIFRhc2ssIGkuZS4gaStSWzldQ3MgdGhpcyBhIHByb3Bvc2VkIHRhc2ssIGEgcGxhbm5lZCB0YXNrLCBhbiBhY3Rpb25hYmxlIHRhc2ssIGV0Yy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBpbW11dGFibGUuICBQcm9wb3NlZCB0YXNrcywgcGxhbm5lZCB0YXNrcywgZXRjLiBtdXN0IGJlIGRpc3RpbmN0IGluc3RhbmNlcy4mIzEwOyYjMTA7SW4gbW9zdCBjYXNlcywgVGFza3Mgd2lsbCBoYXZlIGFuIGludGVudCBvZiAmcXVvdDtvcmRlciZxdW90Oy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrSW50ZW50IiBkZXNjcmlwdGlvbj0iRGlzdGluZ3Vpc2hlcyB3aGV0aGVyIHRoZSB0YXNrIGlzIGEgcHJvcG9zYWwsIHBsYW4gb3IgZnVsbCBvcmRlci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrUHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIFRhc2sgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1ByaW9yaXR5IiBkZXNjcmlwdGlvbj0iVGhlIHRhc2sncyBwcmlvcml0eS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGFzayBUeXBlIiBkZWZpbml0aW9uPSJBIG5hbWUgb3IgY29kZSAob3IgYm90aCkgYnJpZWZseSBkZXNjcmliaW5nIHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIiBjb21tZW50PSJUaGUgdGl0bGUgKGVnICZxdW90O015IFRhc2tzJnF1b3Q7LCAmcXVvdDtPdXRzdGFuZGluZyBUYXNrcyBmb3IgUGF0aWVudCBYJnF1b3Q7KSBzaG91bGQgZ28gaW50byB0aGUgY29kZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikh1bWFuLXJlYWRhYmxlIGV4cGxhbmF0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IkEgZnJlZS10ZXh0IGRlc2NyaXB0aW9uIG9mIHdoYXQgaXMgdG8gYmUgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoYXQgdGFzayBpcyBhY3Rpbmcgb24iIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IGJlaW5nIGFjdGlvbmVkIG9yIHRoZSByZXNvdXJjZSBiZWluZyBtYW5pcHVsYXRlZCBieSB0aGlzIHRhc2suIiBjb21tZW50PSJJZiBtdWx0aXBsZSByZXNvdXJjZXMgbmVlZCB0byBiZSBtYW5pcHVsYXRlZCwgdXNlIHN1Yi10YXNrcy4gIChUaGlzIGVuc3VyZXMgdGhhdCBzdGF0dXMgY2FuIGJlIHRyYWNrZWQgaW5kZXBlbmRlbnRseSBmb3IgZWFjaCByZWZlcmVuY2VkIHJlc291cmNlLikuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQmVuZWZpY2lhcnkgb2YgdGhlIFRhc2siIGRlZmluaXRpb249IlRoZSBlbnRpdHkgd2hvIGJlbmVmaXRzIGZyb20gdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBzZXJ2aWNlIHNwZWNpZmllZCBpbiB0aGUgdGFzayAoZS5nLiwgdGhlIHBhdGllbnQpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgdGFzayBvcmlnaW5hdGVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyB0YXNrIHdhcyBjcmVhdGVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhlY3V0aW9uUGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUaGUgdGltaW5nIHRoZSB0YXNrIHdhcyByZWplY3RlZCBhbmQgdGhlIHJlYXNvbi4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHRpbWUgYWN0aW9uIHdhcyBmaXJzdCB0YWtlbiBhZ2FpbnN0IHRoZSB0YXNrIChzdGFydCkgYW5kL29yIHRoZSB0aW1lIGZpbmFsIGFjdGlvbiB3YXMgdGFrZW4gYWdhaW5zdCB0aGUgdGFzayBwcmlvciB0byBtYXJraW5nIGl0IGFzIGNvbXBsZXRlZCAoZW5kKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRhc2sgQ3JlYXRpb24gRGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB0YXNrIHdhcyBjcmVhdGVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RNb2RpZmllZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUYXNrIExhc3QgTW9kaWZpZWQgRGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgb2YgbGFzdCBtb2RpZmljYXRpb24gdG8gdGhpcyB0YXNrLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gaXMgYXNraW5nIGZvciB0YXNrIHRvIGJlIGRvbmUiIGRlZmluaXRpb249IlRoZSBjcmVhdG9yIG9mIHRoZSB0YXNrLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgcGVyZm9ybWVyIiBkZWZpbml0aW9uPSJUaGUga2luZCBvZiBwYXJ0aWNpcGFudCB0aGF0IHNob3VsZCBwZXJmb3JtIHRoZSB0YXNrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrUGVyZm9ybWVyVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlKHMpIG9mIHRhc2sgcGVyZm9ybWVycyBhbGxvd2VkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvd25lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXNwb25zaWJsZSBpbmRpdmlkdWFsIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIG9yZ2FuaXphdGlvbiBvciBEZXZpY2UgY3VycmVudGx5IHJlc3BvbnNpYmxlIGZvciB0YXNrIGV4ZWN1dGlvbi4iIGNvbW1lbnQ9IlRhc2tzIG1heSBiZSBjcmVhdGVkIHdpdGggYW4gb3duZXIgbm90IHlldCBpZGVudGlmaWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRhc2sgb2NjdXJzIiBkZWZpbml0aW9uPSJQcmluY2lwYWwgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIHRoaXMgdGFzayBpcyBwZXJmb3JtZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRhc2sgaXMgbmVlZGVkIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9yIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrUmVhc29uIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoeSB0aGUgdGFzayBpcyBuZWVkZWQuICBFLmcuIFN1c3BlbmRlZCBiZWNhdXNlIHBhdGllbnQgYWRtaXR0ZWQgdG8gaG9zcGl0YWwuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IHRhc2sgaXMgbmVlZGVkIiBkZWZpbml0aW9uPSJBIHJlc291cmNlIHJlZmVyZW5jZSBpbmRpY2F0aW5nIHdoeSB0aGlzIHRhc2sgbmVlZHMgdG8gYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iVGFza3MgbWlnaHQgYmUganVzdGlmaWVkIGJhc2VkIG9uIGFuIE9ic2VydmF0aW9uLCBhIENvbmRpdGlvbiwgYSBwYXN0IG9yIHBsYW5uZWQgcHJvY2VkdXJlLCBldGMuICAgVGhpcyBzaG91bGQgb25seSBiZSBpbmNsdWRlZCBpZiB0aGVyZSBpcyBubyBmb2N1cyBvciBpZiBpdCBkaWZmZXJzIGZyb20gdGhlIHJlYXNvbiBpbmRpY2F0ZWQgb24gdGhlIGZvY3VzLiAgICBVc2UgdGhlIENvZGVhYmxlQ29uY2VwdCB0ZXh0IGVsZW1lbnQgaW4gYFRhc2sucmVhc29uQ29kZWAgaWYgdGhlIGRhdGEgaXMgZnJlZSAodW5jb2RlZCkgdGV4dC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSByZWxldmFudCB0byB0aGUgVGFzay4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCB0aGUgdGFzayIgZGVmaW5pdGlvbj0iRnJlZS10ZXh0IGluZm9ybWF0aW9uIGNhcHR1cmVkIGFib3V0IHRoZSB0YXNrIGFzIGl0IHByb2dyZXNzZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IktleSBldmVudHMgaW4gaGlzdG9yeSBvZiB0aGUgVGFzayIgZGVmaW5pdGlvbj0iTGlua3MgdG8gUHJvdmVuYW5jZSByZWNvcmRzIGZvciBwYXN0IHZlcnNpb25zIG9mIHRoaXMgVGFzayB0aGF0IGlkZW50aWZ5IGtleSBzdGF0ZSB0cmFuc2l0aW9ucyBvciB1cGRhdGVzIHRoYXQgYXJlIGxpa2VseSB0byBiZSByZWxldmFudCB0byBhIHVzZXIgbG9va2luZyBhdCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSB0YXNrLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRvZXMgbm90IHBvaW50IHRvIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgKmN1cnJlbnQqIHZlcnNpb24gb2YgdGhlIHJlc291cmNlIC0gYXMgaXQgd291bGQgYmUgY3JlYXRlZCBhZnRlciB0aGlzIHZlcnNpb24gZXhpc3RlZC4gIFRoZSBQcm92ZW5hbmNlIGZvciB0aGUgY3VycmVudCB2ZXJzaW9uIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCBhIF9yZXZpbmNsdWRlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlc3RyaWN0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2suUmVzdHJpY3Rpb24iIGRlc2NyaXB0aW9uPSJDb25zdHJhaW50cyBvbiBmdWxmaWxsbWVudCB0YXNrcyIgZGVmaW5pdGlvbj0iSWYgdGhlIFRhc2suZm9jdXMgaXMgYSByZXF1ZXN0IHJlc291cmNlIGFuZCB0aGUgdGFzayBpcyBzZWVraW5nIGZ1bGZpbGxtZW50IChpLmUuIGlzIGFza2luZyBmb3IgdGhlIHJlcXVlc3QgdG8gYmUgYWN0aW9uZWQpLCB0aGlzIGVsZW1lbnQgaWRlbnRpZmllcyBhbnkgbGltaXRhdGlvbnMgb24gd2hhdCBwYXJ0cyBvZiB0aGUgcmVmZXJlbmNlZCByZXF1ZXN0IHNob3VsZCBiZSBhY3Rpb25lZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHVzZWQgdG8gcGVyZm9ybSB0YXNrIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiB0aGUgZXhlY3V0aW9uIG9mIHRoZSB0YXNrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFzay5JbnB1dCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRwdXQiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBwcm9kdWNlZCBhcyBwYXJ0IG9mIHRhc2siIGRlZmluaXRpb249Ik91dHB1dHMgcHJvZHVjZWQgYnkgdGhlIFRhc2suIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrLk91dHB1dCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vVGltaW5nIiBsYWJlbD0iVGltaW5nIiByZXRyaWV2YWJsZT0iZmFsc2UiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImV2ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIGV2ZW50IG9jY3VycyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBzcGVjaWZpYyB0aW1lcyB3aGVuIHRoZSBldmVudCBvY2N1cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXBlYXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGltaW5nLlJlcGVhdCIgZGVzY3JpcHRpb249IldoZW4gdGhlIGV2ZW50IGlzIHRvIG9jY3VyIiBkZWZpbml0aW9uPSJBIHNldCBvZiBydWxlcyB0aGF0IGRlc2NyaWJlIHdoZW4gdGhlIGV2ZW50IGlzIHNjaGVkdWxlZC4iPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiB0aGVyZSdzIGEgZHVyYXRpb24sIHRoZXJlIG5lZWRzIHRvIGJlIGR1cmF0aW9uIHVuaXRzIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkdXJhdGlvbi5lbXB0eSgpIG9yIGR1cmF0aW9uVW5pdC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS0yIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIHRoZXJlJ3MgYSBwZXJpb2QsIHRoZXJlIG5lZWRzIHRvIGJlIHBlcmlvZCB1bml0cyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icGVyaW9kLmVtcHR5KCkgb3IgcGVyaW9kVW5pdC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS00IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImR1cmF0aW9uIFNIQUxMIGJlIGEgbm9uLW5lZ2F0aXZlIHZhbHVlIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkdXJhdGlvbi5leGlzdHMoKSBpbXBsaWVzIGR1cmF0aW9uICZndDs9IDAiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tNSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJwZXJpb2QgU0hBTEwgYmUgYSBub24tbmVnYXRpdmUgdmFsdWUiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InBlcmlvZC5leGlzdHMoKSBpbXBsaWVzIHBlcmlvZCAmZ3Q7PSAwIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idGltLTYiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUncyBhIHBlcmlvZE1heCwgdGhlcmUgbXVzdCBiZSBhIHBlcmlvZCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icGVyaW9kTWF4LmVtcHR5KCkgb3IgcGVyaW9kLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idGltLTciIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUncyBhIGR1cmF0aW9uTWF4LCB0aGVyZSBtdXN0IGJlIGEgZHVyYXRpb24iPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImR1cmF0aW9uTWF4LmVtcHR5KCkgb3IgZHVyYXRpb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tOCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSdzIGEgY291bnRNYXgsIHRoZXJlIG11c3QgYmUgYSBjb3VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iY291bnRNYXguZW1wdHkoKSBvciBjb3VudC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS05IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlJ3MgYW4gb2Zmc2V0LCB0aGVyZSBtdXN0IGJlIGEgd2hlbiAoYW5kIG5vdCBDLCBDTSwgQ0QsIENWKSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ib2Zmc2V0LmVtcHR5KCkgb3IgKHdoZW4uZXhpc3RzKCkgYW5kICgod2hlbiBpbiAoJ0MnIHwgJ0NNJyB8ICdDRCcgfCAnQ1YnKSkubm90KCkpKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS0xMCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSdzIGEgdGltZU9mRGF5LCB0aGVyZSBjYW5ub3QgYmUgYSB3aGVuLCBvciB2aWNlIHZlcnNhIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0aW1lT2ZEYXkuZW1wdHkoKSBvciB3aGVuLmVtcHR5KCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCSUQgfCBUSUQgfCBRSUQgfCBBTSB8IFBNIHwgUUQgfCBRT0QgfCArIiBkZWZpbml0aW9uPSJBIGNvZGUgZm9yIHRoZSB0aW1pbmcgc2NoZWR1bGUgKG9yIGp1c3QgdGV4dCBpbiBjb2RlLnRleHQpLiBTb21lIGNvZGVzIHN1Y2ggYXMgQklEIGFyZSB1YmlxdWl0b3VzLCBidXQgbWFueSBpbnN0aXR1dGlvbnMgZGVmaW5lIHRoZWlyIG93biBhZGRpdGlvbmFsIGNvZGVzLiBJZiBhIGNvZGUgaXMgcHJvdmlkZWQsIHRoZSBjb2RlIGlzIHVuZGVyc3Rvb2QgdG8gYmUgYSBjb21wbGV0ZSBzdGF0ZW1lbnQgb2Ygd2hhdGV2ZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBzdHJ1Y3R1cmVkIHRpbWluZyBkYXRhLCBhbmQgZWl0aGVyIHRoZSBjb2RlIG9yIHRoZSBkYXRhIG1heSBiZSB1c2VkIHRvIGludGVycHJldCB0aGUgVGltaW5nLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCAucmVwZWF0LmJvdW5kcyBzdGlsbCBhcHBsaWVzIG92ZXIgdGhlIGNvZGUgKGFuZCBpcyBub3QgY29udGFpbmVkIGluIHRoZSBjb2RlKS4iIGNvbW1lbnQ9IkJJRCBldGMuIGFyZSBkZWZpbmVkIGFzICdhdCBpbnN0aXR1dGlvbmFsbHkgc3BlY2lmaWVkIHRpbWVzJy4gRm9yIGV4YW1wbGUsIGFuIGluc3RpdHV0aW9uIG1heSBjaG9vc2UgdGhhdCBCSUQgaXMgJnF1b3Q7YWx3YXlzIGF0IDdhbSBhbmQgNnBtJnF1b3Q7LiAgSWYgaXQgaXMgaW5hcHByb3ByaWF0ZSBmb3IgdGhpcyBjaG9pY2UgdG8gYmUgbWFkZSwgdGhlIGNvZGUgQklEIHNob3VsZCBub3QgYmUgdXNlZC4gSW5zdGVhZCwgYSBkaXN0aW5jdCBvcmdhbml6YXRpb24tc3BlY2lmaWMgY29kZSBzaG91bGQgYmUgdXNlZCBpbiBwbGFjZSBvZiB0aGUgSEw3LWRlZmluZWQgQklEIGNvZGUgYW5kL29yIGEgc3RydWN0dXJlZCByZXByZXNlbnRhdGlvbiBzaG91bGQgYmUgdXNlZCAoaW4gdGhpcyBjYXNlLCBzcGVjaWZ5aW5nIHRoZSB0d28gZXZlbnQgdGltZXMpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRpbWluZ0FiYnJldmlhdGlvbiIgZGVzY3JpcHRpb249IkNvZGUgZm9yIGEga25vd24gLyBkZWZpbmVkIHRpbWluZyBwYXR0ZXJuLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZy5SZXBlYXQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib3VuZHMiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTGVuZ3RoL1JhbmdlIG9mIGxlbmd0aHMsIG9yIChTdGFydCBhbmQvb3IgZW5kKSBsaW1pdHMiIGRlZmluaXRpb249IkVpdGhlciBhIGR1cmF0aW9uIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSB0aW1pbmcgc2NoZWR1bGUsIGEgcmFuZ2Ugb2YgcG9zc2libGUgbGVuZ3RoLCBvciBvdXRlciBib3VuZHMgZm9yIHN0YXJ0IGFuZC9vciBlbmQgbGltaXRzIG9mIHRoZSB0aW1pbmcgc2NoZWR1bGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3VudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWJlciBvZiB0aW1lcyB0byByZXBlYXQiIGRlZmluaXRpb249IkEgdG90YWwgY291bnQgb2YgdGhlIGRlc2lyZWQgbnVtYmVyIG9mIHJlcGV0aXRpb25zIGFjcm9zcyB0aGUgZHVyYXRpb24gb2YgdGhlIGVudGlyZSB0aW1pbmcgc3BlY2lmaWNhdGlvbi4gSWYgY291bnRNYXggaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IGluZGljYXRlcyB0aGUgbG93ZXIgYm91bmQgb2YgdGhlIGFsbG93ZWQgcmFuZ2Ugb2YgY291bnQgdmFsdWVzLiIgY29tbWVudD0iSWYgeW91IGhhdmUgYm90aCBib3VuZHMgYW5kIGNvdW50LCB0aGVuIHRoaXMgc2hvdWxkIGJlIHVuZGVyc3Rvb2QgYXMgd2l0aGluIHRoZSBib3VuZHMgcGVyaW9kLCB1bnRpbCBjb3VudCB0aW1lcyBoYXBwZW5zLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvdW50TWF4IiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IiBkZWZpbml0aW9uPSJJZiBwcmVzZW50LCBpbmRpY2F0ZXMgdGhhdCB0aGUgY291bnQgaXMgYSByYW5nZSAtIHNvIHRvIHBlcmZvcm0gdGhlIGFjdGlvbiBiZXR3ZWVuIFtjb3VudF0gYW5kIFtjb3VudE1heF0gdGltZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZHVyYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIb3cgbG9uZyB3aGVuIGl0IGhhcHBlbnMiIGRlZmluaXRpb249IkhvdyBsb25nIHRoaXMgdGhpbmcgaGFwcGVucyBmb3Igd2hlbiBpdCBoYXBwZW5zLiBJZiBkdXJhdGlvbk1heCBpcyBwcmVzZW50LCB0aGlzIGVsZW1lbnQgaW5kaWNhdGVzIHRoZSBsb3dlciBib3VuZCBvZiB0aGUgYWxsb3dlZCByYW5nZSBvZiB0aGUgZHVyYXRpb24uIiBjb21tZW50PSJGb3Igc29tZSBldmVudHMgdGhlIGR1cmF0aW9uIGlzIHBhcnQgb2YgdGhlIGRlZmluaXRpb24gb2YgdGhlIGV2ZW50IChlLmcuIElWIGluZnVzaW9ucywgd2hlcmUgdGhlIGR1cmF0aW9uIGlzIGltcGxpY2l0IGluIHRoZSBzcGVjaWZpZWQgcXVhbnRpdHkgYW5kIHJhdGUpLiBGb3Igb3RoZXJzLCBpdCdzIHBhcnQgb2YgdGhlIHRpbWluZyBzcGVjaWZpY2F0aW9uIChlLmcuIGV4ZXJjaXNlKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvbk1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkhvdyBsb25nIHdoZW4gaXQgaGFwcGVucyAoTWF4KSIgZGVmaW5pdGlvbj0iSWYgcHJlc2VudCwgaW5kaWNhdGVzIHRoYXQgdGhlIGR1cmF0aW9uIGlzIGEgcmFuZ2UgLSBzbyB0byBwZXJmb3JtIHRoZSBhY3Rpb24gYmV0d2VlbiBbZHVyYXRpb25dIGFuZCBbZHVyYXRpb25NYXhdIHRpbWUgbGVuZ3RoLiIgY29tbWVudD0iRm9yIHNvbWUgZXZlbnRzIHRoZSBkdXJhdGlvbiBpcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBldmVudCAoZS5nLiBJViBpbmZ1c2lvbnMsIHdoZXJlIHRoZSBkdXJhdGlvbiBpcyBpbXBsaWNpdCBpbiB0aGUgc3BlY2lmaWVkIHF1YW50aXR5IGFuZCByYXRlKS4gRm9yIG90aGVycywgaXQncyBwYXJ0IG9mIHRoZSB0aW1pbmcgc3BlY2lmaWNhdGlvbiAoZS5nLiBleGVyY2lzZSkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZHVyYXRpb25Vbml0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVuaXRzT2ZUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InMgfCBtaW4gfCBoIHwgZCB8IHdrIHwgbW8gfCBhIC0gdW5pdCBvZiB0aW1lIChVQ1VNKSIgZGVmaW5pdGlvbj0iVGhlIHVuaXRzIG9mIHRpbWUgZm9yIHRoZSBkdXJhdGlvbiwgaW4gVUNVTSB1bml0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJVbml0c09mVGltZSIgZGVzY3JpcHRpb249IkEgdW5pdCBvZiB0aW1lICh1bml0cyBmcm9tIFVDVU0pLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZyZXF1ZW5jeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkV2ZW50IG9jY3VycyBmcmVxdWVuY3kgdGltZXMgcGVyIHBlcmlvZCIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiB0aW1lcyB0byByZXBlYXQgdGhlIGFjdGlvbiB3aXRoaW4gdGhlIHNwZWNpZmllZCBwZXJpb2QuIElmIGZyZXF1ZW5jeU1heCBpcyBwcmVzZW50LCB0aGlzIGVsZW1lbnQgaW5kaWNhdGVzIHRoZSBsb3dlciBib3VuZCBvZiB0aGUgYWxsb3dlZCByYW5nZSBvZiB0aGUgZnJlcXVlbmN5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZyZXF1ZW5jeU1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkV2ZW50IG9jY3VycyB1cCB0byBmcmVxdWVuY3lNYXggdGltZXMgcGVyIHBlcmlvZCIgZGVmaW5pdGlvbj0iSWYgcHJlc2VudCwgaW5kaWNhdGVzIHRoYXQgdGhlIGZyZXF1ZW5jeSBpcyBhIHJhbmdlIC0gc28gdG8gcmVwZWF0IGJldHdlZW4gW2ZyZXF1ZW5jeV0gYW5kIFtmcmVxdWVuY3lNYXhdIHRpbWVzIHdpdGhpbiB0aGUgcGVyaW9kIG9yIHBlcmlvZCByYW5nZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFdmVudCBvY2N1cnMgZnJlcXVlbmN5IHRpbWVzIHBlciBwZXJpb2QiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgZHVyYXRpb24gb2YgdGltZSBvdmVyIHdoaWNoIHJlcGV0aXRpb25zIGFyZSB0byBvY2N1cjsgZS5nLiB0byBleHByZXNzICZxdW90OzMgdGltZXMgcGVyIGRheSZxdW90OywgMyB3b3VsZCBiZSB0aGUgZnJlcXVlbmN5IGFuZCAmcXVvdDsxIGRheSZxdW90OyB3b3VsZCBiZSB0aGUgcGVyaW9kLiBJZiBwZXJpb2RNYXggaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IGluZGljYXRlcyB0aGUgbG93ZXIgYm91bmQgb2YgdGhlIGFsbG93ZWQgcmFuZ2Ugb2YgdGhlIHBlcmlvZCBsZW5ndGguIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kTWF4IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVXBwZXIgbGltaXQgb2YgcGVyaW9kICgzLTQgaG91cnMpIiBkZWZpbml0aW9uPSJJZiBwcmVzZW50LCBpbmRpY2F0ZXMgdGhhdCB0aGUgcGVyaW9kIGlzIGEgcmFuZ2UgZnJvbSBbcGVyaW9kXSB0byBbcGVyaW9kTWF4XSwgYWxsb3dpbmcgZXhwcmVzc2luZyBjb25jZXB0cyBzdWNoIGFzICZxdW90O2RvIHRoaXMgb25jZSBldmVyeSAzLTUgZGF5cy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2RVbml0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVuaXRzT2ZUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InMgfCBtaW4gfCBoIHwgZCB8IHdrIHwgbW8gfCBhIC0gdW5pdCBvZiB0aW1lIChVQ1VNKSIgZGVmaW5pdGlvbj0iVGhlIHVuaXRzIG9mIHRpbWUgZm9yIHRoZSBwZXJpb2QgaW4gVUNVTSB1bml0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJVbml0c09mVGltZSIgZGVzY3JpcHRpb249IkEgdW5pdCBvZiB0aW1lICh1bml0cyBmcm9tIFVDVU0pLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRheU9mV2VlayIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJtb24gfCB0dWUgfCB3ZWQgfCB0aHUgfCBmcmkgfCBzYXQgfCBzdW4iIGRlZmluaXRpb249IklmIG9uZSBvciBtb3JlIGRheXMgb2Ygd2VlayBpcyBwcm92aWRlZCwgdGhlbiB0aGUgYWN0aW9uIGhhcHBlbnMgb25seSBvbiB0aGUgc3BlY2lmaWVkIGRheShzKS4iIGNvbW1lbnQ9IklmIG5vIGRheXMgYXJlIHNwZWNpZmllZCwgdGhlIGFjdGlvbiBpcyBhc3N1bWVkIHRvIGhhcHBlbiBldmVyeSBkYXkgYXMgb3RoZXJ3aXNlIHNwZWNpZmllZC4gVGhlIGVsZW1lbnRzIGZyZXF1ZW5jeSBhbmQgcGVyaW9kIGNhbm5vdCBiZSB1c2VkIGFzIHdlbGwgYXMgZGF5T2ZXZWVrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGF5T2ZXZWVrIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRheU9mV2VlayIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWVPZkRheSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaW1lIG9mIGRheSBmb3IgYWN0aW9uIiBkZWZpbml0aW9uPSJTcGVjaWZpZWQgdGltZSBvZiBkYXkgZm9yIGFjdGlvbiB0byB0YWtlIHBsYWNlLiIgY29tbWVudD0iV2hlbiB0aW1lIG9mIGRheSBpcyBzcGVjaWZpZWQsIGl0IGlzIGluZmVycmVkIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5zIGV2ZXJ5IGRheSAoYXMgZmlsdGVyZWQgYnkgZGF5b2ZXZWVrKSBvbiB0aGUgc3BlY2lmaWVkIHRpbWVzLiBUaGUgZWxlbWVudHMgd2hlbiwgZnJlcXVlbmN5IGFuZCBwZXJpb2QgY2Fubm90IGJlIHVzZWQgYXMgd2VsbCBhcyB0aW1lT2ZEYXkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5UaW1lIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IndoZW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ29kZSBmb3IgdGltZSBwZXJpb2Qgb2Ygb2NjdXJyZW5jZSIgZGVmaW5pdGlvbj0iQW4gYXBwcm94aW1hdGUgdGltZSBwZXJpb2QgZHVyaW5nIHRoZSBkYXksIHBvdGVudGlhbGx5IGxpbmtlZCB0byBhbiBldmVudCBvZiBkYWlseSBsaXZpbmcgdGhhdCBpbmRpY2F0ZXMgd2hlbiB0aGUgYWN0aW9uIHNob3VsZCBvY2N1ci4iIGNvbW1lbnQ9IldoZW4gbW9yZSB0aGFuIG9uZSBldmVudCBpcyBsaXN0ZWQsIHRoZSBldmVudCBpcyB0aWVkIHRvIHRoZSB1bmlvbiBvZiB0aGUgc3BlY2lmaWVkIGV2ZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkV2ZW50VGltaW5nIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkV2ZW50VGltaW5nIiBkZXNjcmlwdGlvbj0iUmVhbCB3b3JsZCBldmVudCByZWxhdGluZyB0byB0aGUgc2NoZWR1bGUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2Zmc2V0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTWludXRlcyBmcm9tIGV2ZW50IChiZWZvcmUgb3IgYWZ0ZXIpIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIG1pbnV0ZXMgZnJvbSB0aGUgZXZlbnQuIElmIHRoZSBldmVudCBjb2RlIGRvZXMgbm90IGluZGljYXRlIHdoZXRoZXIgdGhlIG1pbnV0ZXMgaXMgYmVmb3JlIG9yIGFmdGVyIHRoZSBldmVudCwgdGhlbiB0aGUgb2Zmc2V0IGlzIGFzc3VtZWQgdG8gYmUgYWZ0ZXIgdGhlIGV2ZW50LiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVHJpZ2dlckRlZmluaXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9UcmlnZ2VyRGVmaW5pdGlvbiIgbGFiZWw9IlRyaWdnZXJEZWZpbml0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UcmlnZ2VyVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJuYW1lZC1ldmVudCB8IHBlcmlvZGljIHwgZGF0YS1jaGFuZ2VkIHwgZGF0YS1hZGRlZCB8IGRhdGEtbW9kaWZpZWQgfCBkYXRhLXJlbW92ZWQgfCBkYXRhLWFjY2Vzc2VkIHwgZGF0YS1hY2Nlc3MtZW5kZWQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHRyaWdnZXJpbmcgZXZlbnQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVHJpZ2dlclR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0cmlnZ2VyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb3IgVVJJIHRoYXQgaWRlbnRpZmllcyB0aGUgZXZlbnQiIGRlZmluaXRpb249IkEgZm9ybWFsIG5hbWUgZm9yIHRoZSBldmVudC4gVGhpcyBtYXkgYmUgYW4gYWJzb2x1dGUgVVJJIHRoYXQgaWRlbnRpZmllcyB0aGUgZXZlbnQgZm9ybWFsbHkgKGUuZy4gZnJvbSBhIHRyaWdnZXIgcmVnaXN0cnkpLCBvciBhIHNpbXBsZSByZWxhdGl2ZSBVUkkgdGhhdCBpZGVudGlmaWVzIHRoZSBldmVudCBpbiBhIGxvY2FsIGNvbnRleHQuIiBjb21tZW50PSJBbiBldmVudCBuYW1lIGNhbiBiZSBwcm92aWRlZCBmb3IgYWxsIGV2ZW50IHR5cGVzLCBidXQgaXMgcmVxdWlyZWQgZm9yIG5hbWVkIGV2ZW50cy4gSWYgYSBuYW1lIGlzIHByb3ZpZGVkIGZvciBhIHR5cGUgb3RoZXIgdGhhbiBuYW1lZCBldmVudHMsIGl0IGlzIGNvbnNpZGVyZWQgdG8gYmUgYSBzaG9ydGhhbmQgZm9yIHRoZSBzZW1hbnRpY3MgZGVzY3JpYmVkIGJ5IHRoZSBmb3JtYWwgZGVzY3JpcHRpb24gb2YgdGhlIGV2ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1pbmcgb2YgdGhlIGV2ZW50IiBkZWZpbml0aW9uPSJUaGUgdGltaW5nIG9mIHRoZSBldmVudCAoaWYgdGhpcyBpcyBhIHBlcmlvZGljIHRyaWdnZXIpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZGVzY3JpcHRpb249IlRyaWdnZXJpbmcgZGF0YSBvZiB0aGUgZXZlbnQgKG11bHRpcGxlID0gJ2FuZCcpIiBkZWZpbml0aW9uPSJUaGUgdHJpZ2dlcmluZyBkYXRhIG9mIHRoZSBldmVudCAoaWYgdGhpcyBpcyBhIGRhdGEgdHJpZ2dlcikuIElmIG1vcmUgdGhhbiBvbmUgZGF0YSBpcyByZXF1aXJlbWVudCBpcyBzcGVjaWZpZWQsIHRoZW4gYWxsIHRoZSBkYXRhIHJlcXVpcmVtZW50cyBtdXN0IGJlIHRydWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgc2hhbGwgYmUgcHJlc2VudCBmb3IgYW55IGRhdGEgdHlwZSB0cmlnZ2VyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGF0YVJlcXVpcmVtZW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5FeHByZXNzaW9uIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgZXZlbnQgdHJpZ2dlcnMgKGJvb2xlYW4gZXhwcmVzc2lvbikiIGRlZmluaXRpb249IkEgYm9vbGVhbi12YWx1ZWQgZXhwcmVzc2lvbiB0aGF0IGlzIGV2YWx1YXRlZCBpbiB0aGUgY29udGV4dCBvZiB0aGUgY29udGFpbmVyIG9mIHRoZSB0cmlnZ2VyIGRlZmluaXRpb24gYW5kIHJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHRyaWdnZXIgZmlyZXMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGJlIG9ubHkgYmUgc3BlY2lmaWVkIGZvciBkYXRhIHR5cGUgdHJpZ2dlcnMgYW5kIHByb3ZpZGVzIGFkZGl0aW9uYWwgc2VtYW50aWNzIGZvciB0aGUgdHJpZ2dlci4gVGhlIGNvbnRleHQgYXZhaWxhYmxlIHdpdGhpbiB0aGUgY29uZGl0aW9uIGlzIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGRhdGEgZXZlbnQuIEZvciBhbGwgZXZlbnRzLCB0aGUgY3VycmVudCByZXNvdXJjZSB3aWxsIGJlIGF2YWlsYWJsZSBhcyBjb250ZXh0LiBJbiBhZGRpdGlvbiwgZm9yIG1vZGlmaWNhdGlvbiBldmVudHMsIHRoZSBwcmV2aW91cyByZXNvdXJjZSB3aWxsIGFsc28gYmUgYXZhaWxhYmxlLiBUaGUgZXhwcmVzc2lvbiBtYXkgYmUgaW5saW5lZCwgb3IgbWF5IGJlIGEgc2ltcGxlIGFic29sdXRlIFVSSSwgd2hpY2ggaXMgYSByZWZlcmVuY2UgdG8gYSBuYW1lZCBleHByZXNzaW9uIHdpdGhpbiBhIGxvZ2ljIGxpYnJhcnkgcmVmZXJlbmNlZCBieSBhIGxpYnJhcnkgZWxlbWVudCBvciBleHRlbnNpb24gd2l0aGluIHRoZSBjb250YWluaW5nIHJlc291cmNlLiBJZiB0aGUgZXhwcmVzc2lvbiBpcyBhIEZISVIgUGF0aCBleHByZXNzaW9uLCBpdCBldmFsdWF0ZXMgaW4gdGhlIGNvbnRleHQgb2YgYSByZXNvdXJjZSBvZiBvbmUgb2YgdGhlIHR5cGUgaWRlbnRpZmllZCBpbiB0aGUgZGF0YSByZXF1aXJlbWVudCwgYW5kIG1heSBhbHNvIHJlZmVyIHRvIHRoZSB2YXJpYWJsZSAlcHJldmlvdXMgZm9yIGRlbHRhIGNvbXBhcmlzb25zIG9uIGV2ZW50cyBvZiB0eXBlIGRhdGEtY2hhbmdlZCwgZGF0YS1tb2RpZmllZCwgYW5kIGRhdGEtZGVsZXRlZCB3aGljaCB3aWxsIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHR5cGUuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUcmlnZ2VyVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVRElFbnRyeVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQk1JUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1ibWkiIGxhYmVsPSJVUyBDb3JlIEJNSSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cyIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQmlydGhTZXhFeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYmlydGhzZXgiIGxhYmVsPSJVUyBDb3JlIEJpcnRoIFNleCBFeHRlbnNpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQmxvb2RQcmVzc3VyZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYmxvb2QtcHJlc3N1cmUiIGxhYmVsPSJVUyBDb3JlIEJsb29kIFByZXNzdXJlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQmxvb2QgUHJlc3N1cmUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNhbXBsZWREYXRhIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjMTA7JiMxMDtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdG9saWMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpYXN0b2xpYyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQm9keUhlaWdodFByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYm9keS1oZWlnaHQiIGxhYmVsPSJVUyBDb3JlIEJvZHkgSGVpZ2h0IFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQm9keSBIZWlnaHQiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUJvZHlUZW1wZXJhdHVyZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYm9keS10ZW1wZXJhdHVyZSIgbGFiZWw9IlVTIENvcmUgQm9keSBUZW1wZXJhdHVyZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEJvZHkgVGVtcGVyYXR1cmUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUJvZHlXZWlnaHRQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWJvZHktd2VpZ2h0IiBsYWJlbD0iVVMgQ29yZSBCb2R5IFdlaWdodCBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEJvZHkgV2VpZ2h0IiBkZWZpbml0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB2aXRhbCBzaWduIGNvZGVzIGZyb20gdGhlIGJhc2UgRkhJUiBhbmQgVVMgQ29yZSBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSAmZ3Q7PSA4Ii8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjMTA7JiMxMDtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVFdGhuaWNpdHlFeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiBsYWJlbD0iVVMgQ29yZSBFdGhuaWNpdHkgRXh0ZW5zaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbWJDYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSglcGFyZW50LmV4dGVuc2lvblt1cmw9J29tYkNhdGVnb3J5J10udmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBIaXNwYW5pYyBvciBMYXRpbm98Tm90IEhpc3BhbmljIG9yIExhdGlubyIgZGVmaW5pdGlvbj0iVGhlIDIgZXRobmljaXR5IGNhdGVnb3J5IGNvZGVzIGFjY29yZGluZyB0byB0aGUgW09NQiBTdGFuZGFyZHMgZm9yIE1haW50YWluaW5nLCBDb2xsZWN0aW5nLCBhbmQgUHJlc2VudGluZyBGZWRlcmFsIERhdGEgb24gUmFjZSBhbmQgRXRobmljaXR5LCBTdGF0aXN0aWNhbCBQb2xpY3kgRGlyZWN0aXZlIE5vLiAxNSwgYXMgcmV2aXNlZCwgT2N0b2JlciAzMCwgMTk5N10oaHR0cHM6Ly93d3cuZ292aW5mby5nb3YvY29udGVudC9wa2cvRlItMTk5Ny0xMC0zMC9wZGYvOTctMjg2NTMucGRmKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nZGV0YWlsZWQnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbmRlZCBldGhuaWNpdHkgY29kZXMiIGRlZmluaXRpb249IlRoZSA0MSBDREMgZXRobmljaXR5IGNvZGVzIHRoYXQgYXJlIGdyb3VwZWQgdW5kZXIgb25lIG9mIHRoZSAyIE9NQiBldGhuaWNpdHkgY2F0ZWdvcnkgY29kZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0ndGV4dCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBldGhuaWNpdHkgVGV4dCIgZGVmaW5pdGlvbj0iUGxhaW4gdGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZXRobmljaXR5IGNvbmNlcHQocykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaWRlbnRpZmllcyB0aGUgbWVhbmluZyBvZiB0aGUgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJTb3VyY2Ugb2YgdGhlIGRlZmluaXRpb24gZm9yIHRoZSBleHRlbnNpb24gY29kZSAtIGEgbG9naWNhbCBuYW1lIG9yIGEgVVJMLiIgY29tbWVudD0iVGhlIGRlZmluaXRpb24gbWF5IHBvaW50IGRpcmVjdGx5IHRvIGEgY29tcHV0YWJsZSBvciBodW1hbi1yZWFkYWJsZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpYmlsaXR5IGNvZGVzLCBvciBpdCBtYXkgYmUgYSBsb2dpY2FsIFVSSSBhcyBkZWNsYXJlZCBpbiBzb21lIG90aGVyIHNwZWNpZmljYXRpb24uIFRoZSBkZWZpbml0aW9uIFNIQUxMIGJlIGEgVVJJIGZvciB0aGUgU3RydWN0dXJlIERlZmluaXRpb24gZGVmaW5pbmcgdGhlIGV4dGVuc2lvbi4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUV4dGVuc2lvblF1ZXN0aW9ubmFpcmVVcmkiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXh0ZW5zaW9uLXF1ZXN0aW9ubmFpcmUtdXJpIiBsYWJlbD0iVVMgQ29yZSBFeHRlbnNpb24gUXVlc3Rpb25uYWlyZSBVUkkiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlR2VuZGVySWRlbnRpdHlFeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZ2VuZGVySWRlbnRpdHkiIGxhYmVsPSJVUyBDb3JlIEdlbmRlciBJZGVudGl0eSBFeHRlbnNpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUhlYWRDaXJjdW1mZXJlbmNlUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1oZWFkLWNpcmN1bWZlcmVuY2UiIGxhYmVsPSJVUyBDb3JlIEhlYWQgQ2lyY3VtZmVyZW5jZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEhlYWQgQ2lyY3VtZmVyZW5jZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlSGVhcnRSYXRlUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1oZWFydC1yYXRlIiBsYWJlbD0iVVMgQ29yZSBIZWFydCBSYXRlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgSGVhcnQgUmF0ZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlSW1wbGFudGFibGVEZXZpY2VQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWltcGxhbnRhYmxlLWRldmljZSIgbGFiZWw9IlVTIENvcmUgSW1wbGFudGFibGUgRGV2aWNlIFByb2ZpbGUiIHRhcmdldD0iRGV2aWNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iSW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIGluc3RhbmNlIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIGEgZGV2aWNlIGJ5IG1hbnVmYWN0dXJlcnMgb3RoZXIgb3JnYW5pemF0aW9ucyBvciBvd25lcnMuIiBjb21tZW50PSJUaGUgYmFyY29kZSBzdHJpbmcgZnJvbSBhIGJhcmNvZGUgcHJlc2VudCBvbiBhIGRldmljZSBsYWJlbCBvciBwYWNrYWdlIG1heSBpZGVudGlmeSB0aGUgaW5zdGFuY2UsIGluY2x1ZGUgbmFtZXMgZ2l2ZW4gdG8gdGhlIGRldmljZSBpbiBsb2NhbCB1c2FnZSwgb3IgbWF5IGlkZW50aWZ5IHRoZSB0eXBlIG9mIGRldmljZS4gSWYgdGhlIGlkZW50aWZpZXIgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiBkZXZpY2UsIERldmljZS50eXBlIGVsZW1lbnQgc2hvdWxkIGJlIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlZmluaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGlDYXJyaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5VZGlDYXJyaWVyIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBVbmlxdWUgRGV2aWNlIElkZW50aWZpZXIgKFVESSkgQmFyY29kZSBzdHJpbmciIGRlZmluaXRpb249IlVuaXF1ZSBkZXZpY2UgaWRlbnRpZmllciAoVURJKSBhc3NpZ25lZCB0byBkZXZpY2UgbGFiZWwgb3IgcGFja2FnZS4gIE5vdGUgdGhhdCB0aGUgRGV2aWNlIG1heSBpbmNsdWRlIG11bHRpcGxlIHVkaUNhcnJpZXJzIGFzIGl0IGVpdGhlciBtYXkgaW5jbHVkZSBqdXN0IHRoZSB1ZGlDYXJyaWVyIGZvciB0aGUganVyaXNkaWN0aW9uIGl0IGlzIHNvbGQsIG9yIGZvciBtdWx0aXBsZSBqdXJpc2RpY3Rpb25zIGl0IGNvdWxkIGhhdmUgYmVlbiBzb2xkLiIgY29tbWVudD0iU29tZSBkZXZpY2VzIG1heSBub3QgaGF2ZSBVREkgaW5mb3JtYXRpb24gKGZvciBleGFtcGxlLiBoaXN0b3JpY2FsIGRhdGEgb3IgcGF0aWVudCByZXBvcnRlZCBkYXRhKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJEZXZpY2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iU3RhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGluYWN0aXZlIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgZGV2aWNlIChyZWNvcmQpYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJvbmxpbmUgfCBwYXVzZWQgfCBzdGFuZGJ5IHwgb2ZmbGluZSB8IG5vdC1yZWFkeSB8IHRyYW5zZHVjLWRpc2NvbiB8IGh3LWRpc2NvbiB8IG9mZiIgZGVmaW5pdGlvbj0iUmVhc29uIGZvciB0aGUgZHRhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgcmVhc29uIG9mIHRoZSBkZXZpY2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXN0aW5jdElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgVGhlIGRpc3RpbmN0IGlkZW50aWZpY2F0aW9uIHN0cmluZyIgZGVmaW5pdGlvbj0iVGhlIGRpc3RpbmN0IGlkZW50aWZpY2F0aW9uIHN0cmluZyBhcyByZXF1aXJlZCBieSByZWd1bGF0aW9uIGZvciBhIGh1bWFuIGNlbGwsIHRpc3N1ZSwgb3IgY2VsbHVsYXIgYW5kIHRpc3N1ZS1iYXNlZCBwcm9kdWN0LiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoaXMgYXBwbGllcyB0byBkZXZpY2VzIGluIHRoZSBVbml0ZWQgU3RhdGVzIHJlZ3VsYXRlZCB1bmRlciAqQ29kZSBvZiBGZWRlcmFsIFJlZ3VsYXRpb24gMjFDRlLCpzEyNzEuMjkwKGMpKi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIGRldmljZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IkEgbmFtZSBvZiB0aGUgbWFudWZhY3R1cmVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIERhdGUgd2hlbiB0aGUgZGV2aWNlIHdhcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBkZXZpY2Ugd2FzIG1hbnVmYWN0dXJlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBEYXRlIGFuZCB0aW1lIG9mIGV4cGlyeSBvZiB0aGlzIGRldmljZSAoaWYgYXBwbGljYWJsZSkiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIGJleW9uZCB3aGljaCB0aGlzIGRldmljZSBpcyBubyBsb25nZXIgdmFsaWQgb3Igc2hvdWxkIG5vdCBiZSB1c2VkIChpZiBhcHBsaWNhYmxlKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG90TnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIExvdCBudW1iZXIgb2YgbWFudWZhY3R1cmUiIGRlZmluaXRpb249IkxvdCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG1hbnVmYWN0dXJlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWFsTnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFNlcmlhbCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iVGhlIHNlcmlhbCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG9yZ2FuaXphdGlvbiB3aGVuIHRoZSBkZXZpY2Ugd2FzIG1hbnVmYWN0dXJlZC4iIGNvbW1lbnQ9IkFscGhhbnVtZXJpYyBNYXhpbXVtIDIwLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2VOYW1lIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZSBhcyBnaXZlbiBieSB0aGUgbWFudWZhY3R1cmVyIiBkZWZpbml0aW9uPSJUaGlzIHJlcHJlc2VudHMgdGhlIG1hbnVmYWN0dXJlcidzIG5hbWUgb2YgdGhlIGRldmljZSBhcyBwcm92aWRlZCBieSB0aGUgZGV2aWNlLCBmcm9tIGEgVURJIGxhYmVsLCBvciBieSBhIHBlcnNvbiBkZXNjcmliaW5nIHRoZSBEZXZpY2UuICBUaGlzIHR5cGljYWxseSB3b3VsZCBiZSB1c2VkIHdoZW4gYSBwZXJzb24gcHJvdmlkZXMgdGhlIG5hbWUocykgb3Igd2hlbiB0aGUgZGV2aWNlIHJlcHJlc2VudHMgb25lIG9mIHRoZSBuYW1lcyBhdmFpbGFibGUgZnJvbSBEZXZpY2VEZWZpbml0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLkRldmljZU5hbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kZWxOdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHBhcnQgbnVtYmVyIG9mIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXJ0IG51bWJlciBvZiB0aGUgZGV2aWNlLiIgY29tbWVudD0iQWxwaGFudW1lcmljIE1heGltdW0gMjAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBUaGUga2luZCBvciB0eXBlIG9mIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb3IgdHlwZSBvZiBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSBtZWRpY2FsIGRldmljZXMiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpYWxpemF0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIGNhcGFiaWxpdGllcyBzdXBwb3J0ZWQgb24gYSAgZGV2aWNlLCB0aGUgc3RhbmRhcmRzIHRvIHdoaWNoIHRoZSBkZXZpY2UgY29uZm9ybXMgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlLCBhbmQgdXNlZCBmb3IgdGhlIGNvbW11bmljYXRpb24iIGRlZmluaXRpb249IlRoZSBjYXBhYmlsaXRpZXMgc3VwcG9ydGVkIG9uIGEgIGRldmljZSwgdGhlIHN0YW5kYXJkcyB0byB3aGljaCB0aGUgZGV2aWNlIGNvbmZvcm1zIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSwgYW5kIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLlNwZWNpYWxpemF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGRlc2lnbiBvZiB0aGUgZGV2aWNlIG9yIHNvZnR3YXJlIHZlcnNpb24gcnVubmluZyBvbiB0aGUgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGRlc2lnbiBvZiB0aGUgZGV2aWNlIG9yIHNvZnR3YXJlIHZlcnNpb24gcnVubmluZyBvbiB0aGUgZGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLlZlcnNpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvcGVydHkiIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2YgYSBkZXZpY2UgYXMgaXQgYWN0dWFsbHkgb3BlcmF0ZXMsIGUuZy4sIHJlZ3VsYXRpb24gc3RhdHVzLCB0aW1lIHByb3BlcnRpZXMiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBvZiBhIGRldmljZSBhcyBpdCBhY3R1YWxseSBvcGVyYXRlcywgZS5nLiwgcmVndWxhdGlvbiBzdGF0dXMsIHRpbWUgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5Qcm9wZXJ0eSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgUGF0aWVudCB0byB3aG9tIERldmljZSBpcyBhZmZpeGVkIiBkZWZpbml0aW9uPSJQYXRpZW50IGluZm9ybWF0aW9uLCBJZiB0aGUgZGV2aWNlIGlzIGFmZml4ZWQgdG8gYSBwZXJzb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im93bmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgZGV2aWNlIiBkZWZpbml0aW9uPSJBbiBvcmdhbml6YXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHByb3Zpc2lvbiBhbmQgb25nb2luZyBtYWludGVuYW5jZSBvZiB0aGUgZGV2aWNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhY3QiIGRlc2NyaXB0aW9uPSJEZXRhaWxzIGZvciBodW1hbi9vcmdhbml6YXRpb24gZm9yIHN1cHBvcnQiIGRlZmluaXRpb249IkNvbnRhY3QgZGV0YWlscyBmb3IgYW4gb3JnYW5pemF0aW9uIG9yIGEgcGFydGljdWxhciBodW1hbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgZGV2aWNlLiIgY29tbWVudD0idXNlZCBmb3IgdHJvdWJsZXNob290aW5nIGV0Yy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgZGV2aWNlIGlzIGZvdW5kIiBkZWZpbml0aW9uPSJUaGUgcGxhY2Ugd2hlcmUgdGhlIGRldmljZSBjYW4gYmUgZm91bmQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOZXR3b3JrIGFkZHJlc3MgdG8gY29udGFjdCBkZXZpY2UiIGRlZmluaXRpb249IkEgbmV0d29yayBhZGRyZXNzIG9uIHdoaWNoIHRoZSBkZXZpY2UgbWF5IGJlIGNvbnRhY3RlZCBkaXJlY3RseS4iIGNvbW1lbnQ9IklmIHRoZSBkZXZpY2UgaXMgcnVubmluZyBhIEZISVIgc2VydmVyLCB0aGUgbmV0d29yayBhZGRyZXNzIHNob3VsZCAgYmUgdGhlIEJhc2UgVVJMIGZyb20gd2hpY2ggYSBjb25mb3JtYW5jZSBzdGF0ZW1lbnQgbWF5IGJlIHJldHJpZXZlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRGV2aWNlIG5vdGVzIGFuZCBjb21tZW50cyIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpdmUgaW5mb3JtYXRpb24sIHVzYWdlIGluZm9ybWF0aW9uIG9yIGltcGxhbnRhdGlvbiBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBjYXB0dXJlZCBpbiBhbiBleGlzdGluZyBlbGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzYWZldHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTYWZldHkgQ2hhcmFjdGVyaXN0aWNzIG9mIERldmljZSIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYWRkaXRpb25hbCBzYWZldHkgY2hhcmFjdGVyaXN0aWNzIGFib3V0IGEgbWVkaWNhbCBkZXZpY2UuICBGb3IgZXhhbXBsZSBkZXZpY2VzIGNvbnRhaW5pbmcgbGF0ZXguIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcmVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGFyZW50IGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHBhcmVudCBkZXZpY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVPYnNlcnZhdGlvbk9jY3VwYXRpb25Qcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLW9ic2VydmF0aW9uLW9jY3VwYXRpb24iIGxhYmVsPSJVUyBDb3JlIE9ic2VydmF0aW9uIE9jY3VwYXRpb24gUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyBwcm92aWRpbmcgdGhlIHN0YXR1cyBvZiBhbiBvYnNlcnZhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzb2NpYWxoaXN0b3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE9jY3VwYXRpb24gaGlzdG9yeSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgbmFtZXMgb2Ygc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIFRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHJlc3VsdCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGRldGVybWluZWQgYXMgYSByZXN1bHQgb2YgbWFraW5nIHRoZSBvYnNlcnZhdGlvbiwgaWYgdGhlIGluZm9ybWF0aW9uIGhhcyBhIHNpbXBsZSB2YWx1ZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5kdXN0cnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPY2N1cGF0aW9uIGluZHVzdHJ5IiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlT2JzZXJ2YXRpb25QcmVnbmFuY3lJbnRlbnRQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLW9ic2VydmF0aW9uLXByZWduYW5jeWludGVudCIgbGFiZWw9IlVTIENvcmUgT2JzZXJ2YXRpb24gUHJlZ25hbmN5IEludGVudCBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IlNvY2lhbEhpc3RvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgUHJlZ25hbmN5IFN0YXR1cyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgbmFtZXMgb2Ygc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIFRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHJlc3VsdCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGRldGVybWluZWQgYXMgYSByZXN1bHQgb2YgbWFraW5nIHRoZSBvYnNlcnZhdGlvbiwgaWYgdGhlIGluZm9ybWF0aW9uIGhhcyBhIHNpbXBsZSB2YWx1ZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVPYnNlcnZhdGlvblByZWduYW5jeVN0YXR1c1Byb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtb2JzZXJ2YXRpb24tcHJlZ25hbmN5c3RhdHVzIiBsYWJlbD0iVVMgQ29yZSBPYnNlcnZhdGlvbiBQcmVnbmFuY3kgU3RhdHVzIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcHJvdmlkaW5nIHRoZSBzdGF0dXMgb2YgYW4gb2JzZXJ2YXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iU29jaWFsSGlzdG9yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBQcmVnbmFuY3kgU3RhdHVzIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNvZGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBuYW1lcyBvZiBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4gVGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24sIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBY3R1YWwgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZU9ic2VydmF0aW9uU2V4dWFsT3JpZW50YXRpb25Qcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLW9ic2VydmF0aW9uLXNleHVhbC1vcmllbnRhdGlvbiIgbGFiZWw9IlVTIENvcmUgT2JzZXJ2YXRpb24gU2V4dWFsIE9yaWVudGF0aW9uIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBTZXh1YWwgT3JpZW50YXRpb24iIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ29kZSIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIG5hbWVzIG9mIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGlzIHJlY29yZHMgdGhlIHRpbWUgZHVyaW5nIHdoaWNoIHRoZSBwYXRpZW50IGhhZCBpZGVudGlmaWVkIHRoZWlyIGVtb3Rpb25hbCwgcm9tYW50aWMsIHNleHVhbCwgb3IgYWZmZWN0aW9uYWwgYXR0cmFjdGlvbiB0byBhbm90aGVyIHBlcnNvbi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBY3R1YWwgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVBlZGlhdHJpY0JNSWZvckFnZU9ic2VydmF0aW9uUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcGVkaWF0cmljLWJtaS1mb3ItYWdlIiBsYWJlbD0iVVMgQ29yZSBQZWRpYXRyaWMgQk1JIGZvciBBZ2UgT2JzZXJ2YXRpb24gUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBCTUkgcGVyY2VudGlsZSBwZXIgYWdlIGFuZCBzZXggZm9yIHlvdXRoIDItMjAiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVBlZGlhdHJpY0hlYWRPY2NpcGl0YWxGcm9udGFsQ2lyY3VtZmVyZW5jZVBlcmNlbnRpbGVQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9oZWFkLW9jY2lwaXRhbC1mcm9udGFsLWNpcmN1bWZlcmVuY2UtcGVyY2VudGlsZSIgbGFiZWw9IlVTIENvcmUgUGVkaWF0cmljIEhlYWQgT2NjaXBpdGFsIEZyb250YWwgQ2lyY3VtZmVyZW5jZSBQZXJjZW50aWxlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgSGVhZCBPY2NpcGl0YWwgRnJvbnRhbCBjaXJjdW1mZXJlbmNlIFBlcmNlbnRpbGUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVBlZGlhdHJpY1dlaWdodEZvckhlaWdodE9ic2VydmF0aW9uUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcGVkaWF0cmljLXdlaWdodC1mb3ItaGVpZ2h0IiBsYWJlbD0iVVMgQ29yZSBQZWRpYXRyaWMgV2VpZ2h0IGZvciBIZWlnaHQgT2JzZXJ2YXRpb24gUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXZWlnaHQtZm9yLWxlbmd0aCBwZXIgYWdlIGFuZCBnZW5kZXIiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVB1bHNlT3hpbWV0cnlQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXB1bHNlLW94aW1ldHJ5IiBsYWJlbD0iVVMgQ29yZSBQdWxzZSBPeGltZXRyeSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE94eWdlbiBTYXR1cmF0aW9uIGJ5IFB1bHNlIE94aW1ldHJ5IiBkZWZpbml0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMuIiBjb21tZW50PSJUaGUgY29kZSAoNTk0MDgtNSBPeHlnZW4gc2F0dXJhdGlvbiBpbiBBcnRlcmlhbCBibG9vZCBieSBQdWxzZSBveGltZXRyeSkgaXMgaW5jbHVkZWQgYXMgYW4gYWRkaXRpb25hbCBvYnNlcnZhdGlvbiBjb2RlIHRvIEZISVIgQ29yZSB2aXRhbCBPeHlnZW4gU2F0dXJhdGlvbiBjb2RlICgyNzA4LTYgT3h5Z2VuIHNhdHVyYXRpb24gaW4gQXJ0ZXJpYWwgYmxvb2QpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iUHVsc2VPeCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb2RlIGRlZmluZWQgYnkgYSB0ZXJtaW5vbG9neSBzeXN0ZW0iIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGEgY29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtLiIgY29tbWVudD0iQ29kZXMgbWF5IGJlIGRlZmluZWQgdmVyeSBjYXN1YWxseSBpbiBlbnVtZXJhdGlvbnMsIG9yIGNvZGUgbGlzdHMsIHVwIHRvIHZlcnkgZm9ybWFsIGRlZmluaXRpb25zIHN1Y2ggYXMgU05PTUVEIENUIC0gc2VlIHRoZSBITDcgdjMgQ29yZSBQcmluY2lwbGVzIGZvciBtb3JlIGluZm9ybWF0aW9uLiAgT3JkZXJpbmcgb2YgY29kaW5ncyBpcyB1bmRlZmluZWQgYW5kIFNIQUxMIE5PVCBiZSB1c2VkIHRvIGluZmVyIG1lYW5pbmcuIEdlbmVyYWxseSwgYXQgbW9zdCBvbmx5IG9uZSBvZiB0aGUgY29kaW5nIHZhbHVlcyB3aWxsIGJlIGxhYmVsZWQgYXMgVXNlclNlbGVjdGVkID0gdHJ1ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iTzJTYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGNvZGUgZGVmaW5lZCBieSBhIHRlcm1pbm9sb2d5IHN5c3RlbS4iIGNvbW1lbnQ9IkNvZGVzIG1heSBiZSBkZWZpbmVkIHZlcnkgY2FzdWFsbHkgaW4gZW51bWVyYXRpb25zLCBvciBjb2RlIGxpc3RzLCB1cCB0byB2ZXJ5IGZvcm1hbCBkZWZpbml0aW9ucyBzdWNoIGFzIFNOT01FRCBDVCAtIHNlZSB0aGUgSEw3IHYzIENvcmUgUHJpbmNpcGxlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gIE9yZGVyaW5nIG9mIGNvZGluZ3MgaXMgdW5kZWZpbmVkIGFuZCBTSEFMTCBOT1QgYmUgdXNlZCB0byBpbmZlciBtZWFuaW5nLiBHZW5lcmFsbHksIGF0IG1vc3Qgb25seSBvbmUgb2YgdGhlIGNvZGluZyB2YWx1ZXMgd2lsbCBiZSBsYWJlbGVkIGFzIFVzZXJTZWxlY3RlZCA9IHRydWUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSAmZ3Q7PSA4Ii8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjMTA7JiMxMDtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBVc2VkIHdoZW4gcmVwb3J0aW5nIGZsb3cgcmF0ZXMgb3Igb3h5Z2VuIGNvbmNlbnRyYXRpb24uIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGZsb3cgcmF0ZXMgb3Igb3h5Z2VuIGNvbmNlbnRyYXRpb24uIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iRmxvd1JhdGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJbmhhbGVkIG94eWdlbiBmbG93IHJhdGUiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJDb25jZW50cmF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgSW5oYWxlZCBveHlnZW4gY29uY2VudHJhdGlvbiIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUmFjZUV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yYWNlIiBsYWJlbD0iVVMgQ29yZSBSYWNlIEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkV4dGVuc2lvbiI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib21iQ2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nb21iQ2F0ZWdvcnknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEFtZXJpY2FuIEluZGlhbiBvciBBbGFza2EgTmF0aXZlfEFzaWFufEJsYWNrIG9yIEFmcmljYW4gQW1lcmljYW58TmF0aXZlIEhhd2FpaWFuIG9yIE90aGVyIFBhY2lmaWMgSXNsYW5kZXJ8V2hpdGUiIGRlZmluaXRpb249IlRoZSA1IHJhY2UgY2F0ZWdvcnkgY29kZXMgYWNjb3JkaW5nIHRvIHRoZSBbT01CIFN0YW5kYXJkcyBmb3IgTWFpbnRhaW5pbmcsIENvbGxlY3RpbmcsIGFuZCBQcmVzZW50aW5nIEZlZGVyYWwgRGF0YSBvbiBSYWNlIGFuZCBFdGhuaWNpdHksIFN0YXRpc3RpY2FsIFBvbGljeSBEaXJlY3RpdmUgTm8uIDE1LCBhcyByZXZpc2VkLCBPY3RvYmVyIDMwLCAxOTk3XShodHRwczovL3d3dy5nb3ZpbmZvLmdvdi9jb250ZW50L3BrZy9GUi0xOTk3LTEwLTMwL3BkZi85Ny0yODY1My5wZGYpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nZGV0YWlsZWQnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbmRlZCByYWNlIGNvZGVzIiBkZWZpbml0aW9uPSJUaGUgOTAwKyBDREMgcmFjZSBjb2RlcyB0aGF0IGFyZSBncm91cGVkIHVuZGVyIG9uZSBvZiB0aGUgNSBPTUIgcmFjZSBjYXRlZ29yeSBjb2RlczouIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0ndGV4dCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBSYWNlIFRleHQiIGRlZmluaXRpb249IlBsYWluIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJhY2UgY29uY2VwdChzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJpZGVudGlmaWVzIHRoZSBtZWFuaW5nIG9mIHRoZSBleHRlbnNpb24iIGRlZmluaXRpb249IlNvdXJjZSBvZiB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGV4dGVuc2lvbiBjb2RlIC0gYSBsb2dpY2FsIG5hbWUgb3IgYSBVUkwuIiBjb21tZW50PSJUaGUgZGVmaW5pdGlvbiBtYXkgcG9pbnQgZGlyZWN0bHkgdG8gYSBjb21wdXRhYmxlIG9yIGh1bWFuLXJlYWRhYmxlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2liaWxpdHkgY29kZXMsIG9yIGl0IG1heSBiZSBhIGxvZ2ljYWwgVVJJIGFzIGRlY2xhcmVkIGluIHNvbWUgb3RoZXIgc3BlY2lmaWNhdGlvbi4gVGhlIGRlZmluaXRpb24gU0hBTEwgYmUgYSBVUkkgZm9yIHRoZSBTdHJ1Y3R1cmUgRGVmaW5pdGlvbiBkZWZpbmluZyB0aGUgZXh0ZW5zaW9uLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUmVzcGlyYXRvcnlSYXRlUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yZXNwaXJhdG9yeS1yYXRlIiBsYWJlbD0iVVMgQ29yZSBSZXNwaXJhdG9yeSBSYXRlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgUmVzcGlyYXRvcnkgUmF0ZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlU2V4RXh0ZW5zaW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXNleCIgbGFiZWw9IlVTIENvcmUgU2V4IEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVTbW9raW5nU3RhdHVzUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1zbW9raW5nc3RhdHVzIiBsYWJlbD0iVVMgQ29yZSBTbW9raW5nIFN0YXR1cyBPYnNlcnZhdGlvbiBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IlNvY2lhbEhpc3RvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgU21va2luZyBTdGF0dXMiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIFRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFR5cGljYWxseSBDb2RlZCBSZXNwb25zZXMgZnJvbSBTbW9raW5nIFN0YXR1cyBWYWx1ZSBTZXQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhpcyB2YWx1ZSBzZXQgZW51bWVyYXRlcyBjb2RlcyBTTk9NRUQgQ1QgY29kZXMgaGlzdG9yaWNhbGx5IHVzZWQgZm9yIHRoZSBjdXJyZW50IHNtb2tpbmcgc3RhdHVzIG9mIGEgcGF0aWVudCB3aXRoIGEgbWF4aW11bSByZXF1aXJlZCBiaW5kaW5nIHRvIFNub21lZCBDVCBjb2Rlcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIHVzZSBVQ1VNIGZvciBjb2RlZCBxdWFudGl0eSB1bml0cy4iPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLm9mVHlwZShRdWFudGl0eSkuc3lzdGVtLmVtcHR5KCkgb3IgdmFsdWUub2ZUeXBlKFF1YW50aXR5KS5zeXN0ZW0gPSAnaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyciLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVTcGVjaW1lblByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtc3BlY2ltZW4iIGxhYmVsPSJVUyBDb3JlIFNwZWNpbWVuIFByb2ZpbGUiIHRhcmdldD0iU3BlY2ltZW4iIHJldHJpZXZhYmxlPSJ0cnVlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWQgZm9yIHNwZWNpbWVuLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY2Nlc3Npb25JZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyIGFzc2lnbmVkIGJ5IHRoZSBsYWIiIGRlZmluaXRpb249IlRoZSBpZGVudGlmaWVyIGFzc2lnbmVkIGJ5IHRoZSBsYWIgd2hlbiBhY2Nlc3Npb25pbmcgc3BlY2ltZW4ocykuIFRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lIGFzIHRoZSBzcGVjaW1lbiBpZGVudGlmaWVyLCBkZXBlbmRpbmcgb24gbG9jYWwgbGFiIHByb2NlZHVyZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImF2YWlsYWJsZSB8IHVuYXZhaWxhYmxlIHwgdW5zYXRpc2ZhY3RvcnkgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgYXZhaWxhYmlsaXR5IG9mIHRoZSBzcGVjaW1lbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTcGVjaW1lblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzL2F2YWlsYWJpbGl0eSBvZiBhIHNwZWNpbWVuLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgS2luZCBvZiBtYXRlcmlhbCB0aGF0IGZvcm1zIHRoZSBzcGVjaW1lbiIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgbWF0ZXJpYWwgdGhhdCBmb3JtcyB0aGUgc3BlY2ltZW4uIiBjb21tZW50PSJUaGUgdHlwZSBjYW4gY2hhbmdlIHRoZSB3YXkgdGhhdCBhIHNwZWNpbWVuIGlzIGhhbmRsZWQgYW5kIGRyaXZlcyB3aGF0IGtpbmQgb2YgYW5hbHlzZXMgY2FuIHByb3Blcmx5IGJlIHBlcmZvcm1lZCBvbiB0aGUgc3BlY2ltZW4uIEl0IGlzIGZyZXF1ZW50bHkgdXNlZCBpbiBkaWFnbm9zdGljIHdvcmsgZmxvdyBkZWNpc2lvbiBtYWtpbmcgc3lzdGVtcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFRoZSBwYXRpZW50IHdoZXJlIHRoZSBzcGVjaW1lbiBjYW1lIGZyb20uIiBkZWZpbml0aW9uPSJXaGVyZSB0aGUgc3BlY2ltZW4gY2FtZSBmcm9tLiBUaGlzIG1heSBiZSBmcm9tIHBhdGllbnQocyksIGZyb20gYSBsb2NhdGlvbiAoZS5nLiwgdGhlIHNvdXJjZSBvZiBhbiBlbnZpcm9ubWVudGFsIHNhbXBsZSksIG9yIGEgc2FtcGxpbmcgb2YgYSBzdWJzdGFuY2Ugb3IgYSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVkVGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB3aGVuIHNwZWNpbWVuIHdhcyByZWNlaXZlZCBmb3IgcHJvY2Vzc2luZyIgZGVmaW5pdGlvbj0iVGltZSB3aGVuIHNwZWNpbWVuIHdhcyByZWNlaXZlZCBmb3IgcHJvY2Vzc2luZyBvciB0ZXN0aW5nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcmVudCIgZGVzY3JpcHRpb249IlNwZWNpbWVuIGZyb20gd2hpY2ggdGhpcyBzcGVjaW1lbiBvcmlnaW5hdGVkIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIHBhcmVudCAoc291cmNlKSBzcGVjaW1lbiB3aGljaCBpcyB1c2VkIHdoZW4gdGhlIHNwZWNpbWVuIHdhcyBlaXRoZXIgZGVyaXZlZCBmcm9tIG9yIGEgY29tcG9uZW50IG9mIGFub3RoZXIgc3BlY2ltZW4uIiBjb21tZW50PSJUaGUgcGFyZW50IHNwZWNpbWVuIGNvdWxkIGJlIHRoZSBzb3VyY2UgZnJvbSB3aGljaCB0aGUgY3VycmVudCBzcGVjaW1lbiBpcyBkZXJpdmVkIGJ5IHNvbWUgcHJvY2Vzc2luZyBzdGVwIChlLmcuIGFuIGFsaXF1b3Qgb3IgaXNvbGF0ZSBvciBleHRyYWN0ZWQgbnVjbGVpYyBhY2lkcyBmcm9tIGNsaW5pY2FsIHNhbXBsZXMpIG9yIG9uZSBvZiBtYW55IHNwZWNpbWVucyB0aGF0IHdlcmUgY29tYmluZWQgdG8gY3JlYXRlIGEgcG9vbGVkIHNhbXBsZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0IiBkZXNjcmlwdGlvbj0iV2h5IHRoZSBzcGVjaW1lbiB3YXMgY29sbGVjdGVkIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgYSBzZXJ2aWNlIHJlcXVlc3QgdGhhdCByZXF1aXJlZCBhIHNwZWNpbWVuIHRvIGJlIGNvbGxlY3RlZC4iIGNvbW1lbnQ9IlRoZSByZXF1ZXN0IG1heSBiZSBleHBsaWNpdCBvciBpbXBsaWVkIHN1Y2ggd2l0aCBhIFNlcnZpY2VSZXF1ZXN0IHRoYXQgcmVxdWlyZXMgYSBibG9vZCBkcmF3LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbGxlY3Rpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3BlY2ltZW4uQ29sbGVjdGlvbiIgZGVzY3JpcHRpb249IkNvbGxlY3Rpb24gZGV0YWlscyIgZGVmaW5pdGlvbj0iRGV0YWlscyBjb25jZXJuaW5nIHRoZSBzcGVjaW1lbiBjb2xsZWN0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2Nlc3NpbmciIGRlc2NyaXB0aW9uPSJQcm9jZXNzaW5nIGFuZCBwcm9jZXNzaW5nIHN0ZXAgZGV0YWlscyIgZGVmaW5pdGlvbj0iRGV0YWlscyBjb25jZXJuaW5nIHByb2Nlc3NpbmcgYW5kIHByb2Nlc3Npbmcgc3RlcHMgZm9yIHRoZSBzcGVjaW1lbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuLlByb2Nlc3NpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFpbmVyIiBkZXNjcmlwdGlvbj0iRGlyZWN0IGNvbnRhaW5lciBvZiBzcGVjaW1lbiAodHViZS9zbGlkZSwgZXRjLikiIGRlZmluaXRpb249IlRoZSBjb250YWluZXIgaG9sZGluZyB0aGUgc3BlY2ltZW4uICBUaGUgcmVjdXJzaXZlIG5hdHVyZSBvZiBjb250YWluZXJzOyBpLmUuIGJsb29kIGluIHR1YmUgaW4gdHJheSBpbiByYWNrIGlzIG5vdCBhZGRyZXNzZWQgaGVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuLkNvbnRhaW5lciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb25kaXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTdGF0ZSBvZiB0aGUgc3BlY2ltZW4iIGRlZmluaXRpb249IkEgbW9kZSBvciBzdGF0ZSBvZiBiZWluZyB0aGF0IGRlc2NyaWJlcyB0aGUgbmF0dXJlIG9mIHRoZSBzcGVjaW1lbi4iIGNvbW1lbnQ9IlNwZWNpbWVuIGNvbmRpdGlvbiBpcyBhbiBvYnNlcnZhdGlvbiBtYWRlIGFib3V0IHRoZSBzcGVjaW1lbi4gIEl0J3MgYSBwb2ludC1pbi10aW1lIGFzc2Vzc21lbnQuICBJdCBjYW4gYmUgdXNlZCB0byBhc3Nlc3MgaXRzIHF1YWxpdHkgb3IgYXBwcm9wcmlhdGVuZXNzIGZvciBhIHNwZWNpZmljIHRlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNwZWNpbWVuQ29uZGl0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyB0aGUgc3RhdGUgb2YgdGhlIHNwZWNpbWVuLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIiBkZWZpbml0aW9uPSJUbyBjb21tdW5pY2F0ZSBhbnkgZGV0YWlscyBvciBpc3N1ZXMgYWJvdXQgdGhlIHNwZWNpbWVuIG9yIGR1cmluZyB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbi4gKGZvciBleGFtcGxlOiBicm9rZW4gdmlhbCwgc2VudCB3aXRoIHBhdGllbnQsIGZyb3plbikuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlVHJpYmFsQWZmaWxpYXRpb25FeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtdHJpYmFsLWFmZmlsaWF0aW9uIiBsYWJlbD0iVVMgQ29yZSBUcmliYWwgQWZmaWxpYXRpb24gRXh0ZW5zaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0cmliYWxBZmZpbGlhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J3RyaWJhbEFmZmlsaWF0aW9uJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBBZmZpbGlhdGVkIHRyaWJlIG9yIGJhbmQgbmFtZSIgZGVmaW5pdGlvbj0iQWZmaWxpYXRlZCB0cmliZSBvciBiYW5kIG5hbWUiIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNFbnJvbGxlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naXNFbnJvbGxlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRW5yb2xsZWQgdHJpYmUgbWVtYmVyIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSBpbmRpdmlkdWFsIGlzIGFuIGVucm9sbGVkIHRyaWJlIG1lbWJlciIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaWRlbnRpZmllcyB0aGUgbWVhbmluZyBvZiB0aGUgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJTb3VyY2Ugb2YgdGhlIGRlZmluaXRpb24gZm9yIHRoZSBleHRlbnNpb24gY29kZSAtIGEgbG9naWNhbCBuYW1lIG9yIGEgVVJMLiIgY29tbWVudD0iVGhlIGRlZmluaXRpb24gbWF5IHBvaW50IGRpcmVjdGx5IHRvIGEgY29tcHV0YWJsZSBvciBodW1hbi1yZWFkYWJsZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpYmlsaXR5IGNvZGVzLCBvciBpdCBtYXkgYmUgYSBsb2dpY2FsIFVSSSBhcyBkZWNsYXJlZCBpbiBzb21lIG90aGVyIHNwZWNpZmljYXRpb24uIFRoZSBkZWZpbml0aW9uIFNIQUxMIGJlIGEgVVJJIGZvciB0aGUgU3RydWN0dXJlIERlZmluaXRpb24gZGVmaW5pbmcgdGhlIGV4dGVuc2lvbi4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVZpdGFsU2lnbnNQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXZpdGFsLXNpZ25zIiBsYWJlbD0iVVMgQ29yZSBWaXRhbCBTaWducyBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cyIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVuaXRzT2ZUaW1lIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1VzYWdlQ29udGV4dCIgbGFiZWw9IlVzYWdlQ29udGV4dCIgcmV0cmlldmFibGU9ImZhbHNlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBjb250ZXh0IGJlaW5nIHNwZWNpZmllZCIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiBjb250ZXh0IGJlaW5nIHNwZWNpZmllZCBieSB0aGlzIHVzYWdlIGNvbnRleHQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVXNhZ2VDb250ZXh0VHlwZSIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IHNwZWNpZmllcyBhIHR5cGUgb2YgY29udGV4dCBiZWluZyBzcGVjaWZpZWQgYnkgYSB1c2FnZSBjb250ZXh0LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFsdWUgdGhhdCBkZWZpbmVzIHRoZSBjb250ZXh0IiBkZWZpbml0aW9uPSJBIHZhbHVlIHRoYXQgZGVmaW5lcyB0aGUgY29udGV4dCBzcGVjaWZpZWQgaW4gdGhpcyBjb250ZXh0IG9mIHVzZS4gVGhlIGludGVycHJldGF0aW9uIG9mIHRoZSB2YWx1ZSBpcyBkZWZpbmVkIGJ5IHRoZSBjb2RlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVXNhZ2VDb250ZXh0VmFsdWUiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBkZWZpbmVzIHRoZSBzcGVjaWZpYyB2YWx1ZSBmb3IgdGhlIGNvbnRleHQgYmVpbmcgc3BlY2lmaWVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iYWJhdGVtZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZmFtaWx5bWVtYmVyaGlzdG9yeS1hYmF0ZW1lbnQiIGxhYmVsPSJhYmF0ZW1lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgPC9iYXNlVHlwZVNwZWNpZmllcj4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImFzc2VydGVkRGF0ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1hc3NlcnRlZERhdGUiIGxhYmVsPSJhc3NlcnRlZERhdGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5EYXRlVGltZSIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJjb21wbGV0aW9uTW9kZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS1jb21wbGV0aW9uTW9kZSIgbGFiZWw9ImNvbXBsZXRpb25Nb2RlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJwcmVmZXJyZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9pc28yMTA5MC1wcmVmZXJyZWQiIGxhYmVsPSJwcmVmZXJyZWQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5Cb29sZWFuIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9InJlc29sdXRpb25BZ2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9hbGxlcmd5aW50b2xlcmFuY2UtcmVzb2x1dGlvbkFnZSIgbGFiZWw9InJlc29sdXRpb25BZ2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5RdWFudGl0eSIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJzZXZlcml0eSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2ZhbWlseW1lbWJlcmhpc3Rvcnktc2V2ZXJpdHkiIGxhYmVsPSJzZXZlcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0ic2lnbmF0dXJlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcXVlc3Rpb25uYWlyZXJlc3BvbnNlLXNpZ25hdHVyZSIgbGFiZWw9InNpZ25hdHVyZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLlNpZ25hdHVyZSIvPgogICAgPGNvbnRleHRJbmZvIG5hbWU9IlByYWN0aXRpb25lciIga2V5RWxlbWVudD0iaWQiPgogICAgICAgIDxjb250ZXh0VHlwZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyIi8+CiAgICA8L2NvbnRleHRJbmZvPgogICAgPGNvbnRleHRJbmZvIG5hbWU9IkRldmljZSIga2V5RWxlbWVudD0iaWQiPgogICAgICAgIDxjb250ZXh0VHlwZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlIi8+CiAgICA8L2NvbnRleHRJbmZvPgogICAgPGNvbnRleHRJbmZvIG5hbWU9IlBhdGllbnQiIGtleUVsZW1lbnQ9ImlkIiBiaXJ0aERhdGVFbGVtZW50PSJiaXJ0aERhdGUiPgogICAgICAgIDxjb250ZXh0VHlwZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudCIvPgogICAgPC9jb250ZXh0SW5mbz4KICAgIDxjb250ZXh0SW5mbyBuYW1lPSJFbmNvdW50ZXIiIGtleUVsZW1lbnQ9ImlkIj4KICAgICAgICA8Y29udGV4dFR5cGUgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlciIvPgogICAgPC9jb250ZXh0SW5mbz4KICAgIDxjb250ZXh0SW5mbyBuYW1lPSJSZWxhdGVkUGVyc29uIiBrZXlFbGVtZW50PSJpZCI+CiAgICAgICAgPGNvbnRleHRUeXBlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkUGVyc29uIi8+CiAgICA8L2NvbnRleHRJbmZvPgo8L21vZGVsSW5mbz4="/>
    <url
         value="https://github.com/cqframework/clinical_quality_language/blob/master/Src/java/quick/src/main/resources/org/hl7/fhir/qicore-modelinfo-6.0.0.xml"/>
  </content>
</Library>