<?xml version="1.0" encoding="UTF-8"?>

<Library xmlns="http://hl7.org/fhir">
  <id value="IMMZD18SPolioIPVOnlyLogic"/>
  <meta>
    <profile value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"/>
    <profile value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"/>
    <profile value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"/>
    <profile value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"/>
  </meta>
  <text>
    <status value="extensions"/><div xmlns="http://www.w3.org/1999/xhtml">
<div>
    <table class="grid dict">
        
        
        <tr>
            <th scope="row"><b>Title: </b></th>
            <td style="padding-left: 4px;">IMMZD18SPolioIPVOnlyLogic</td>
        </tr>
        

        
        
        <tr>
            <th scope="row"><b>Id: </b></th>
            <td style="padding-left: 4px;">IMMZD18SPolioIPVOnlyLogic</td>
        </tr>
        

        
        
        <tr>
            <th scope="row"><b>Version: </b></th>
            <td style="padding-left: 4px;">1.0.0</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="Library-IMMZD18SPolioIPVOnlyLogic.html">IMMZD18SPolioIPVOnlyLogic</a></td>
        </tr>
        

        

        

        
        <tr>
            <th scope="row"><b>Status: </b></th>
            <td style="padding-left: 4px;">draft</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/7.1.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a></span>
                        </p>
                        
                        
                        <p style="margin-bottom: 5px;">
                            <b>code: </b> <span>logic-library</span>
                        </p>
                        
                        
                    
                
                
            </td>
        </tr>
        

        

        
        <tr>
            <th scope="row"><b>Date: </b></th>
            <td style="padding-left: 4px;">2026-03-31 13:54:17+0000</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Publisher: </b></th>
            <td style="padding-left: 4px;">WHO</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Description: </b></th>
            <td style="padding-left: 4px;"><div><p>This library defines decision support logic for the IMMZ.D18.S.Polio.IPV-only schedule table in the Immunization CPG</p>
</div></td>
        </tr>
        

        

        

        

        

        

        

        

        

        

        

        
        <tr>
            <th scope="row"><b>Related Artifacts: </b></th>
            <td style="padding-left: 4px;">
                
                
                
                <p><b>Dependencies</b></p>
                <ul>
                  
                    <li><a href="Library-WHOCommon.html">WHOCommon</a></li>
                  
                    <li><a href="Library-IMMZCommon.html">IMMZCommon</a></li>
                  
                    <li><a href="Library-IMMZConcepts.html">IMMZConcepts</a></li>
                  
                    <li><a href="Library-IMMZEncounterElements.html">IMMZEncounterElements</a></li>
                  
                    <li><a href="Library-IMMZD2DTPolioEncounterElements.html">IMMZD2DTPolioEncounterElements</a></li>
                  
                </ul>
                
                
                
                
                
            </td>
        </tr>
        

        
        <tr>
          <th scope="row"><b>Parameters: </b></th>
          <td style="padding-left: 4px;">
            <table class="grid-dict">
              <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>
              
                <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>
              
                <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>First IPV dose from the primary series was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 1</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 1 Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 1 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 1 Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 1 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>Second IPV dose from the primary series was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 2</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 2 Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 2 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 2 Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 2 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>Third IPV dose from the primary series was administered. The primary series has been completed</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 3</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 3 Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 3 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 3 Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV dose 3 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>Booster IPV dose was administered. Polio immunization schedule has been completed</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV booster</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV booster Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV booster Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV booster Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>IPV booster Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>Test Validation</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
            </table>
          </td>
        </tr>
        

        

        
        
        <tr>
          <td colspan="2">
            <table>
              <tr><th><a id="cql-content"><b>Content: </b></a> text/cql</th></tr>
              <tr><td><pre><code class="language-cql">/*
 * Library: IMMZD18SPolioIPVOnlyLogic (IMMZ.D18.S.Polio.IPV-only schedule)
 * Schedule Table: Inactivated polio vaccine (IPV)-only schedule
 */
library IMMZD18SPolioIPVOnlyLogic

using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'

include WHOCommon called WC

include IMMZCommon called Common
include IMMZConcepts called Concepts

include IMMZEncounterElements called IE
include IMMZD2DTPolioEncounterElements called Encounter

parameter Today Date default Today()


context Patient


/*
@output: IPV dose 1
@description: Provision of IPV dose 1
@trigger: Child's birth
@pseudo: 
@triggerDate: &quot;Date of birth&quot;
*/
define &quot;IPV dose 1&quot;:
  not &quot;First IPV dose from the primary series was administered&quot;


/*
@output: IPV dose 1 Create
@create: A primary 3-dose series of IPV administered beginning at 6 or 8 weeks of age, with a minimum 4 week-interval between doses, is recommended.
*/
define &quot;IPV dose 1 Create&quot;:
  if &quot;IPV dose 1&quot;
  then 'A primary 3-dose series of IPV administered beginning at 6 or 8 weeks of age, with a minimum 4 week-interval between doses, is recommended.' + '
Due Date: ' + ToString(&quot;IPV dose 1 Due Date&quot;)
  else ''


/*
@dynamicValue: IPV dose 1 Due Date
@pseudocode: &quot;Date of birth&quot; + 6 weeks
*/
define &quot;IPV dose 1 Due Date&quot;:
  if &quot;IPV dose 1&quot; then Patient.birthDate + 6 weeks
  else null


/*
@dynamicValue: IPV dose 1 Overdue
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;IPV dose 1 Overdue&quot;:
  null


/*
@dynamicValue: IPV dose 1 Expiration
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;IPV dose 1 Expiration&quot;:
  null

  
/*
@complete: First IPV dose from the primary series was administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;) = 1
*/
define &quot;First IPV dose from the primary series was administered&quot;:
  Encounter.&quot;Number of Polio IPV Primary Series Doses Administered&quot; &gt;= 1



/*
@output: IPV dose 2
@description: Provision of IPV dose 2
@trigger: First IPV dose from the primary series was administered
@pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;) = 1
@triggerDate: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;)
*/
define &quot;IPV dose 2&quot;:
  &quot;First IPV dose from the primary series was administered&quot; and not &quot;Second IPV dose from the primary series was administered&quot;


/*
@output: IPV dose 2 Create
@create: A primary 3-dose series of IPV administered beginning at 6 or 8 weeks of age, with a minimum 4 week-interval between doses, is recommended.
*/
define &quot;IPV dose 2 Create&quot;:
  if &quot;IPV dose 2&quot;
  then 'A primary 3-dose series of IPV administered beginning at 6 or 8 weeks of age, with a minimum 4 week-interval between doses, is recommended.' + '
Due Date: ' + ToString(&quot;IPV dose 2 Due Date&quot;)
  else ''


/*
@dynamicValue: IPV dose 2 Due Date
@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Type of poliovirus dose&quot; = &quot;IPV&quot;) + 4 weeks
*/
define &quot;IPV dose 2 Due Date&quot;:
  if &quot;IPV dose 2&quot; then Encounter.&quot;Date of Latest IPV Dose&quot; + 4 weeks
  else null


/*
@dynamicValue: IPV dose 2 Overdue
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;IPV dose 2 Overdue&quot;:
  null


/*
@dynamicValue: IPV dose 2 Expiration
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;IPV dose 2 Expiration&quot;:
  null

  
/*
@complete: Second IPV dose from the primary series was administered
@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;) = 2
*/
define &quot;Second IPV dose from the primary series was administered&quot;:
  Encounter.&quot;Number of Polio IPV Primary Series Doses Administered&quot; &gt;= 2



/*
@output: IPV dose 3
@description: Provision of IPV dose 3
@trigger: Second IPV dose from the primary series was administered
@pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;) = 2
@triggerDate: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;)
*/
define &quot;IPV dose 3&quot;:
  &quot;Second IPV dose from the primary series was administered&quot; and not &quot;Third IPV dose from the primary series was administered. The primary series has been completed&quot;


/*
@output: IPV dose 3 Create
@create: A primary 3-dose series of IPV administered beginning at 6 or 8 weeks of age, with a minimum 4 week-interval between doses, is recommended.
*/
define &quot;IPV dose 3 Create&quot;:
  if &quot;IPV dose 3&quot;
  then 'A primary 3-dose series of IPV administered beginning at 6 or 8 weeks of age, with a minimum 4 week-interval between doses, is recommended.' + '
Due Date: ' + ToString(&quot;IPV dose 3 Due Date&quot;)
  else ''


/*
@dynamicValue: IPV dose 3 Due Date
@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Type of poliovirus dose&quot; = &quot;IPV&quot;) + 4 weeks
*/
define &quot;IPV dose 3 Due Date&quot;:
  if &quot;IPV dose 3&quot; then Encounter.&quot;Date of Latest IPV Dose&quot; + 4 weeks
  else null


/*
@dynamicValue: IPV dose 3 Overdue
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;IPV dose 3 Overdue&quot;:
  null


/*
@dynamicValue: IPV dose 3 Expiration
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;IPV dose 3 Expiration&quot;:
  null

  
/*
@complete: Third IPV dose from the primary series was administered. The primary series has been completed
@pseudocode: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;)
*/
define &quot;Third IPV dose from the primary series was administered. The primary series has been completed&quot;:
  Encounter.&quot;Number of Polio IPV Primary Series Doses Administered&quot; &gt;= 3



/*
@output: IPV booster
@description: Provision of IPV booster
@trigger: Third IPV dose from the primary series was administered and the client's age was 6 weeks when the primary series was started
@pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;) = 3 AND &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot; AND &quot;Dose number&quot; = 1) − &quot;Date of birth&quot; = 6 weeks
@triggerDate: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;)
*/
define &quot;IPV booster&quot;:
  &quot;Third IPV dose from the primary series was administered. The primary series has been completed&quot; and not &quot;Booster IPV dose was administered. Polio immunization schedule has been completed&quot;


/*
@output: IPV booster Create
@create: If the primary series begins at 6 weeks, a booster dose should be given 6 months or more after the third dose
*/
define &quot;IPV booster Create&quot;:
  if &quot;IPV booster&quot;
  then 'If the primary series begins at 6 weeks, a booster dose should be given 6 months or more after the third dose' + '
Due Date: ' + ToString(&quot;IPV booster Due Date&quot;)
  else ''


/*
@dynamicValue: IPV booster Due Date
@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Poliovirus-containing vaccines&quot;) + 6 months
*/
define &quot;IPV booster Due Date&quot;:
  if &quot;IPV booster&quot; then Encounter.&quot;Date of Latest Polio Dose&quot; + 6 months
  else null


/*
@dynamicValue: IPV booster Overdue
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;IPV booster Overdue&quot;:
  null


/*
@dynamicValue: IPV booster Expiration
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;IPV booster Expiration&quot;:
  null

  
/*
@complete: Booster IPV dose was administered. Polio immunization schedule has been completed
@pseudocode: Count of vaccines administered (where &quot;Type of poliovirus dose&quot; = &quot;IPV&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1
*/
define &quot;Booster IPV dose was administered. Polio immunization schedule has been completed&quot;:
  Encounter.&quot;Number of Polio Booster Series Doses Administered&quot; &gt;= 1



/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  case
    when Patient.id = 'Polio71.2' then &quot;IPV dose 1&quot;
    when Patient.id = 'Polio72.2' then &quot;IPV dose 1&quot;
    when Patient.id = 'Polio73.2' then &quot;IPV dose 2&quot;
    when Patient.id = 'Polio74.2' then &quot;IPV dose 2&quot;
    when Patient.id = 'Polio75.2' then &quot;IPV dose 3&quot;
    when Patient.id = 'Polio76.2' then &quot;IPV dose 3&quot;
    when Patient.id = 'Polio77.2' then &quot;IPV booster&quot;
    when Patient.id = 'Polio78.3' then &quot;IPV booster&quot;
    when Patient.id = 'Polio79.4' then &quot;IPV booster&quot;
    when Patient.id = 'Polio80.2' then &quot;Booster IPV dose was administered. Polio immunization schedule has been completed&quot;
    else 'No test case set'
  end
</code></pre></td></tr>
            </table>
          </td>
        </tr>
        
        
        
    </table>
</div>
</div>
  </text>
  <extension url="http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability">
    <valueCode value="computable"/>
  </extension>
  <url value="http://smart.who.int/immunizations/Library/IMMZD18SPolioIPVOnlyLogic"/>
  <version value="1.0.0"/>
  <name value="IMMZD18SPolioIPVOnlyLogic"/>
  <title value="IMMZD18SPolioIPVOnlyLogic"/>
  <status value="draft"/>
  <experimental value="false"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2026-03-31T13:54:17+00:00"/>
  <publisher value="WHO"/>
  <contact>
    <name value="WHO"/>
    <telecom>
      <system value="url"/>
      <value value="http://who.int"/>
    </telecom>
  </contact>
  <description value="This library defines decision support logic for the IMMZ.D18.S.Polio.IPV-only schedule table in the Immunization CPG"/>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library WC"/>
    <resource value="http://smart.who.int/immunizations/Library/WHOCommon"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library Common"/>
    <resource value="http://smart.who.int/immunizations/Library/IMMZCommon"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library Concepts"/>
    <resource value="http://smart.who.int/immunizations/Library/IMMZConcepts"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library IE"/>
    <resource value="http://smart.who.int/immunizations/Library/IMMZEncounterElements"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library Encounter"/>
    <resource value="http://smart.who.int/immunizations/Library/IMMZD2DTPolioEncounterElements"/>
  </relatedArtifact>
  <parameter>
    <name value="Today"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="Patient"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Patient"/>
  </parameter>
  <parameter>
    <name value="First IPV dose from the primary series was administered"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="IPV dose 1"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="IPV dose 1 Due Date"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="IPV dose 1 Create"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="IPV dose 1 Overdue"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="IPV dose 1 Expiration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="Second IPV dose from the primary series was administered"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="IPV dose 2"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="IPV dose 2 Due Date"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="IPV dose 2 Create"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="IPV dose 2 Overdue"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="IPV dose 2 Expiration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="Third IPV dose from the primary series was administered. The primary series has been completed"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="IPV dose 3"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="IPV dose 3 Due Date"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="IPV dose 3 Create"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="IPV dose 3 Overdue"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="IPV dose 3 Expiration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="Booster IPV dose was administered. Polio immunization schedule has been completed"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="IPV booster"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="IPV booster Due Date"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="IPV booster Create"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="IPV booster Overdue"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="IPV booster Expiration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="Test Validation"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <content>
    <contentType value="text/cql"/>
    <data value="LyoKICogTGlicmFyeTogSU1NWkQxOFNQb2xpb0lQVk9ubHlMb2dpYyAoSU1NWi5EMTguUy5Qb2xpby5JUFYtb25seSBzY2hlZHVsZSkKICogU2NoZWR1bGUgVGFibGU6IEluYWN0aXZhdGVkIHBvbGlvIHZhY2NpbmUgKElQViktb25seSBzY2hlZHVsZQogKi8KbGlicmFyeSBJTU1aRDE4U1BvbGlvSVBWT25seUxvZ2ljCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db21tb24gY2FsbGVkIFdDCgppbmNsdWRlIElNTVpDb21tb24gY2FsbGVkIENvbW1vbgppbmNsdWRlIElNTVpDb25jZXB0cyBjYWxsZWQgQ29uY2VwdHMKCmluY2x1ZGUgSU1NWkVuY291bnRlckVsZW1lbnRzIGNhbGxlZCBJRQppbmNsdWRlIElNTVpEMkRUUG9saW9FbmNvdW50ZXJFbGVtZW50cyBjYWxsZWQgRW5jb3VudGVyCgpwYXJhbWV0ZXIgVG9kYXkgRGF0ZSBkZWZhdWx0IFRvZGF5KCkKCgpjb250ZXh0IFBhdGllbnQKCgovKgpAb3V0cHV0OiBJUFYgZG9zZSAxCkBkZXNjcmlwdGlvbjogUHJvdmlzaW9uIG9mIElQViBkb3NlIDEKQHRyaWdnZXI6IENoaWxkJ3MgYmlydGgKQHBzZXVkbzogCkB0cmlnZ2VyRGF0ZTogIkRhdGUgb2YgYmlydGgiCiovCmRlZmluZSAiSVBWIGRvc2UgMSI6CiAgbm90ICJGaXJzdCBJUFYgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkIgoKCi8qCkBvdXRwdXQ6IElQViBkb3NlIDEgQ3JlYXRlCkBjcmVhdGU6IEEgcHJpbWFyeSAzLWRvc2Ugc2VyaWVzIG9mIElQViBhZG1pbmlzdGVyZWQgYmVnaW5uaW5nIGF0IDYgb3IgOCB3ZWVrcyBvZiBhZ2UsIHdpdGggYSBtaW5pbXVtIDQgd2Vlay1pbnRlcnZhbCBiZXR3ZWVuIGRvc2VzLCBpcyByZWNvbW1lbmRlZC4KKi8KZGVmaW5lICJJUFYgZG9zZSAxIENyZWF0ZSI6CiAgaWYgIklQViBkb3NlIDEiCiAgdGhlbiAnQSBwcmltYXJ5IDMtZG9zZSBzZXJpZXMgb2YgSVBWIGFkbWluaXN0ZXJlZCBiZWdpbm5pbmcgYXQgNiBvciA4IHdlZWtzIG9mIGFnZSwgd2l0aCBhIG1pbmltdW0gNCB3ZWVrLWludGVydmFsIGJldHdlZW4gZG9zZXMsIGlzIHJlY29tbWVuZGVkLicgKyAnCkR1ZSBEYXRlOiAnICsgVG9TdHJpbmcoIklQViBkb3NlIDEgRHVlIERhdGUiKQogIGVsc2UgJycKCgovKgpAZHluYW1pY1ZhbHVlOiBJUFYgZG9zZSAxIER1ZSBEYXRlCkBwc2V1ZG9jb2RlOiAiRGF0ZSBvZiBiaXJ0aCIgKyA2IHdlZWtzCiovCmRlZmluZSAiSVBWIGRvc2UgMSBEdWUgRGF0ZSI6CiAgaWYgIklQViBkb3NlIDEiIHRoZW4gUGF0aWVudC5iaXJ0aERhdGUgKyA2IHdlZWtzCiAgZWxzZSBudWxsCgoKLyoKQGR5bmFtaWNWYWx1ZTogSVBWIGRvc2UgMSBPdmVyZHVlCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIG92ZXJkdWUgZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIklQViBkb3NlIDEgT3ZlcmR1ZSI6CiAgbnVsbAoKCi8qCkBkeW5hbWljVmFsdWU6IElQViBkb3NlIDEgRXhwaXJhdGlvbgpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBvdmVyZHVlIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICJJUFYgZG9zZSAxIEV4cGlyYXRpb24iOgogIG51bGwKCiAgCi8qCkBjb21wbGV0ZTogRmlyc3QgSVBWIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQb2xpb3ZpcnVzLWNvbnRhaW5pbmcgdmFjY2luZXMiKSA9IDEKKi8KZGVmaW5lICJGaXJzdCBJUFYgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkIjoKICBFbmNvdW50ZXIuIk51bWJlciBvZiBQb2xpbyBJUFYgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA+PSAxCgoKCi8qCkBvdXRwdXQ6IElQViBkb3NlIDIKQGRlc2NyaXB0aW9uOiBQcm92aXNpb24gb2YgSVBWIGRvc2UgMgpAdHJpZ2dlcjogRmlyc3QgSVBWIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBvbGlvdmlydXMtY29udGFpbmluZyB2YWNjaW5lcyIpID0gMQpAdHJpZ2dlckRhdGU6IExhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBvbGlvdmlydXMtY29udGFpbmluZyB2YWNjaW5lcyIpCiovCmRlZmluZSAiSVBWIGRvc2UgMiI6CiAgIkZpcnN0IElQViBkb3NlIGZyb20gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQiIGFuZCBub3QgIlNlY29uZCBJUFYgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkIgoKCi8qCkBvdXRwdXQ6IElQViBkb3NlIDIgQ3JlYXRlCkBjcmVhdGU6IEEgcHJpbWFyeSAzLWRvc2Ugc2VyaWVzIG9mIElQViBhZG1pbmlzdGVyZWQgYmVnaW5uaW5nIGF0IDYgb3IgOCB3ZWVrcyBvZiBhZ2UsIHdpdGggYSBtaW5pbXVtIDQgd2Vlay1pbnRlcnZhbCBiZXR3ZWVuIGRvc2VzLCBpcyByZWNvbW1lbmRlZC4KKi8KZGVmaW5lICJJUFYgZG9zZSAyIENyZWF0ZSI6CiAgaWYgIklQViBkb3NlIDIiCiAgdGhlbiAnQSBwcmltYXJ5IDMtZG9zZSBzZXJpZXMgb2YgSVBWIGFkbWluaXN0ZXJlZCBiZWdpbm5pbmcgYXQgNiBvciA4IHdlZWtzIG9mIGFnZSwgd2l0aCBhIG1pbmltdW0gNCB3ZWVrLWludGVydmFsIGJldHdlZW4gZG9zZXMsIGlzIHJlY29tbWVuZGVkLicgKyAnCkR1ZSBEYXRlOiAnICsgVG9TdHJpbmcoIklQViBkb3NlIDIgRHVlIERhdGUiKQogIGVsc2UgJycKCgovKgpAZHluYW1pY1ZhbHVlOiBJUFYgZG9zZSAyIER1ZSBEYXRlCkBwc2V1ZG9jb2RlOiBMYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVHlwZSBvZiBwb2xpb3ZpcnVzIGRvc2UiID0gIklQViIpICsgNCB3ZWVrcwoqLwpkZWZpbmUgIklQViBkb3NlIDIgRHVlIERhdGUiOgogIGlmICJJUFYgZG9zZSAyIiB0aGVuIEVuY291bnRlci4iRGF0ZSBvZiBMYXRlc3QgSVBWIERvc2UiICsgNCB3ZWVrcwogIGVsc2UgbnVsbAoKCi8qCkBkeW5hbWljVmFsdWU6IElQViBkb3NlIDIgT3ZlcmR1ZQpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBvdmVyZHVlIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICJJUFYgZG9zZSAyIE92ZXJkdWUiOgogIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBJUFYgZG9zZSAyIEV4cGlyYXRpb24KQHBzZXVkb2NvZGU6IFRvIGJlIGRldGVybWluZWQgYnkgTWVtYmVyIFN0YXRlczsgaG93ZXZlciwgdGhlcmUgaXMgbm8gcmVjb21tZW5kZWQgb3ZlcmR1ZSBkYXRlIGFuZCBpbmRpdmlkdWFscyBhcmUgYWx3YXlzIGVsaWdpYmxlIHRvIGJlIHZhY2NpbmF0ZWQuCiovCmRlZmluZSAiSVBWIGRvc2UgMiBFeHBpcmF0aW9uIjoKICBudWxsCgogIAovKgpAY29tcGxldGU6IFNlY29uZCBJUFYgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlBvbGlvdmlydXMtY29udGFpbmluZyB2YWNjaW5lcyIpID0gMgoqLwpkZWZpbmUgIlNlY29uZCBJUFYgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkIjoKICBFbmNvdW50ZXIuIk51bWJlciBvZiBQb2xpbyBJUFYgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA+PSAyCgoKCi8qCkBvdXRwdXQ6IElQViBkb3NlIDMKQGRlc2NyaXB0aW9uOiBQcm92aXNpb24gb2YgSVBWIGRvc2UgMwpAdHJpZ2dlcjogU2Vjb25kIElQViBkb3NlIGZyb20gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkbzogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQb2xpb3ZpcnVzLWNvbnRhaW5pbmcgdmFjY2luZXMiKSA9IDIKQHRyaWdnZXJEYXRlOiBMYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQb2xpb3ZpcnVzLWNvbnRhaW5pbmcgdmFjY2luZXMiKQoqLwpkZWZpbmUgIklQViBkb3NlIDMiOgogICJTZWNvbmQgSVBWIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZCIgYW5kIG5vdCAiVGhpcmQgSVBWIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZC4gVGhlIHByaW1hcnkgc2VyaWVzIGhhcyBiZWVuIGNvbXBsZXRlZCIKCgovKgpAb3V0cHV0OiBJUFYgZG9zZSAzIENyZWF0ZQpAY3JlYXRlOiBBIHByaW1hcnkgMy1kb3NlIHNlcmllcyBvZiBJUFYgYWRtaW5pc3RlcmVkIGJlZ2lubmluZyBhdCA2IG9yIDggd2Vla3Mgb2YgYWdlLCB3aXRoIGEgbWluaW11bSA0IHdlZWstaW50ZXJ2YWwgYmV0d2VlbiBkb3NlcywgaXMgcmVjb21tZW5kZWQuCiovCmRlZmluZSAiSVBWIGRvc2UgMyBDcmVhdGUiOgogIGlmICJJUFYgZG9zZSAzIgogIHRoZW4gJ0EgcHJpbWFyeSAzLWRvc2Ugc2VyaWVzIG9mIElQViBhZG1pbmlzdGVyZWQgYmVnaW5uaW5nIGF0IDYgb3IgOCB3ZWVrcyBvZiBhZ2UsIHdpdGggYSBtaW5pbXVtIDQgd2Vlay1pbnRlcnZhbCBiZXR3ZWVuIGRvc2VzLCBpcyByZWNvbW1lbmRlZC4nICsgJwpEdWUgRGF0ZTogJyArIFRvU3RyaW5nKCJJUFYgZG9zZSAzIER1ZSBEYXRlIikKICBlbHNlICcnCgoKLyoKQGR5bmFtaWNWYWx1ZTogSVBWIGRvc2UgMyBEdWUgRGF0ZQpAcHNldWRvY29kZTogTGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlR5cGUgb2YgcG9saW92aXJ1cyBkb3NlIiA9ICJJUFYiKSArIDQgd2Vla3MKKi8KZGVmaW5lICJJUFYgZG9zZSAzIER1ZSBEYXRlIjoKICBpZiAiSVBWIGRvc2UgMyIgdGhlbiBFbmNvdW50ZXIuIkRhdGUgb2YgTGF0ZXN0IElQViBEb3NlIiArIDQgd2Vla3MKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBJUFYgZG9zZSAzIE92ZXJkdWUKQHBzZXVkb2NvZGU6IFRvIGJlIGRldGVybWluZWQgYnkgTWVtYmVyIFN0YXRlczsgaG93ZXZlciwgdGhlcmUgaXMgbm8gcmVjb21tZW5kZWQgb3ZlcmR1ZSBkYXRlIGFuZCBpbmRpdmlkdWFscyBhcmUgYWx3YXlzIGVsaWdpYmxlIHRvIGJlIHZhY2NpbmF0ZWQuCiovCmRlZmluZSAiSVBWIGRvc2UgMyBPdmVyZHVlIjoKICBudWxsCgoKLyoKQGR5bmFtaWNWYWx1ZTogSVBWIGRvc2UgMyBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIG92ZXJkdWUgZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIklQViBkb3NlIDMgRXhwaXJhdGlvbiI6CiAgbnVsbAoKICAKLyoKQGNvbXBsZXRlOiBUaGlyZCBJUFYgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkCkBwc2V1ZG9jb2RlOiAiQ29tcGxldGVkIHRoZSBwcmltYXJ5IHZhY2NpbmF0aW9uIHNlcmllcyIgPSBUUlVFICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQb2xpb3ZpcnVzLWNvbnRhaW5pbmcgdmFjY2luZXMiKQoqLwpkZWZpbmUgIlRoaXJkIElQViBkb3NlIGZyb20gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBwcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQiOgogIEVuY291bnRlci4iTnVtYmVyIG9mIFBvbGlvIElQViBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID49IDMKCgoKLyoKQG91dHB1dDogSVBWIGJvb3N0ZXIKQGRlc2NyaXB0aW9uOiBQcm92aXNpb24gb2YgSVBWIGJvb3N0ZXIKQHRyaWdnZXI6IFRoaXJkIElQViBkb3NlIGZyb20gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQgYW5kIHRoZSBjbGllbnQncyBhZ2Ugd2FzIDYgd2Vla3Mgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQKQHBzZXVkbzogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQb2xpb3ZpcnVzLWNvbnRhaW5pbmcgdmFjY2luZXMiKSA9IDMgQU5EICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG9saW92aXJ1cy1jb250YWluaW5nIHZhY2NpbmVzIiBBTkQgIkRvc2UgbnVtYmVyIiA9IDEpIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPSA2IHdlZWtzCkB0cmlnZ2VyRGF0ZTogTGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiUG9saW92aXJ1cy1jb250YWluaW5nIHZhY2NpbmVzIikKKi8KZGVmaW5lICJJUFYgYm9vc3RlciI6CiAgIlRoaXJkIElQViBkb3NlIGZyb20gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBwcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQiIGFuZCBub3QgIkJvb3N0ZXIgSVBWIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC4gUG9saW8gaW1tdW5pemF0aW9uIHNjaGVkdWxlIGhhcyBiZWVuIGNvbXBsZXRlZCIKCgovKgpAb3V0cHV0OiBJUFYgYm9vc3RlciBDcmVhdGUKQGNyZWF0ZTogSWYgdGhlIHByaW1hcnkgc2VyaWVzIGJlZ2lucyBhdCA2IHdlZWtzLCBhIGJvb3N0ZXIgZG9zZSBzaG91bGQgYmUgZ2l2ZW4gNiBtb250aHMgb3IgbW9yZSBhZnRlciB0aGUgdGhpcmQgZG9zZQoqLwpkZWZpbmUgIklQViBib29zdGVyIENyZWF0ZSI6CiAgaWYgIklQViBib29zdGVyIgogIHRoZW4gJ0lmIHRoZSBwcmltYXJ5IHNlcmllcyBiZWdpbnMgYXQgNiB3ZWVrcywgYSBib29zdGVyIGRvc2Ugc2hvdWxkIGJlIGdpdmVuIDYgbW9udGhzIG9yIG1vcmUgYWZ0ZXIgdGhlIHRoaXJkIGRvc2UnICsgJwpEdWUgRGF0ZTogJyArIFRvU3RyaW5nKCJJUFYgYm9vc3RlciBEdWUgRGF0ZSIpCiAgZWxzZSAnJwoKCi8qCkBkeW5hbWljVmFsdWU6IElQViBib29zdGVyIER1ZSBEYXRlCkBwc2V1ZG9jb2RlOiBMYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJQb2xpb3ZpcnVzLWNvbnRhaW5pbmcgdmFjY2luZXMiKSArIDYgbW9udGhzCiovCmRlZmluZSAiSVBWIGJvb3N0ZXIgRHVlIERhdGUiOgogIGlmICJJUFYgYm9vc3RlciIgdGhlbiBFbmNvdW50ZXIuIkRhdGUgb2YgTGF0ZXN0IFBvbGlvIERvc2UiICsgNiBtb250aHMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBJUFYgYm9vc3RlciBPdmVyZHVlCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIG92ZXJkdWUgZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIklQViBib29zdGVyIE92ZXJkdWUiOgogIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBJUFYgYm9vc3RlciBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIG92ZXJkdWUgZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIklQViBib29zdGVyIEV4cGlyYXRpb24iOgogIG51bGwKCiAgCi8qCkBjb21wbGV0ZTogQm9vc3RlciBJUFYgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLiBQb2xpbyBpbW11bml6YXRpb24gc2NoZWR1bGUgaGFzIGJlZW4gY29tcGxldGVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJUeXBlIG9mIHBvbGlvdmlydXMgZG9zZSIgPSAiSVBWIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAxCiovCmRlZmluZSAiQm9vc3RlciBJUFYgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLiBQb2xpbyBpbW11bml6YXRpb24gc2NoZWR1bGUgaGFzIGJlZW4gY29tcGxldGVkIjoKICBFbmNvdW50ZXIuIk51bWJlciBvZiBQb2xpbyBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID49IDEKCgoKLyoKQHRlc3Q6IFRlc3QgZXhwZWN0ZWQgcmVzdWx0cyBiYXNlZCBvbiBleGFtcGxlIHBhdGllbnRzCiovCmRlZmluZSAiVGVzdCBWYWxpZGF0aW9uIjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnUG9saW83MS4yJyB0aGVuICJJUFYgZG9zZSAxIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ1BvbGlvNzIuMicgdGhlbiAiSVBWIGRvc2UgMSIKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdQb2xpbzczLjInIHRoZW4gIklQViBkb3NlIDIiCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnUG9saW83NC4yJyB0aGVuICJJUFYgZG9zZSAyIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ1BvbGlvNzUuMicgdGhlbiAiSVBWIGRvc2UgMyIKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdQb2xpbzc2LjInIHRoZW4gIklQViBkb3NlIDMiCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnUG9saW83Ny4yJyB0aGVuICJJUFYgYm9vc3RlciIKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdQb2xpbzc4LjMnIHRoZW4gIklQViBib29zdGVyIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ1BvbGlvNzkuNCcgdGhlbiAiSVBWIGJvb3N0ZXIiCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnUG9saW84MC4yJyB0aGVuICJCb29zdGVyIElQViBkb3NlIHdhcyBhZG1pbmlzdGVyZWQuIFBvbGlvIGltbXVuaXphdGlvbiBzY2hlZHVsZSBoYXMgYmVlbiBjb21wbGV0ZWQiCiAgICBlbHNlICdObyB0ZXN0IGNhc2Ugc2V0JwogIGVuZAo="/>
  </content>
</Library>