Common CQL Artifacts for FHIR (US-Based)
1.0.0 - Informative 1 United States of America flag

Common CQL Artifacts for FHIR (US-Based), published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/us-cql-ig/ and changes regularly. See the Directory of published versions

: Cumulative Medication Duration Tests - XML Representation

Page standards status: Informative Maturity Level: 3

Raw xml | Download


<Library xmlns="http://hl7.org/fhir">
  <id value="CumulativeMedicationDurationTests"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
  <table class="narrative-table">
    <tbody>
<tr>


<th colspan="2" scope="row" class="row-header">Metadata</th>


</tr>

<tr>


<th scope="row" class="row-header">Title</th>



<td class="content-container">Cumulative Medication Duration Tests</td>


</tr>



<tr>


<th scope="row" class="row-header">Version</th>



<td class="content-container">1.0.0</td>


</tr>













<tr>


<th scope="row" class="row-header">Experimental</th>



<td class="content-container">true</td>


</tr>





<tr>


<th scope="row" class="row-header">Jurisdiction</th>



<td class="content-container">
    United States of America


</td>


</tr>


<tr>


<th scope="row" class="row-header">Topic</th>



<td class="content-container">FHIR
</td>


</tr>

<tr>


<th scope="row" class="row-header">Topic</th>



<td class="content-container">CQL
</td>


</tr>

<tr>


<th scope="row" class="row-header">Topic</th>



<td class="content-container">Medication
</td>


</tr>

<tr>


<th scope="row" class="row-header">Topic</th>



<td class="content-container">Cumulative Medication Duration
</td>


</tr>

<tr>


<th scope="row" class="row-header">Topic</th>



<td class="content-container">Unit Tests
</td>


</tr>







<tr>


<th scope="row" class="row-header">Steward (Publisher)</th>



<td class="content-container">HL7 International / Clinical Decision Support</td>


</tr>









<tr>


<th scope="row" class="row-header">Description</th>



<td class="content-container"><div><p>This library provides tests for the cumulative medication duration calculation logic for use with FHIR medication prescription, administration, and dispensing resources.</p>
</div></td>


</tr>






<tr>


<th scope="row" class="row-header">Type</th>



<td class="content-container">
    logic-library from <a href="http://terminology.hl7.org/6.5.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a> 


</td>


</tr>



<tr>
  
  
  
  
  

<th scope="row" class="row-header">Dependency</th>


  
  
  <td class="content-container">
    
    <em>Description</em>: Library FHIRHelpers
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: <a href="http://hl7.org/fhir/uv/cql/STU2/Library-FHIRHelpers.html">http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1</a>
    <br/>
    <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1</tt>
    
    
    
  </td>
</tr>

<tr>
  
  
  
  
  

<th scope="row" class="row-header">Dependency</th>


  
  
  <td class="content-container">
    
    <em>Description</em>: Library CMD
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: <a href="Library-CumulativeMedicationDuration.html">Cumulative Medication Duration</a>
    <br/>
    <em>Canonical URL</em>: <tt>http://hl7.org/fhir/us/cql/Library/CumulativeMedicationDuration</tt>
    
    
    
  </td>
</tr>








<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    <a href="http://hl7.org/fhir/R4/medicationrequest.html">MedicationRequest</a>
    <br/>        
  
   
   
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationDispense
    <br/>
  
    <em>Profile(s)</em>: 
  
    <a href="http://hl7.org/fhir/R4/medicationdispense.html">MedicationDispense</a>
    <br/>        
  
   
   
   
  </td>
</tr>

<tr>


<th colspan="2" scope="row" class="row-header"><a name="parameters"> </a>Parameters</th>


</tr>

<tr>
  

<th scope="row" class="row-header"/>


  <td class="content-container">
    <table>
      <thead>
        <tr>
          <td><em>Name</em></td>
          <td><em>Use</em></td>
          <td><em>Card.</em></td>
          <td><em>Type</em></td>
          <td>Documentation</td>
        </tr>
      </thead>
      <tbody>
      
        <tr>
          <td>Patient</td>
          <td>Out</td>
          <td>0..1</td>
          <td>Patient</td>
          <td/>
        </tr>
      
        <tr>
          <td>Prescriptions</td>
          <td>Out</td>
          <td>0..*</td>
          <td>MedicationRequest</td>
          <td/>
        </tr>
      
        <tr>
          <td>Dispenses</td>
          <td>Out</td>
          <td>0..*</td>
          <td>MedicationDispense</td>
          <td/>
        </tr>
      
        <tr>
          <td>PrescriptionPeriods</td>
          <td>Out</td>
          <td>0..*</td>
          <td>Period</td>
          <td/>
        </tr>
      
        <tr>
          <td>DispensePeriods</td>
          <td>Out</td>
          <td>0..*</td>
          <td>Period</td>
          <td/>
        </tr>
      
        <tr>
          <td>CumulativeDuration</td>
          <td>Out</td>
          <td>0..1</td>
          <td>integer</td>
          <td/>
        </tr>
      
        <tr>
          <td>CumulativeMedicationDuration</td>
          <td>Out</td>
          <td>0..1</td>
          <td>integer</td>
          <td/>
        </tr>
      
      </tbody>
    </table>
  </td>
</tr>





  <tr>


<th colspan="2" scope="row" class="row-header">Library Content</th>


</tr>
  
    
    <tr>
      <th scope="row" class="row-header">CQL Content</th>
      <td>
        <a name="cql-content"> </a>
        <pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">library CumulativeMedicationDurationTests

using FHIR version '4.0.1'

include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1'

include CumulativeMedicationDuration called CMD

context Patient

/*
# Example 1:
MedicationRequest 2 tabs 3x/day   #180/2
* dosage = 2
* frequency = 3x /day (i.e., repeats / period = day)
* supply = 180
* daysSupplied = 30 days
* refills = 2

derived daysSupplied = [supply (180) / ((dosage (2) x frequency (3))] = 30
daysSuppliedWithRefills = [supply (180) x (1 + refills (2)) / ((dosage (2) x frequency (3))] = 30 x 3 = 90 days
*/

/*
## Example 1a - boundsPeriod specified

## Example 1b - expectedSupplyDuration specified

## Example 1c - Calculated from dosing information
*/

/*
# Example 2:
MedicationDispense 2 tabs 3x/day #180/2*
* dosage = 2
* frequency = 3x /day (i.e., repeats / period = day)
* supply = 180
* daysSupplied = 30 days
* refills = n/a

derived daysSupplied = [supply (180) / ((dosage (2) x frequency (3))] = 30
*/

/*
## Example 2a - daysSupply Specified

## Example 2b - Calculated from dosing information
*/

/*
# Example 3:
MedicationRequest ½ tab 2x/day #30/2
* dosage = 1/2
* frequency = 2x /day (i.e., repeats / period = day)
* supply = 30
* daysSupplied = 30
* refills = 2

derived daysSupplied = [supply (30) / ((dosage (1/2) x frequency (2))] = 30
daysSuppliedWithRefills = [supply (30) x (1 + refills (2)) / ((dosage (1/2) x frequency (2) = 30 x 3 = 90 days
*/

/*
## Example 3a - boundsPeriod specified

## Example 3b - expectedSupplyDuration specified

## Example 3c - Calculated from dosing information
*/

/*4
# Example 4:
MedicationDispense ½ tab 2x/day #30/2*
* dosage = 1/2
* frequency = 2x /day (i.e., repeats / period = day)
* supply = 30
* daysSupplied = 30
* refills = n/a

derived daysSupplied = [supply (30) / ((dosage (1/2) x frequency (2))] = 30
*/

/*
## Example 4a - daysSupply Specified

## Example 4b - Calculated from dosing information
*/

/*
# Example 5:
MedicationRequest 5 ml 3x/day  #150 ml/0
* dosage = 5 ml
* frequency = 3x /day (i.e., repeats / period = day)
* supply = 150 ml
* daysSupplied = 10
* refills = 0

derived daysSupplied = [supply (150 ml) / ((dosage (5 ml) x frequency (3)) = 10 days
daysSuppliedWithRefills = [supply (150 ml) x (1 + refills (0)) / ((dosage (5 ml) x frequency (3)) = 10 days
*/

/*
# Example 6:
MedicationDispense 5 ml 3x/day  #150 ml/0*
* dosage = 5 ml
* frequency = 3x /day (i.e., repeats / period = day)
* supply = 150 ml
* daysSupplied = 10
* refills = n/a

* CMD calculated for “Medication, Dispensed” does not use the number of refills; rather, the days covered by each dispensing event must be retrieved and added.
*/

define Prescriptions: [MedicationRequest]
define Dispenses: [MedicationDispense]

define PrescriptionPeriods:
  Prescriptions P
    return CMD.MedicationRequestPeriod(P)

define DispensePeriods:
  Dispenses D
    return CMD.MedicationDispensePeriod(D)

define CumulativeDuration:
  CMD.CumulativeDuration(PrescriptionPeriods union DispensePeriods)

// TODO: Debug this
define CumulativeMedicationDuration:
  CMD.CumulativeMedicationDuration(
    Prescriptions
      union Dispenses
  )
</code></pre>
      </td>
    </tr>
    
  
    
    <tr>
      <th scope="row" class="row-header">ELM XML Content</th>
      <td>
        <pre style="border: none;" class="content-container highlight language-cql"><code>Encoded data </code></pre>
      </td>
    </tr>
    
  
    
    <tr>
      <th scope="row" class="row-header">ELM JSON Content</th>
      <td>
        <pre style="border: none;" class="content-container highlight language-cql"><code>Encoded data </code></pre>
      </td>
    </tr>
    
  

<tr>
  <th colspan="2" scope="row" class="row-header">Generated using version 0.5.3-cibuild of the sample-content-ig Liquid templates</th>
</tr>

    </tbody>
  </table>
</div>
  </text>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="3"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="cds"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="informative"/>
  </extension>
  <url
       value="http://hl7.org/fhir/us/cql/Library/CumulativeMedicationDurationTests"/>
  <version value="1.0.0"/>
  <name value="CumulativeMedicationDurationTests"/>
  <title value="Cumulative Medication Duration Tests"/>
  <status value="active"/>
  <experimental value="true"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2025-10-07T14:51:34+00:00"/>
  <publisher value="HL7 International / Clinical Decision Support"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/dss"/>
    </telecom>
  </contact>
  <description
               value="This library provides tests for the cumulative medication duration calculation logic for use with FHIR medication prescription, administration, and dispensing resources."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America"/>
    </coding>
  </jurisdiction>
  <topic>
    <text value="FHIR"/>
  </topic>
  <topic>
    <text value="CQL"/>
  </topic>
  <topic>
    <text value="Medication"/>
  </topic>
  <topic>
    <text value="Cumulative Medication Duration"/>
  </topic>
  <topic>
    <text value="Unit Tests"/>
  </topic>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library FHIRHelpers"/>
    <resource value="http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library CMD"/>
    <resource
              value="http://hl7.org/fhir/us/cql/Library/CumulativeMedicationDuration"/>
  </relatedArtifact>
  <parameter>
    <name value="Patient"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Patient"/>
  </parameter>
  <parameter>
    <name value="Prescriptions"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="MedicationRequest"/>
  </parameter>
  <parameter>
    <name value="Dispenses"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="MedicationDispense"/>
  </parameter>
  <parameter>
    <name value="PrescriptionPeriods"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Period"/>
  </parameter>
  <parameter>
    <name value="DispensePeriods"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Period"/>
  </parameter>
  <parameter>
    <name value="CumulativeDuration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="integer"/>
  </parameter>
  <parameter>
    <name value="CumulativeMedicationDuration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="integer"/>
  </parameter>
  <dataRequirement>
    <type value="MedicationRequest"/>
    <profile
             value="http://hl7.org/fhir/StructureDefinition/MedicationRequest"/>
  </dataRequirement>
  <dataRequirement>
    <type value="MedicationDispense"/>
    <profile
             value="http://hl7.org/fhir/StructureDefinition/MedicationDispense"/>
  </dataRequirement>
  <content>
    <contentType value="text/cql"/>
    <data
          value="bGlicmFyeSBDdW11bGF0aXZlTWVkaWNhdGlvbkR1cmF0aW9uVGVzdHMKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIGhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvbiBjYWxsZWQgQ01ECgpjb250ZXh0IFBhdGllbnQKCi8qCiMgRXhhbXBsZSAxOgpNZWRpY2F0aW9uUmVxdWVzdCAyIHRhYnMgM3gvZGF5ICAgIzE4MC8yCiogZG9zYWdlID0gMgoqIGZyZXF1ZW5jeSA9IDN4IC9kYXkgKGkuZS4sIHJlcGVhdHMgLyBwZXJpb2QgPSBkYXkpCiogc3VwcGx5ID0gMTgwCiogZGF5c1N1cHBsaWVkID0gMzAgZGF5cwoqIHJlZmlsbHMgPSAyCgpkZXJpdmVkIGRheXNTdXBwbGllZCA9IFtzdXBwbHkgKDE4MCkgLyAoKGRvc2FnZSAoMikgeCBmcmVxdWVuY3kgKDMpKV0gPSAzMApkYXlzU3VwcGxpZWRXaXRoUmVmaWxscyA9IFtzdXBwbHkgKDE4MCkgeCAoMSArIHJlZmlsbHMgKDIpKSAvICgoZG9zYWdlICgyKSB4IGZyZXF1ZW5jeSAoMykpXSA9IDMwIHggMyA9IDkwIGRheXMKKi8KCi8qCiMjIEV4YW1wbGUgMWEgLSBib3VuZHNQZXJpb2Qgc3BlY2lmaWVkCgojIyBFeGFtcGxlIDFiIC0gZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiBzcGVjaWZpZWQKCiMjIEV4YW1wbGUgMWMgLSBDYWxjdWxhdGVkIGZyb20gZG9zaW5nIGluZm9ybWF0aW9uCiovCgovKgojIEV4YW1wbGUgMjoKTWVkaWNhdGlvbkRpc3BlbnNlIDIgdGFicyAzeC9kYXkgIzE4MC8yKgoqIGRvc2FnZSA9IDIKKiBmcmVxdWVuY3kgPSAzeCAvZGF5IChpLmUuLCByZXBlYXRzIC8gcGVyaW9kID0gZGF5KQoqIHN1cHBseSA9IDE4MAoqIGRheXNTdXBwbGllZCA9IDMwIGRheXMKKiByZWZpbGxzID0gbi9hCgpkZXJpdmVkIGRheXNTdXBwbGllZCA9IFtzdXBwbHkgKDE4MCkgLyAoKGRvc2FnZSAoMikgeCBmcmVxdWVuY3kgKDMpKV0gPSAzMAoqLwoKLyoKIyMgRXhhbXBsZSAyYSAtIGRheXNTdXBwbHkgU3BlY2lmaWVkCgojIyBFeGFtcGxlIDJiIC0gQ2FsY3VsYXRlZCBmcm9tIGRvc2luZyBpbmZvcm1hdGlvbgoqLwoKLyoKIyBFeGFtcGxlIDM6Ck1lZGljYXRpb25SZXF1ZXN0IMK9IHRhYiAyeC9kYXkgIzMwLzIKKiBkb3NhZ2UgPSAxLzIKKiBmcmVxdWVuY3kgPSAyeCAvZGF5IChpLmUuLCByZXBlYXRzIC8gcGVyaW9kID0gZGF5KQoqIHN1cHBseSA9IDMwCiogZGF5c1N1cHBsaWVkID0gMzAKKiByZWZpbGxzID0gMgoKZGVyaXZlZCBkYXlzU3VwcGxpZWQgPSBbc3VwcGx5ICgzMCkgLyAoKGRvc2FnZSAoMS8yKSB4IGZyZXF1ZW5jeSAoMikpXSA9IDMwCmRheXNTdXBwbGllZFdpdGhSZWZpbGxzID0gW3N1cHBseSAoMzApIHggKDEgKyByZWZpbGxzICgyKSkgLyAoKGRvc2FnZSAoMS8yKSB4IGZyZXF1ZW5jeSAoMikgPSAzMCB4IDMgPSA5MCBkYXlzCiovCgovKgojIyBFeGFtcGxlIDNhIC0gYm91bmRzUGVyaW9kIHNwZWNpZmllZAoKIyMgRXhhbXBsZSAzYiAtIGV4cGVjdGVkU3VwcGx5RHVyYXRpb24gc3BlY2lmaWVkCgojIyBFeGFtcGxlIDNjIC0gQ2FsY3VsYXRlZCBmcm9tIGRvc2luZyBpbmZvcm1hdGlvbgoqLwoKLyo0CiMgRXhhbXBsZSA0OgpNZWRpY2F0aW9uRGlzcGVuc2Ugwr0gdGFiIDJ4L2RheSAjMzAvMioKKiBkb3NhZ2UgPSAxLzIKKiBmcmVxdWVuY3kgPSAyeCAvZGF5IChpLmUuLCByZXBlYXRzIC8gcGVyaW9kID0gZGF5KQoqIHN1cHBseSA9IDMwCiogZGF5c1N1cHBsaWVkID0gMzAKKiByZWZpbGxzID0gbi9hCgpkZXJpdmVkIGRheXNTdXBwbGllZCA9IFtzdXBwbHkgKDMwKSAvICgoZG9zYWdlICgxLzIpIHggZnJlcXVlbmN5ICgyKSldID0gMzAKKi8KCi8qCiMjIEV4YW1wbGUgNGEgLSBkYXlzU3VwcGx5IFNwZWNpZmllZAoKIyMgRXhhbXBsZSA0YiAtIENhbGN1bGF0ZWQgZnJvbSBkb3NpbmcgaW5mb3JtYXRpb24KKi8KCi8qCiMgRXhhbXBsZSA1OgpNZWRpY2F0aW9uUmVxdWVzdCA1IG1sIDN4L2RheSAgIzE1MCBtbC8wCiogZG9zYWdlID0gNSBtbAoqIGZyZXF1ZW5jeSA9IDN4IC9kYXkgKGkuZS4sIHJlcGVhdHMgLyBwZXJpb2QgPSBkYXkpCiogc3VwcGx5ID0gMTUwIG1sCiogZGF5c1N1cHBsaWVkID0gMTAKKiByZWZpbGxzID0gMAoKZGVyaXZlZCBkYXlzU3VwcGxpZWQgPSBbc3VwcGx5ICgxNTAgbWwpIC8gKChkb3NhZ2UgKDUgbWwpIHggZnJlcXVlbmN5ICgzKSkgPSAxMCBkYXlzCmRheXNTdXBwbGllZFdpdGhSZWZpbGxzID0gW3N1cHBseSAoMTUwIG1sKSB4ICgxICsgcmVmaWxscyAoMCkpIC8gKChkb3NhZ2UgKDUgbWwpIHggZnJlcXVlbmN5ICgzKSkgPSAxMCBkYXlzCiovCgovKgojIEV4YW1wbGUgNjoKTWVkaWNhdGlvbkRpc3BlbnNlIDUgbWwgM3gvZGF5ICAjMTUwIG1sLzAqCiogZG9zYWdlID0gNSBtbAoqIGZyZXF1ZW5jeSA9IDN4IC9kYXkgKGkuZS4sIHJlcGVhdHMgLyBwZXJpb2QgPSBkYXkpCiogc3VwcGx5ID0gMTUwIG1sCiogZGF5c1N1cHBsaWVkID0gMTAKKiByZWZpbGxzID0gbi9hCgoqIENNRCBjYWxjdWxhdGVkIGZvciDigJxNZWRpY2F0aW9uLCBEaXNwZW5zZWTigJ0gZG9lcyBub3QgdXNlIHRoZSBudW1iZXIgb2YgcmVmaWxsczsgcmF0aGVyLCB0aGUgZGF5cyBjb3ZlcmVkIGJ5IGVhY2ggZGlzcGVuc2luZyBldmVudCBtdXN0IGJlIHJldHJpZXZlZCBhbmQgYWRkZWQuCiovCgpkZWZpbmUgUHJlc2NyaXB0aW9uczogW01lZGljYXRpb25SZXF1ZXN0XQpkZWZpbmUgRGlzcGVuc2VzOiBbTWVkaWNhdGlvbkRpc3BlbnNlXQoKZGVmaW5lIFByZXNjcmlwdGlvblBlcmlvZHM6CiAgUHJlc2NyaXB0aW9ucyBQCiAgICByZXR1cm4gQ01ELk1lZGljYXRpb25SZXF1ZXN0UGVyaW9kKFApCgpkZWZpbmUgRGlzcGVuc2VQZXJpb2RzOgogIERpc3BlbnNlcyBECiAgICByZXR1cm4gQ01ELk1lZGljYXRpb25EaXNwZW5zZVBlcmlvZChEKQoKZGVmaW5lIEN1bXVsYXRpdmVEdXJhdGlvbjoKICBDTUQuQ3VtdWxhdGl2ZUR1cmF0aW9uKFByZXNjcmlwdGlvblBlcmlvZHMgdW5pb24gRGlzcGVuc2VQZXJpb2RzKQoKLy8gVE9ETzogRGVidWcgdGhpcwpkZWZpbmUgQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvbjoKICBDTUQuQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvbigKICAgIFByZXNjcmlwdGlvbnMKICAgICAgdW5pb24gRGlzcGVuc2VzCiAgKQo="/>
  </content>
  <content>
    <contentType value="application/elm+xml"/>
    <data
          value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iQWxsIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjY3Ij4KICAgICAgICAgPGE6cz5saWJyYXJ5IEN1bXVsYXRpdmVNZWRpY2F0aW9uRHVyYXRpb25UZXN0czwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvblRlc3RzIiBzeXN0ZW09Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY3FsIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSIzOjEtMzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI1OjEtNTo1MSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2hsNy5vcmcvZmhpci91di9jcWwvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPmhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMCIgbG9jYXRvcj0iNzoxLTc6NDciIGxvY2FsSWRlbnRpZmllcj0iQ01EIiBwYXRoPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NxbC9DdW11bGF0aXZlTWVkaWNhdGlvbkR1cmF0aW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkN1bXVsYXRpdmVNZWRpY2F0aW9uRHVyYXRpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBDTUQ8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhbElkPSIyMTUiIGxvY2F0b3I9Ijk6MS05OjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iOToxLTk6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTQiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEyIiBsb2NhdG9yPSI5OjEtOToxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxOCIgbG9jYXRvcj0iMTE0OjEtMTE0OjQxIiBuYW1lPSJQcmVzY3JpcHRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgojIEV4YW1wbGUgMToKTWVkaWNhdGlvblJlcXVlc3QgMiB0YWJzIDN4L2RheSAgICMxODAvMgoqIGRvc2FnZSA9IDIKKiBmcmVxdWVuY3kgPSAzeCAvZGF5IChpLmUuLCByZXBlYXRzIC8gcGVyaW9kID0gZGF5KQoqIHN1cHBseSA9IDE4MAoqIGRheXNTdXBwbGllZCA9IDMwIGRheXMKKiByZWZpbGxzID0gMgoKZGVyaXZlZCBkYXlzU3VwcGxpZWQgPSBbc3VwcGx5ICgxODApIC8gKChkb3NhZ2UgKDIpIHggZnJlcXVlbmN5ICgzKSldID0gMzAKZGF5c1N1cHBsaWVkV2l0aFJlZmlsbHMgPSBbc3VwcGx5ICgxODApIHggKDEgKyByZWZpbGxzICgyKSkgLyAoKGRvc2FnZSAoMikgeCBmcmVxdWVuY3kgKDMpKV0gPSAzMCB4IDMgPSA5MCBkYXlzCiovCgovKgojIyBFeGFtcGxlIDFhIC0gYm91bmRzUGVyaW9kIHNwZWNpZmllZAoKIyMgRXhhbXBsZSAxYiAtIGV4cGVjdGVkU3VwcGx5RHVyYXRpb24gc3BlY2lmaWVkCgojIyBFeGFtcGxlIDFjIC0gQ2FsY3VsYXRlZCBmcm9tIGRvc2luZyBpbmZvcm1hdGlvbgoqLwoKLyoKIyBFeGFtcGxlIDI6Ck1lZGljYXRpb25EaXNwZW5zZSAyIHRhYnMgM3gvZGF5ICMxODAvMioKKiBkb3NhZ2UgPSAyCiogZnJlcXVlbmN5ID0gM3ggL2RheSAoaS5lLiwgcmVwZWF0cyAvIHBlcmlvZCA9IGRheSkKKiBzdXBwbHkgPSAxODAKKiBkYXlzU3VwcGxpZWQgPSAzMCBkYXlzCiogcmVmaWxscyA9IG4vYQoKZGVyaXZlZCBkYXlzU3VwcGxpZWQgPSBbc3VwcGx5ICgxODApIC8gKChkb3NhZ2UgKDIpIHggZnJlcXVlbmN5ICgzKSldID0gMzAKKi8KCi8qCiMjIEV4YW1wbGUgMmEgLSBkYXlzU3VwcGx5IFNwZWNpZmllZAoKIyMgRXhhbXBsZSAyYiAtIENhbGN1bGF0ZWQgZnJvbSBkb3NpbmcgaW5mb3JtYXRpb24KKi8KCi8qCiMgRXhhbXBsZSAzOgpNZWRpY2F0aW9uUmVxdWVzdCDCvSB0YWIgMngvZGF5ICMzMC8yCiogZG9zYWdlID0gMS8yCiogZnJlcXVlbmN5ID0gMnggL2RheSAoaS5lLiwgcmVwZWF0cyAvIHBlcmlvZCA9IGRheSkKKiBzdXBwbHkgPSAzMAoqIGRheXNTdXBwbGllZCA9IDMwCiogcmVmaWxscyA9IDIKCmRlcml2ZWQgZGF5c1N1cHBsaWVkID0gW3N1cHBseSAoMzApIC8gKChkb3NhZ2UgKDEvMikgeCBmcmVxdWVuY3kgKDIpKV0gPSAzMApkYXlzU3VwcGxpZWRXaXRoUmVmaWxscyA9IFtzdXBwbHkgKDMwKSB4ICgxICsgcmVmaWxscyAoMikpIC8gKChkb3NhZ2UgKDEvMikgeCBmcmVxdWVuY3kgKDIpID0gMzAgeCAzID0gOTAgZGF5cwoqLwoKLyoKIyMgRXhhbXBsZSAzYSAtIGJvdW5kc1BlcmlvZCBzcGVjaWZpZWQKCiMjIEV4YW1wbGUgM2IgLSBleHBlY3RlZFN1cHBseUR1cmF0aW9uIHNwZWNpZmllZAoKIyMgRXhhbXBsZSAzYyAtIENhbGN1bGF0ZWQgZnJvbSBkb3NpbmcgaW5mb3JtYXRpb24KKi8KCi8qNAojIEV4YW1wbGUgNDoKTWVkaWNhdGlvbkRpc3BlbnNlIMK9IHRhYiAyeC9kYXkgIzMwLzIqCiogZG9zYWdlID0gMS8yCiogZnJlcXVlbmN5ID0gMnggL2RheSAoaS5lLiwgcmVwZWF0cyAvIHBlcmlvZCA9IGRheSkKKiBzdXBwbHkgPSAzMAoqIGRheXNTdXBwbGllZCA9IDMwCiogcmVmaWxscyA9IG4vYQoKZGVyaXZlZCBkYXlzU3VwcGxpZWQgPSBbc3VwcGx5ICgzMCkgLyAoKGRvc2FnZSAoMS8yKSB4IGZyZXF1ZW5jeSAoMikpXSA9IDMwCiovCgovKgojIyBFeGFtcGxlIDRhIC0gZGF5c1N1cHBseSBTcGVjaWZpZWQKCiMjIEV4YW1wbGUgNGIgLSBDYWxjdWxhdGVkIGZyb20gZG9zaW5nIGluZm9ybWF0aW9uCiovCgovKgojIEV4YW1wbGUgNToKTWVkaWNhdGlvblJlcXVlc3QgNSBtbCAzeC9kYXkgICMxNTAgbWwvMAoqIGRvc2FnZSA9IDUgbWwKKiBmcmVxdWVuY3kgPSAzeCAvZGF5IChpLmUuLCByZXBlYXRzIC8gcGVyaW9kID0gZGF5KQoqIHN1cHBseSA9IDE1MCBtbAoqIGRheXNTdXBwbGllZCA9IDEwCiogcmVmaWxscyA9IDAKCmRlcml2ZWQgZGF5c1N1cHBsaWVkID0gW3N1cHBseSAoMTUwIG1sKSAvICgoZG9zYWdlICg1IG1sKSB4IGZyZXF1ZW5jeSAoMykpID0gMTAgZGF5cwpkYXlzU3VwcGxpZWRXaXRoUmVmaWxscyA9IFtzdXBwbHkgKDE1MCBtbCkgeCAoMSArIHJlZmlsbHMgKDApKSAvICgoZG9zYWdlICg1IG1sKSB4IGZyZXF1ZW5jeSAoMykpID0gMTAgZGF5cwoqLwoKLyoKIyBFeGFtcGxlIDY6Ck1lZGljYXRpb25EaXNwZW5zZSA1IG1sIDN4L2RheSAgIzE1MCBtbC8wKgoqIGRvc2FnZSA9IDUgbWwKKiBmcmVxdWVuY3kgPSAzeCAvZGF5IChpLmUuLCByZXBlYXRzIC8gcGVyaW9kID0gZGF5KQoqIHN1cHBseSA9IDE1MCBtbAoqIGRheXNTdXBwbGllZCA9IDEwCiogcmVmaWxscyA9IG4vYQoKKiBDTUQgY2FsY3VsYXRlZCBmb3Ig4oCcTWVkaWNhdGlvbiwgRGlzcGVuc2Vk4oCdIGRvZXMgbm90IHVzZSB0aGUgbnVtYmVyIG9mIHJlZmlsbHM7IHJhdGhlciwgdGhlIGRheXMgY292ZXJlZCBieSBlYWNoIGRpc3BlbnNpbmcgZXZlbnQgbXVzdCBiZSByZXRyaWV2ZWQgYW5kIGFkZGVkLgoqLwoKZGVmaW5lIFByZXNjcmlwdGlvbnM6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+W01lZGljYXRpb25SZXF1ZXN0XTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSIxMTQ6MjMtMTE0OjQxIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSIxMTU6MS0xMTU6MzgiIG5hbWU9IkRpc3BlbnNlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIERpc3BlbnNlczogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjIzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5bTWVkaWNhdGlvbkRpc3BlbnNlXTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjIzIiBsb2NhdG9yPSIxMTU6MTktMTE1OjM4IiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2UiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uRGlzcGVuc2UiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjExNzoxLTExOTo0MSIgbmFtZT0iUHJlc2NyaXB0aW9uUGVyaW9kcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyNiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIFByZXNjcmlwdGlvblBlcmlvZHM6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UHJlc2NyaXB0aW9uczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNNRDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NZWRpY2F0aW9uUmVxdWVzdFBlcmlvZCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjM1IiBsb2NhdG9yPSIxMTg6My0xMTk6NDEiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjI3IiBsb2NhdG9yPSIxMTg6My0xMTg6MTciIGFsaWFzPSJQIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjI4IiBsb2NhdG9yPSIxMTg6My0xMTg6MTUiIG5hbWU9IlByZXNjcmlwdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTE5OjUtMTE5OjQxIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSIxMTk6MTItMTE5OjQxIiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdFBlcmlvZCIgbGlicmFyeU5hbWU9IkNNRCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyMzQiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMyIiBsb2NhdG9yPSIxMTk6NDAiIG5hbWU9IlAiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzOCIgbG9jYXRvcj0iMTIxOjEtMTIzOjQyIiBuYW1lPSJEaXNwZW5zZVBlcmlvZHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBEaXNwZW5zZVBlcmlvZHM6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGlzcGVuc2VzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q01EPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk1lZGljYXRpb25EaXNwZW5zZVBlcmlvZCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSIxMjI6My0xMjM6NDIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjM5IiBsb2NhdG9yPSIxMjI6My0xMjI6MTMiIGFsaWFzPSJEIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIxMjI6My0xMjI6MTEiIG5hbWU9IkRpc3BlbnNlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSIxMjM6NS0xMjM6NDIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjEyMzoxMi0xMjM6NDIiIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZVBlcmlvZCIgbGlicmFyeU5hbWU9IkNNRCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNDYiIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkRpc3BlbnNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NCIgbG9jYXRvcj0iMTIzOjQxIiBuYW1lPSJEIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNTAiIGxvY2F0b3I9IjEyNToxLTEyNjo2NyIgbmFtZT0iQ3VtdWxhdGl2ZUR1cmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgQ3VtdWxhdGl2ZUR1cmF0aW9uOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5DTUQ8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q3VtdWxhdGl2ZUR1cmF0aW9uKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmVzY3JpcHRpb25QZXJpb2RzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB1bmlvbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkRpc3BlbnNlUGVyaW9kczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iMTI2OjMtMTI2OjY3IiBuYW1lPSJDdW11bGF0aXZlRHVyYXRpb24iIGxpYnJhcnlOYW1lPSJDTUQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjYyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMjYzIiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIyNjQiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICA8L3NpZ25hdHVyZT4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSIxMjY6MjYtMTI2OjY2IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI1NSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjI1NiIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMjU3IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9zaWduYXR1cmU+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjU4IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMjU5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIyNjAiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L3NpZ25hdHVyZT4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSIxMjY6MjYtMTI2OjQ0IiBuYW1lPSJQcmVzY3JpcHRpb25QZXJpb2RzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTMiIGxvY2F0b3I9IjEyNjo1Mi0xMjY6NjYiIG5hbWU9IkRpc3BlbnNlUGVyaW9kcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iMTI5OjEtMTMzOjMiIG5hbWU9IkN1bXVsYXRpdmVNZWRpY2F0aW9uRHVyYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICA8YTpzPi8vIFRPRE86IERlYnVnIHRoaXMKZGVmaW5lIEN1bXVsYXRpdmVNZWRpY2F0aW9uRHVyYXRpb246CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkNNRDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5DdW11bGF0aXZlTWVkaWNhdGlvbkR1cmF0aW9uKAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlByZXNjcmlwdGlvbnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIHVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGlzcGVuc2VzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICApPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkwIiBsb2NhdG9yPSIxMzA6My0xMzM6MyIgbmFtZT0iQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvbiIgbGlicmFyeU5hbWU9IkNNRCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyOTEiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIyOTIiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyOTMiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyOTQiIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkRpc3BlbnNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgIDwvc2lnbmF0dXJlPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODEiIGxvY2F0b3I9IjEzMTo1LTEzMjoyMSIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyODIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBsb2NhbElkPSIyODMiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyODQiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyODUiIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkRpc3BlbnNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvc2lnbmF0dXJlPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI4NiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjI4NyIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjI4OCIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjI4OSIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9zaWduYXR1cmU+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3MSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSIxMzE6NS0xMzE6MTciIG5hbWU9IlByZXNjcmlwdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjcyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMjczIiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMjc0IiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMjc1IiBuYW1lPSJmaGlyOk1lZGljYXRpb25EaXNwZW5zZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzYiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3MCIgbG9jYXRvcj0iMTMyOjEzLTEzMjoyMSIgbmFtZT0iRGlzcGVuc2VzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI3NyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjI3OCIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjI3OSIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjI4MCIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K"/>
  </content>
  <content>
    <contentType value="application/elm+json"/>
    <data
          value="ewogICAibGlicmFyeSIgOiB7CiAgICAgICJsb2NhbElkIiA6ICIwIiwKICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICJ0cmFuc2xhdG9yT3B0aW9ucyIgOiAiRW5hYmxlQW5ub3RhdGlvbnMsRW5hYmxlTG9jYXRvcnMsRGlzYWJsZUxpc3REZW1vdGlvbixEaXNhYmxlTGlzdFByb21vdGlvbiIsCiAgICAgICAgICJzaWduYXR1cmVMZXZlbCIgOiAiQWxsIiwKICAgICAgICAgInR5cGUiIDogIkNxbFRvRWxtSW5mbyIKICAgICAgfSwgewogICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgInIiIDogIjI2NyIsCiAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwibGlicmFyeSBDdW11bGF0aXZlTWVkaWNhdGlvbkR1cmF0aW9uVGVzdHMiIF0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0KICAgICAgfSBdLAogICAgICAiaWRlbnRpZmllciIgOiB7CiAgICAgICAgICJpZCIgOiAiQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvblRlc3RzIiwKICAgICAgICAgInN5c3RlbSIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWwiCiAgICAgIH0sCiAgICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJ1cm46aGw3LW9yZzplbG0iLAogICAgICAgICAidmVyc2lvbiIgOiAicjEiCiAgICAgIH0sCiAgICAgICJ1c2luZ3MiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMSIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIlN5c3RlbSIsCiAgICAgICAgICAgICJ1cmkiIDogInVybjpobDctb3JnOmVsbS10eXBlczpyMSIKICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjA2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjM6MS0zOjI2IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiRkhJUiIsCiAgICAgICAgICAgICJ1cmkiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMDYiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsInVzaW5nICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHZlcnNpb24gJzQuMC4xJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJpbmNsdWRlcyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMDgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNToxLTU6NTEiLAogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJGSElSSGVscGVycyIsCiAgICAgICAgICAgICJwYXRoIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NxbC9GSElSSGVscGVycyIsCiAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICI0LjAuMSIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIwOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiaW5jbHVkZSAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgImhsNyIsIi4iLCJmaGlyIiwiLiIsInV2IiwiLiIsImNxbCIsIi4iLCJGSElSSGVscGVycyIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIHZlcnNpb24gIiwiJzQuMC4xJyIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjEwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjc6MS03OjQ3IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiQ01EIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY3FsL0N1bXVsYXRpdmVNZWRpY2F0aW9uRHVyYXRpb24iLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyMTAiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDdW11bGF0aXZlTWVkaWNhdGlvbkR1cmF0aW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgY2FsbGVkICIsIkNNRCIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb250ZXh0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTUiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiOToxLTk6MTUiLAogICAgICAgICAgICAibmFtZSIgOiAiUGF0aWVudCIKICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJzdGF0ZW1lbnRzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxMyIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5OjEtOToxNSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTQiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiU2luZ2xldG9uRnJvbSIsCiAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTIiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiOToxLTk6MTUiLAogICAgICAgICAgICAgICAgICAiZGF0YVR5cGUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfVBhdGllbnQiLAogICAgICAgICAgICAgICAgICAidGVtcGxhdGVJZCIgOiAiaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAgICAiaW5jbHVkZSIgOiBbIF0sCiAgICAgICAgICAgICAgICAgICJjb2RlRmlsdGVyIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgImRhdGVGaWx0ZXIiIDogWyBdLAogICAgICAgICAgICAgICAgICAib3RoZXJGaWx0ZXIiIDogWyBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMTgiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTE0OjEtMTE0OjQxIiwKICAgICAgICAgICAgIm5hbWUiIDogIlByZXNjcmlwdGlvbnMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjE4IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKlxuIyBFeGFtcGxlIDE6XG5NZWRpY2F0aW9uUmVxdWVzdCAyIHRhYnMgM3gvZGF5ICAgIzE4MC8yXG4qIGRvc2FnZSA9IDJcbiogZnJlcXVlbmN5ID0gM3ggL2RheSAoaS5lLiwgcmVwZWF0cyAvIHBlcmlvZCA9IGRheSlcbiogc3VwcGx5ID0gMTgwXG4qIGRheXNTdXBwbGllZCA9IDMwIGRheXNcbiogcmVmaWxscyA9IDJcblxuZGVyaXZlZCBkYXlzU3VwcGxpZWQgPSBbc3VwcGx5ICgxODApIC8gKChkb3NhZ2UgKDIpIHggZnJlcXVlbmN5ICgzKSldID0gMzBcbmRheXNTdXBwbGllZFdpdGhSZWZpbGxzID0gW3N1cHBseSAoMTgwKSB4ICgxICsgcmVmaWxscyAoMikpIC8gKChkb3NhZ2UgKDIpIHggZnJlcXVlbmN5ICgzKSldID0gMzAgeCAzID0gOTAgZGF5c1xuKi9cblxuLypcbiMjIEV4YW1wbGUgMWEgLSBib3VuZHNQZXJpb2Qgc3BlY2lmaWVkXG5cbiMjIEV4YW1wbGUgMWIgLSBleHBlY3RlZFN1cHBseUR1cmF0aW9uIHNwZWNpZmllZFxuXG4jIyBFeGFtcGxlIDFjIC0gQ2FsY3VsYXRlZCBmcm9tIGRvc2luZyBpbmZvcm1hdGlvblxuKi9cblxuLypcbiMgRXhhbXBsZSAyOlxuTWVkaWNhdGlvbkRpc3BlbnNlIDIgdGFicyAzeC9kYXkgIzE4MC8yKlxuKiBkb3NhZ2UgPSAyXG4qIGZyZXF1ZW5jeSA9IDN4IC9kYXkgKGkuZS4sIHJlcGVhdHMgLyBwZXJpb2QgPSBkYXkpXG4qIHN1cHBseSA9IDE4MFxuKiBkYXlzU3VwcGxpZWQgPSAzMCBkYXlzXG4qIHJlZmlsbHMgPSBuL2FcblxuZGVyaXZlZCBkYXlzU3VwcGxpZWQgPSBbc3VwcGx5ICgxODApIC8gKChkb3NhZ2UgKDIpIHggZnJlcXVlbmN5ICgzKSldID0gMzBcbiovXG5cbi8qXG4jIyBFeGFtcGxlIDJhIC0gZGF5c1N1cHBseSBTcGVjaWZpZWRcblxuIyMgRXhhbXBsZSAyYiAtIENhbGN1bGF0ZWQgZnJvbSBkb3NpbmcgaW5mb3JtYXRpb25cbiovXG5cbi8qXG4jIEV4YW1wbGUgMzpcbk1lZGljYXRpb25SZXF1ZXN0IMK9IHRhYiAyeC9kYXkgIzMwLzJcbiogZG9zYWdlID0gMS8yXG4qIGZyZXF1ZW5jeSA9IDJ4IC9kYXkgKGkuZS4sIHJlcGVhdHMgLyBwZXJpb2QgPSBkYXkpXG4qIHN1cHBseSA9IDMwXG4qIGRheXNTdXBwbGllZCA9IDMwXG4qIHJlZmlsbHMgPSAyXG5cbmRlcml2ZWQgZGF5c1N1cHBsaWVkID0gW3N1cHBseSAoMzApIC8gKChkb3NhZ2UgKDEvMikgeCBmcmVxdWVuY3kgKDIpKV0gPSAzMFxuZGF5c1N1cHBsaWVkV2l0aFJlZmlsbHMgPSBbc3VwcGx5ICgzMCkgeCAoMSArIHJlZmlsbHMgKDIpKSAvICgoZG9zYWdlICgxLzIpIHggZnJlcXVlbmN5ICgyKSA9IDMwIHggMyA9IDkwIGRheXNcbiovXG5cbi8qXG4jIyBFeGFtcGxlIDNhIC0gYm91bmRzUGVyaW9kIHNwZWNpZmllZFxuXG4jIyBFeGFtcGxlIDNiIC0gZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiBzcGVjaWZpZWRcblxuIyMgRXhhbXBsZSAzYyAtIENhbGN1bGF0ZWQgZnJvbSBkb3NpbmcgaW5mb3JtYXRpb25cbiovXG5cbi8qNFxuIyBFeGFtcGxlIDQ6XG5NZWRpY2F0aW9uRGlzcGVuc2Ugwr0gdGFiIDJ4L2RheSAjMzAvMipcbiogZG9zYWdlID0gMS8yXG4qIGZyZXF1ZW5jeSA9IDJ4IC9kYXkgKGkuZS4sIHJlcGVhdHMgLyBwZXJpb2QgPSBkYXkpXG4qIHN1cHBseSA9IDMwXG4qIGRheXNTdXBwbGllZCA9IDMwXG4qIHJlZmlsbHMgPSBuL2FcblxuZGVyaXZlZCBkYXlzU3VwcGxpZWQgPSBbc3VwcGx5ICgzMCkgLyAoKGRvc2FnZSAoMS8yKSB4IGZyZXF1ZW5jeSAoMikpXSA9IDMwXG4qL1xuXG4vKlxuIyMgRXhhbXBsZSA0YSAtIGRheXNTdXBwbHkgU3BlY2lmaWVkXG5cbiMjIEV4YW1wbGUgNGIgLSBDYWxjdWxhdGVkIGZyb20gZG9zaW5nIGluZm9ybWF0aW9uXG4qL1xuXG4vKlxuIyBFeGFtcGxlIDU6XG5NZWRpY2F0aW9uUmVxdWVzdCA1IG1sIDN4L2RheSAgIzE1MCBtbC8wXG4qIGRvc2FnZSA9IDUgbWxcbiogZnJlcXVlbmN5ID0gM3ggL2RheSAoaS5lLiwgcmVwZWF0cyAvIHBlcmlvZCA9IGRheSlcbiogc3VwcGx5ID0gMTUwIG1sXG4qIGRheXNTdXBwbGllZCA9IDEwXG4qIHJlZmlsbHMgPSAwXG5cbmRlcml2ZWQgZGF5c1N1cHBsaWVkID0gW3N1cHBseSAoMTUwIG1sKSAvICgoZG9zYWdlICg1IG1sKSB4IGZyZXF1ZW5jeSAoMykpID0gMTAgZGF5c1xuZGF5c1N1cHBsaWVkV2l0aFJlZmlsbHMgPSBbc3VwcGx5ICgxNTAgbWwpIHggKDEgKyByZWZpbGxzICgwKSkgLyAoKGRvc2FnZSAoNSBtbCkgeCBmcmVxdWVuY3kgKDMpKSA9IDEwIGRheXNcbiovXG5cbi8qXG4jIEV4YW1wbGUgNjpcbk1lZGljYXRpb25EaXNwZW5zZSA1IG1sIDN4L2RheSAgIzE1MCBtbC8wKlxuKiBkb3NhZ2UgPSA1IG1sXG4qIGZyZXF1ZW5jeSA9IDN4IC9kYXkgKGkuZS4sIHJlcGVhdHMgLyBwZXJpb2QgPSBkYXkpXG4qIHN1cHBseSA9IDE1MCBtbFxuKiBkYXlzU3VwcGxpZWQgPSAxMFxuKiByZWZpbGxzID0gbi9hXG5cbiogQ01EIGNhbGN1bGF0ZWQgZm9yIOKAnE1lZGljYXRpb24sIERpc3BlbnNlZOKAnSBkb2VzIG5vdCB1c2UgdGhlIG51bWJlciBvZiByZWZpbGxzOyByYXRoZXIsIHRoZSBkYXlzIGNvdmVyZWQgYnkgZWFjaCBkaXNwZW5zaW5nIGV2ZW50IG11c3QgYmUgcmV0cmlldmVkIGFuZCBhZGRlZC5cbiovXG5cbiIsImRlZmluZSAiLCJQcmVzY3JpcHRpb25zIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjE5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiTWVkaWNhdGlvblJlcXVlc3QiLCJdIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIxOSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTQ6MjMtMTE0OjQxIiwKICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICJ0ZW1wbGF0ZUlkIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAiaW5jbHVkZSIgOiBbIF0sCiAgICAgICAgICAgICAgICJjb2RlRmlsdGVyIiA6IFsgXSwKICAgICAgICAgICAgICAgImRhdGVGaWx0ZXIiIDogWyBdLAogICAgICAgICAgICAgICAib3RoZXJGaWx0ZXIiIDogWyBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjIyIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNToxLTExNTozOCIsCiAgICAgICAgICAgICJuYW1lIiA6ICJEaXNwZW5zZXMiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJhY2Nlc3NMZXZlbCIgOiAiUHVibGljIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMjIyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJkZWZpbmUgIiwiRGlzcGVuc2VzIiwiOiAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjIzIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJbIiwiTWVkaWNhdGlvbkRpc3BlbnNlIiwiXSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjMiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE1OjE5LTExNTozOCIsCiAgICAgICAgICAgICAgICJkYXRhVHlwZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbkRpc3BlbnNlIiwKICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9NZWRpY2F0aW9uRGlzcGVuc2UiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiUmV0cmlldmUiLAogICAgICAgICAgICAgICAiaW5jbHVkZSIgOiBbIF0sCiAgICAgICAgICAgICAgICJjb2RlRmlsdGVyIiA6IFsgXSwKICAgICAgICAgICAgICAgImRhdGVGaWx0ZXIiIDogWyBdLAogICAgICAgICAgICAgICAib3RoZXJGaWx0ZXIiIDogWyBdCiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjExNzoxLTExOTo0MSIsCiAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpcHRpb25QZXJpb2RzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIyNiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIlByZXNjcmlwdGlvblBlcmlvZHMiLCI6XG4gICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzUiLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIyOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlByZXNjcmlwdGlvbnMiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgIiwiUCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICAgICIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgInJldHVybiAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNNRCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIk1lZGljYXRpb25SZXF1ZXN0UGVyaW9kIiwiKCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyMzIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlAiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIikiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM1IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODozLTExOTo0MSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJRdWVyeSIsCiAgICAgICAgICAgICAgICJzb3VyY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyMjciLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTE4OjMtMTE4OjE3IiwKICAgICAgICAgICAgICAgICAgImFsaWFzIiA6ICJQIiwKICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjI4IiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExODozLTExODoxNSIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAibGV0IiA6IFsgXSwKICAgICAgICAgICAgICAgInJlbGF0aW9uc2hpcCIgOiBbIF0sCiAgICAgICAgICAgICAgICJyZXR1cm4iIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjMwIiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjExOTo1LTExOTo0MSIsCiAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMyIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6MTItMTE5OjQxIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIk1lZGljYXRpb25SZXF1ZXN0UGVyaW9kIiwKICAgICAgICAgICAgICAgICAgICAgImxpYnJhcnlOYW1lIiA6ICJDTUQiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRnVuY3Rpb25SZWYiLAogICAgICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjM0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMTk6NDAiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiUCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzOCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjE6MS0xMjM6NDIiLAogICAgICAgICAgICAibmFtZSIgOiAiRGlzcGVuc2VQZXJpb2RzIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjIzOCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIkRpc3BlbnNlUGVyaW9kcyIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NyIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjIzOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGlzcGVuc2VzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiICIsIkQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJyZXR1cm4gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDTUQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJNZWRpY2F0aW9uRGlzcGVuc2VQZXJpb2QiLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRCIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDciLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIyOjMtMTIzOjQyIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIlF1ZXJ5IiwKICAgICAgICAgICAgICAgInNvdXJjZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjIzOSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjI6My0xMjI6MTMiLAogICAgICAgICAgICAgICAgICAiYWxpYXMiIDogIkQiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDAiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIyOjMtMTIyOjExIiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkRpc3BlbnNlcyIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJFeHByZXNzaW9uUmVmIgogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgImxldCIgOiBbIF0sCiAgICAgICAgICAgICAgICJyZWxhdGlvbnNoaXAiIDogWyBdLAogICAgICAgICAgICAgICAicmV0dXJuIiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0MiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjM6NS0xMjM6NDIiLAogICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDUiLAogICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTIzOjEyLTEyMzo0MiIsCiAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJNZWRpY2F0aW9uRGlzcGVuc2VQZXJpb2QiLAogICAgICAgICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNNRCIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNDYiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbkRpc3BlbnNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI0NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjM6NDEiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbGlhc1JlZiIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1MCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjU6MS0xMjY6NjciLAogICAgICAgICAgICAibmFtZSIgOiAiQ3VtdWxhdGl2ZUR1cmF0aW9uIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjI1MCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIiwiZGVmaW5lICIsIkN1bXVsYXRpdmVEdXJhdGlvbiIsIjpcbiAgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI2MSIsCiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDTUQiIF0KICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi4iIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjYxIiwKICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJDdW11bGF0aXZlRHVyYXRpb24iLCIoIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQcmVzY3JpcHRpb25QZXJpb2RzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdW5pb24gIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI1MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGlzcGVuc2VQZXJpb2RzIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiKSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgImV4cHJlc3Npb24iIDogewogICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYxIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNjozLTEyNjo2NyIsCiAgICAgICAgICAgICAgICJuYW1lIiA6ICJDdW11bGF0aXZlRHVyYXRpb24iLAogICAgICAgICAgICAgICAibGlicmFyeU5hbWUiIDogIkNNRCIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJGdW5jdGlvblJlZiIsCiAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyB7CiAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjIiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjYzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9RGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICAgICJvcGVyYW5kIiA6IFsgewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU0IiwKICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNjoyNi0xMjY6NjYiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU1IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1NiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAicG9pbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1NyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjU4IiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAicG9pbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI2MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI1MiIsCiAgICAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMjY6MjYtMTI2OjQ0IiwKICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlByZXNjcmlwdGlvblBlcmlvZHMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjUzIiwKICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEyNjo1Mi0xMjY6NjYiLAogICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAiRGlzcGVuc2VQZXJpb2RzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNjciLAogICAgICAgICAgICAibG9jYXRvciIgOiAiMTI5OjEtMTMzOjMiLAogICAgICAgICAgICAibmFtZSIgOiAiQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjciLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIi8vIFRPRE86IERlYnVnIHRoaXNcbiIsImRlZmluZSAiLCJDdW11bGF0aXZlTWVkaWNhdGlvbkR1cmF0aW9uIiwiOlxuICAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjkwIiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNjgiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkNNRCIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLiIgXQogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyOTAiLAogICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkN1bXVsYXRpdmVNZWRpY2F0aW9uRHVyYXRpb24iLCIoXG4gICAgIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjI4MSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJQcmVzY3JpcHRpb25zIiBdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJcbiAgICAgIHVuaW9uICIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIyNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkRpc3BlbnNlcyIgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIlxuICApIiBdCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTAiLAogICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMwOjMtMTMzOjMiLAogICAgICAgICAgICAgICAibmFtZSIgOiAiQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvbiIsCiAgICAgICAgICAgICAgICJsaWJyYXJ5TmFtZSIgOiAiQ01EIiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkZ1bmN0aW9uUmVmIiwKICAgICAgICAgICAgICAgInNpZ25hdHVyZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI5MSIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXN0VHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICJlbGVtZW50VHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTIiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQ2hvaWNlVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICAgICAgICJjaG9pY2UiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTMiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvblJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyOTQiLAogICAgICAgICAgICAgICAgICAgICAgICAibmFtZSIgOiAie2h0dHA6Ly9obDcub3JnL2ZoaXJ9TWVkaWNhdGlvbkRpc3BlbnNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiBbIHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4MSIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMzE6NS0xMzI6MjEiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiVW5pb24iLAogICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgyIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI4NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uRGlzcGVuc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyODYiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg3IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25EaXNwZW5zZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gXSwKICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzEiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiQXMiLAogICAgICAgICAgICAgICAgICAgICAic2lnbmF0dXJlIiA6IFsgXSwKICAgICAgICAgICAgICAgICAgICAgIm9wZXJhbmQiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjY5IiwKICAgICAgICAgICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjEzMTo1LTEzMToxNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJQcmVzY3JpcHRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkV4cHJlc3Npb25SZWYiCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICJhc1R5cGVTcGVjaWZpZXIiIDogewogICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjcyIiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpc3RUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgImVsZW1lbnRUeXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3MyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJDaG9pY2VUeXBlU3BlY2lmaWVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgImNob2ljZSIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uUmVxdWVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1NZWRpY2F0aW9uRGlzcGVuc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjI3NiIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBcyIsCiAgICAgICAgICAgICAgICAgICAgICJzaWduYXR1cmUiIDogWyBdLAogICAgICAgICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzAiLAogICAgICAgICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiMTMyOjEzLTEzMjoyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJEaXNwZW5zZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRXhwcmVzc2lvblJlZiIKICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgImFzVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIyNzciLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGlzdFR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudFR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkNob2ljZVR5cGVTcGVjaWZpZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hvaWNlIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjc5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25SZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIk5hbWVkVHlwZVNwZWNpZmllciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiMjgwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIntodHRwOi8vaGw3Lm9yZy9maGlyfU1lZGljYXRpb25EaXNwZW5zZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJOYW1lZFR5cGVTcGVjaWZpZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICB9CiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ=="/>
  </content>
</Library>