Re: XSD with "required" attribute option related query
Rajneesh Shukla <[email protected]> Mon, 24 Feb 2020 21:06:25 +0530
| Newsgroups | gmane.text.xml.schema.devel |
|---|---|
| Message-ID | <CAFAat39_LzS2S6AeWvMk_hos8EpY4tse4WZyYE64D+LskPBNDA@mail.gmail.com> |
--000000000000ec83d0059f542221
Content-Type: text/plain; charset="UTF-8"
Thanks Loren,
One more expert advice please:
Is it possible to impose required constraint at value level?
for example in below xml, I wnt to make sure value for alias1, coli1 and
operator is always populated in condition element within where element.
functionalView name="CLAIMS_FV" description="Learning Purpose">
<columns>
<column name="CLAI.CODE" columnAlias="CODE" description="The code of
the claim" />
<column name="CLLI.CODE" columnAlias="LINE_CODE" description="The
code of the claim line" />
<column name="PROC.CODE" columnAlias="PROC_CODE" description="The
code of the claim line procedure" />
</columns>
<fromviews>
<fromview name="CLAIMS_V" alias="CLAI" />
<fromview name="LINES_V" alias="CLLI" />
<fromview name="PROC_V" alias="PROC" />
<fromview name="PROV_V" alias="PROV" />
<fromview name="FORMS_V" alias="CLFO"/>
<fromview name="FORMTYPES_V" alias="CFTY"/>
</fromviews>
<joins>
<join alias1="CLLI" col1="CLAI_ID" condition="=" alias2="CLAI"
col2="ID"/>
<join alias1="CLFO" col1="ID" condition="=" alias2="CFTY"
col2="CLFO_ID"/>
<join alias1="CFTY" col1="ID" condition="=" alias2="PROC"
col2="CFTY_ID"/>
<leftouterjoin alias1="PROV" col1="ID" condition="=" alias2="CLAI"
col2="PROVIDER_ID"/>
</joins>
<where>
<condition alias1="CFTY" col1="CODE" operator="=" string=""
number="" date= "" />
</where>
</functionalView>
Below is respective XSD for reference:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified"
elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="functionalView" >
<xs:complexType>
<xs:sequence>
<xs:element name="columns">
<xs:complexType>
<xs:sequence>
<xs:element name="column" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name"
use="required"/>
<xs:attribute type="xs:string" name="columnAlias"
use="required"/>
<xs:attribute type="xs:string" name="description"
use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="fromviews" maxOccurs="1" minOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="fromview" maxOccurs="unbounded"
minOccurs="2">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name"
use="required"/>
<xs:attribute type="xs:string" name="alias"
use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="joins" maxOccurs="1" minOccurs="1">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="1">
<xs:element name="join" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="alias1"
use="required"/>
<xs:attribute type="xs:string" name="col1"
use="required"/>
<xs:attribute type="xs:string" name="condition"
use="required"/>
<xs:attribute type="xs:string" name="alias2"
use="required"/>
<xs:attribute type="xs:string" name="col2"
use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="leftouterjoin" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="alias1"
use="required"/>
<xs:attribute type="xs:string" name="col1"
use="required"/>
<xs:attribute type="xs:string" name="condition"
use="required"/>
<xs:attribute type="xs:string" name="alias2"
use="required"/>
<xs:attribute type="xs:string" name="col2"
use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="where" maxOccurs="1" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="condition" maxOccurs="unbounded"
minOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="alias1"
use="required"/>
<xs:attribute type="xs:string" name="col1"
use="required"/>
<xs:attribute type="xs:string" name="operator"
use="required"/>
<xs:attribute type="xs:string" name="string"
use="optional"/>
<xs:attribute type="xs:string" name="number"
use="optional"/>
<xs:attribute type="xs:string" name="date"
use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name"/>
<xs:attribute type="xs:string" name="description"/>
</xs:complexType>
</xs:element>
</xs:schema>
Thanks,
Rajneesh
On Mon, 24 Feb 2020 at 20:57, Loren Cahlander <[email protected]>
wrote:
> If you cannot use XSD 1.1, then I would recommend that you utilize
> Schematron.
>
> https://www.xml.com/pub/a/2003/11/12/schematron.html
>
> On Feb 24, 2020, at 10:00 AM, Rajneesh Shukla <[email protected]>
> wrote:
>
> Hi Mukul,
>
> One more help please:
>
> Is it possible to impose required constraint at value level?
> for example in below xml, I wnt to make sure value for alias1, coli1 and
> operator is always populated in condition element within where element.
>
> functionalView name="CLAIMS_FV" description="Learning Purpose">
>
> <columns>
>
> <column name="CLAI.CODE" columnAlias="CODE" description="The code
> of the claim" />
>
> <column name="CLLI.CODE" columnAlias="LINE_CODE" description="The
> code of the claim line" />
>
> <column name="PROC.CODE" columnAlias="PROC_CODE" description="The
> code of the claim line procedure" />
>
> </columns>
>
> <fromviews>
>
> <fromview name="CLAIMS_V" alias="CLAI" />
>
> <fromview name="LINES_V" alias="CLLI" />
>
> <fromview name="PROC_V" alias="PROC" />
>
> <fromview name="PROV_V" alias="PROV" />
>
> <fromview name="FORMS_V" alias="CLFO"/>
>
> <fromview name="FORMTYPES_V" alias="CFTY"/>
>
> </fromviews>
>
> <joins>
>
> <join alias1="CLLI" col1="CLAI_ID" condition="=" alias2="CLAI"
> col2="ID"/>
>
> <join alias1="CLFO" col1="ID" condition="=" alias2="CFTY"
> col2="CLFO_ID"/>
>
> <join alias1="CFTY" col1="ID" condition="=" alias2="PROC"
> col2="CFTY_ID"/>
>
> <leftouterjoin alias1="PROV" col1="ID" condition="=" alias2="CLAI"
> col2="PROVIDER_ID"/>
>
> </joins>
>
> <where>
>
> <condition alias1="CFTY" col1="CODE" operator="=" string=""
> number="" date= "" />
>
> </where>
>
> </functionalView>
>
> Thanks,
> Rajneesh
>
> On Mon, 24 Feb 2020 at 13:39, Rajneesh Shukla <[email protected]>
> wrote:
>
>> Hi Mukul,
>>
>> Thanks for your reply.
>>
>> I am working inside the database, it won't be possible.
>>
>> Oracle XML DB only supports XML Schema 1.0.
>>
>>
>> Thanks,
>>
>> Rajneesh
>>
>> On Sat, 22 Feb 2020 at 11:27, Mukul Gandhi <[email protected]>
>> wrote:
>>
>>> Hi Rajneesh,
>>> Within the XSD document you've attached, following is a XSD issue to
>>> start with (using Xerces-J 2.12.1 as XSD validator),
>>>
>>> [Error] query1.xsd:3:67: s4s-att-not-allowed: Attribute 'maxOccurs'
>>> cannot appear in element 'element'.
>>> [Error] query1.xsd:3:67: s4s-att-not-allowed: Attribute 'minOccurs'
>>> cannot appear in element 'element'.
>>>
>>> i.e, the following is not allowed by XSD language,
>>>
>>> <xs:schema attributeFormDefault="unqualified"
>>> elementFormDefault="qualified" xmlns:xs="
>>> http://www.w3.org/2001/XMLSchema">
>>>
>>> <xs:element name="functionalView" maxOccurs="1" minOccurs="1">
>>> ...
>>>
>>> </xs:schema>
>>>
>>> Removing, maxOccurs="1" minOccurs="1" from above shown xs:element
>>> declaration from your attached XSD document, makes your XSD document
>>> correct (with both 1.0 and 1.1 versions of XSD language).
>>>
>>> Now coming to your question.
>>> I think that, the issue you've mentioned can be solved using an XSD 1.1
>>> <assert> instruction. I guess that, you can rewrite your XSD fragment to
>>> following (I've only added an <assert>), to achieve what you've mentioned,
>>>
>>> <xs:element name="where" maxOccurs="1" minOccurs="0">
>>> <xs:complexType>
>>> <xs:sequence>
>>> <xs:element name="condition" maxOccurs="unbounded"
>>> minOccurs="1">
>>> <xs:complexType>
>>> <xs:simpleContent>
>>> <xs:extension base="xs:string">
>>> <xs:attribute
>>> type="xs:string" name="alias1" use="required"/>
>>> <xs:attribute
>>> type="xs:string" name="col1" use="required"/>
>>> <xs:attribute
>>> type="xs:string" name="operator" use="required"/>
>>> <xs:attribute
>>> type="xs:string" name="string" use="optional"/>
>>> <xs:attribute
>>> type="xs:string" name="number" use="optional"/>
>>> <xs:attribute
>>> type="xs:string" name="date" use="optional"/>
>>> <xs:assert
>>> test="exists(@string | @number | @date)"/>
>>> </xs:extension>
>>> </xs:simpleContent>
>>> </xs:complexType>
>>> </xs:element>
>>> </xs:sequence>
>>> </xs:complexType>
>>> </xs:element>
>>>
>>> I've not tested, the logic of <assert> I've mentioned above.
>>>
>>> Could be useful information to share that, you may use the full XPath
>>> 2.0 language, to write value of 'test' attribute of an <assert>. Also, 1
>>> upto any number of <assert> elements can be written as siblings in the XSD
>>> document (all of the sibling <assert> elements, have to evaluate to true
>>> for having the XML instance document valid).
>>>
>>> On Fri, Feb 21, 2020 at 11:16 PM Rajneesh Shukla <
>>> [email protected]> wrote:
>>>
>>>> Hello All,
>>>>
>>>> I am new to XSD and XML and need to explore if there is option to make
>>>> sure that any one attribute in a set of attributes within same element is
>>>> required.
>>>>
>>>> Example:
>>>>
>>>> <xs:element name="where" maxOccurs="1" minOccurs="0">
>>>> <xs:complexType>
>>>> <xs:sequence>
>>>> <xs:element name="condition" maxOccurs="unbounded"
>>>> minOccurs="1">
>>>> <xs:complexType>
>>>> <xs:simpleContent>
>>>> <xs:extension base="xs:string">
>>>> <xs:attribute type="xs:string" name="alias1"
>>>> use="required"/>
>>>> <xs:attribute type="xs:string" name="col1"
>>>> use="required"/>
>>>> <xs:attribute type="xs:string" name="operator"
>>>> use="required"/>
>>>> <xs:attribute type="xs:string" name="string"
>>>> use="optional"/>
>>>> <xs:attribute type="xs:string" name="number"
>>>> use="optional"/>
>>>> <xs:attribute type="xs:string" name="date"
>>>> use="optional"/>
>>>> </xs:extension>
>>>> </xs:simpleContent>
>>>> </xs:complexType>
>>>> </xs:element>
>>>> </xs:sequence>
>>>> </xs:complexType>
>>>> </xs:element>
>>>>
>>>> Here I want to ensure that minimum one attribute in a set of 3
>>>> attributes (mentioned as optional in above) are required. All can not be
>>>> optional , however any one (can be more than one also) is required.
>>>>
>>>> Thanking you in anticipation !!!
>>>>
>>>> Attachment:
>>>> Complete XSD file.
>>>>
>>>
>>>
>>>
>>> --
>>> Regards,
>>> Mukul Gandhi
>>>
>>
>
--000000000000ec83d0059f542221
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64
PGRpdiBkaXI9Imx0ciI+PGRpdj5UaGFua3MgTG9yZW4sPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp
dj5PbmUgbW9yZSBleHBlcnQgYWR2aWNlIHBsZWFzZTo8YnI+PC9kaXY+PGRpdj4NCjxwPklzIGl0
IHBvc3NpYmxlIHRvIGltcG9zZSByZXF1aXJlZCBjb25zdHJhaW50IGF0IHZhbHVlIGxldmVsPzwv
cD48cD5mb3INCiBleGFtcGxlIGluIGJlbG93IHhtbCwgSSB3bnQgdG8gbWFrZSBzdXJlIHZhbHVl
IGZvciBhbGlhczEsIGNvbGkxIGFuZCANCm9wZXJhdG9yIGlzIGFsd2F5cyBwb3B1bGF0ZWQgaW4g
Y29uZGl0aW9uIGVsZW1lbnQgd2l0aGluIHdoZXJlIGVsZW1lbnQuPC9wPjxwIHN0eWxlPSJtaW4t
aGVpZ2h0OjhwdDtwYWRkaW5nOjBweCI+wqA8L3A+PHA+ZnVuY3Rpb25hbFZpZXcgbmFtZT0mcXVv
dDtDTEFJTVNfRlYmcXVvdDvCoCBkZXNjcmlwdGlvbj0mcXVvdDtMZWFybmluZyBQdXJwb3NlJnF1
b3Q7Jmd0OzwvcD48cD7CoCAmbHQ7Y29sdW1ucyZndDs8L3A+PHA+wqDCoMKgICZsdDtjb2x1bW4g
bmFtZT0mcXVvdDtDTEFJLkNPREUmcXVvdDvCoMKgIGNvbHVtbkFsaWFzPSZxdW90O0NPREUmcXVv
dDvCoCBkZXNjcmlwdGlvbj0mcXVvdDtUaGUgY29kZSBvZiB0aGUgY2xhaW0mcXVvdDsgLyZndDs8
L3A+PHA+wqDCoMKgICZsdDtjb2x1bW4gbmFtZT0mcXVvdDtDTExJLkNPREUmcXVvdDvCoMKgIGNv
bHVtbkFsaWFzPSZxdW90O0xJTkVfQ09ERSZxdW90O8KgIGRlc2NyaXB0aW9uPSZxdW90O1RoZSBj
b2RlIG9mIHRoZSBjbGFpbSBsaW5lJnF1b3Q7IC8mZ3Q7PC9wPjxwPsKgwqDCoCAmbHQ7Y29sdW1u
IG5hbWU9JnF1b3Q7UFJPQy5DT0RFJnF1b3Q7wqDCoCBjb2x1bW5BbGlhcz0mcXVvdDtQUk9DX0NP
REUmcXVvdDvCoCBkZXNjcmlwdGlvbj0mcXVvdDtUaGUgY29kZSBvZiB0aGUgY2xhaW0gbGluZSBw
cm9jZWR1cmUmcXVvdDsgLyZndDs8L3A+PHA+wqAgJmx0Oy9jb2x1bW5zJmd0OzwvcD48cD7CoCAm
bHQ7ZnJvbXZpZXdzJmd0OzwvcD48cD7CoMKgwqAgJmx0O2Zyb212aWV3IG5hbWU9JnF1b3Q7Q0xB
SU1TX1YmcXVvdDsgYWxpYXM9JnF1b3Q7Q0xBSSZxdW90OyAvJmd0OzwvcD48cD7CoMKgwqAgJmx0
O2Zyb212aWV3IG5hbWU9JnF1b3Q7TElORVNfViZxdW90OyBhbGlhcz0mcXVvdDtDTExJJnF1b3Q7
IC8mZ3Q7PC9wPjxwPsKgwqDCoCAmbHQ7ZnJvbXZpZXcgbmFtZT0mcXVvdDtQUk9DX1YmcXVvdDsg
YWxpYXM9JnF1b3Q7UFJPQyZxdW90OyAvJmd0OzwvcD48cD7CoMKgwqAgJmx0O2Zyb212aWV3IG5h
bWU9JnF1b3Q7UFJPVl9WJnF1b3Q7IGFsaWFzPSZxdW90O1BST1YmcXVvdDsgLyZndDs8L3A+PHA+
wqDCoMKgICZsdDtmcm9tdmlldyBuYW1lPSZxdW90O0ZPUk1TX1YmcXVvdDsgYWxpYXM9JnF1b3Q7
Q0xGTyZxdW90Oy8mZ3Q7PC9wPjxwPsKgwqDCoCAmbHQ7ZnJvbXZpZXcgbmFtZT0mcXVvdDtGT1JN
VFlQRVNfViZxdW90OyBhbGlhcz0mcXVvdDtDRlRZJnF1b3Q7LyZndDs8L3A+PHA+wqAgJmx0Oy9m
cm9tdmlld3MmZ3Q7PC9wPjxwPsKgICZsdDtqb2lucyZndDs8L3A+PHA+wqDCoMKgICZsdDtqb2lu
wqAgYWxpYXMxPSZxdW90O0NMTEkmcXVvdDsgY29sMT0mcXVvdDtDTEFJX0lEJnF1b3Q7IGNvbmRp
dGlvbj0mcXVvdDs9JnF1b3Q7wqAgYWxpYXMyPSZxdW90O0NMQUkmcXVvdDsgY29sMj0mcXVvdDtJ
RCZxdW90Oy8mZ3Q7PC9wPjxwPsKgwqDCoCAmbHQ7am9pbsKgIGFsaWFzMT0mcXVvdDtDTEZPJnF1
b3Q7IGNvbDE9JnF1b3Q7SUQmcXVvdDsgY29uZGl0aW9uPSZxdW90Oz0mcXVvdDvCoCBhbGlhczI9
JnF1b3Q7Q0ZUWSZxdW90OyBjb2wyPSZxdW90O0NMRk9fSUQmcXVvdDsvJmd0OzwvcD48cD7CoMKg
wqAgJmx0O2pvaW7CoCBhbGlhczE9JnF1b3Q7Q0ZUWSZxdW90OyBjb2wxPSZxdW90O0lEJnF1b3Q7
IGNvbmRpdGlvbj0mcXVvdDs9JnF1b3Q7wqAgYWxpYXMyPSZxdW90O1BST0MmcXVvdDsgY29sMj0m
cXVvdDtDRlRZX0lEJnF1b3Q7LyZndDs8L3A+PHA+wqDCoMKgICZsdDtsZWZ0b3V0ZXJqb2luwqAg
YWxpYXMxPSZxdW90O1BST1YmcXVvdDsgY29sMT0mcXVvdDtJRCZxdW90OyBjb25kaXRpb249JnF1
b3Q7PSZxdW90O8KgIGFsaWFzMj0mcXVvdDtDTEFJJnF1b3Q7IGNvbDI9JnF1b3Q7UFJPVklERVJf
SUQmcXVvdDsvJmd0OzwvcD48cD7CoCAmbHQ7L2pvaW5zJmd0OzwvcD48cD7CoCAmbHQ7d2hlcmUm
Z3Q7PC9wPjxwPsKgwqDCoCAmbHQ7Y29uZGl0aW9uIGFsaWFzMT0mcXVvdDtDRlRZJnF1b3Q7IGNv
bDE9JnF1b3Q7Q09ERSZxdW90O8KgIG9wZXJhdG9yPSZxdW90Oz0mcXVvdDvCoCBzdHJpbmc9JnF1
b3Q7JnF1b3Q7wqDCoCBudW1iZXI9JnF1b3Q7JnF1b3Q7IGRhdGU9ICZxdW90OyZxdW90O8KgwqDC
oCAvJmd0OzwvcD48cD7CoCAmbHQ7L3doZXJlJmd0OzwvcD48cD4mbHQ7L2Z1bmN0aW9uYWxWaWV3
Jmd0OzwvcD48cCBzdHlsZT0ibWluLWhlaWdodDo4cHQ7cGFkZGluZzowcHgiPsKgPC9wPjxwPkJl
bG93IGlzIHJlc3BlY3RpdmUgWFNEIGZvciByZWZlcmVuY2U6PC9wPjxwIHN0eWxlPSJtaW4taGVp
Z2h0OjhwdDtwYWRkaW5nOjBweCI+wqA8L3A+PHA+Jmx0Oz94bWwgdmVyc2lvbj0mcXVvdDsxLjAm
cXVvdDsgZW5jb2Rpbmc9JnF1b3Q7VVRGLTgmcXVvdDs/Jmd0OzwvcD48cD48c3Bhbj4mbHQ7eHM6
c2NoZW1hIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSZxdW90O3VucXVhbGlmaWVkJnF1b3Q7IGVsZW1l
bnRGb3JtRGVmYXVsdD0mcXVvdDtxdWFsaWZpZWQmcXVvdDsgeG1sbnM6eHM9JnF1b3Q7PC9zcGFu
PjxhIGNsYXNzPSJnbWFpbC1qaXZlLWxpbmstZXh0ZXJuYWwtc21hbGwiIGhyZWY9Imh0dHA6Ly93
d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiByZWw9Im5vZm9sbG93Ij5odHRwOi8vd3d3LnczLm9y
Zy8yMDAxL1hNTFNjaGVtYTwvYT48c3Bhbj4mcXVvdDsmZ3Q7PC9zcGFuPjwvcD48cD7CoCAmbHQ7
eHM6ZWxlbWVudCBuYW1lPSZxdW90O2Z1bmN0aW9uYWxWaWV3JnF1b3Q7ICZndDs8L3A+PHA+wqDC
oMKgICZsdDt4czpjb21wbGV4VHlwZSZndDs8L3A+PHA+wqDCoMKgwqDCoCAmbHQ7eHM6c2VxdWVu
Y2UmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgICZsdDt4czplbGVtZW50IG5hbWU9JnF1b3Q7Y29s
dW1ucyZxdW90OyZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgICZsdDt4czpjb21wbGV4VHlw
ZSZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7eHM6c2VxdWVuY2UmZ3Q7PC9w
PjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDt4czplbGVtZW50IG5hbWU9JnF1b3Q7
Y29sdW1uJnF1b3Q7IG1heE9jY3Vycz0mcXVvdDt1bmJvdW5kZWQmcXVvdDsgbWluT2NjdXJzPSZx
dW90OzEmcXVvdDsmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7
eHM6Y29tcGxleFR5cGUmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgJmx0O3hzOnNpbXBsZUNvbnRlbnQmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgICZsdDt4czpleHRlbnNpb24gYmFzZT0mcXVvdDt4czpzdHJpbmcmcXVv
dDsmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAm
bHQ7eHM6YXR0cmlidXRlIHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7IG5hbWU9JnF1b3Q7bmFt
ZSZxdW90OyB1c2U9JnF1b3Q7cmVxdWlyZWQmcXVvdDsvJmd0OzwvcD48cD7CoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hzOmF0dHJpYnV0ZSB0eXBlPSZxdW90
O3hzOnN0cmluZyZxdW90OyBuYW1lPSZxdW90O2NvbHVtbkFsaWFzJnF1b3Q7IHVzZT0mcXVvdDty
ZXF1aXJlZCZxdW90Oy8mZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCAmbHQ7eHM6YXR0cmlidXRlIHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7IG5h
bWU9JnF1b3Q7ZGVzY3JpcHRpb24mcXVvdDsgdXNlPSZxdW90O3JlcXVpcmVkJnF1b3Q7LyZndDs8
L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0Oy94czpleHRl
bnNpb24mZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0Oy94
czpzaW1wbGVDb250ZW50Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
Jmx0Oy94czpjb21wbGV4VHlwZSZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
Jmx0Oy94czplbGVtZW50Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDsveHM6
c2VxdWVuY2UmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7L3hzOmNvbXBsZXhUeXBl
Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoCAmbHQ7L3hzOmVsZW1lbnQmZ3Q7PC9wPjxwPsKgwqDC
oMKgwqDCoMKgICZsdDt4czplbGVtZW50IG5hbWU9JnF1b3Q7ZnJvbXZpZXdzJnF1b3Q7IG1heE9j
Y3Vycz0mcXVvdDsxJnF1b3Q7IG1pbk9jY3Vycz0mcXVvdDsxJnF1b3Q7Jmd0OzwvcD48cD7CoMKg
wqDCoMKgwqDCoMKgwqAgJmx0O3hzOmNvbXBsZXhUeXBlJmd0OzwvcD48cD7CoMKgwqDCoMKgwqDC
oMKgwqDCoMKgICZsdDt4czpzZXF1ZW5jZSZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgJmx0O3hzOmVsZW1lbnQgbmFtZT0mcXVvdDtmcm9tdmlldyZxdW90OyBtYXhPY2N1cnM9
JnF1b3Q7dW5ib3VuZGVkJnF1b3Q7IG1pbk9jY3Vycz0mcXVvdDsyJnF1b3Q7Jmd0OzwvcD48cD7C
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hzOmNvbXBsZXhUeXBlJmd0OzwvcD48
cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDt4czpzaW1wbGVDb250ZW50
Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7eHM6
ZXh0ZW5zaW9uIGJhc2U9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7Jmd0OzwvcD48cD7CoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hzOmF0dHJpYnV0ZSB0eXBlPSZx
dW90O3hzOnN0cmluZyZxdW90OyBuYW1lPSZxdW90O25hbWUmcXVvdDsgdXNlPSZxdW90O3JlcXVp
cmVkJnF1b3Q7LyZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgICZsdDt4czphdHRyaWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0m
cXVvdDthbGlhcyZxdW90OyB1c2U9JnF1b3Q7cmVxdWlyZWQmcXVvdDsvJmd0OzwvcD48cD7CoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7L3hzOmV4dGVuc2lvbiZndDs8
L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7L3hzOnNpbXBsZUNv
bnRlbnQmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7L3hzOmNv
bXBsZXhUeXBlJmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7L3hzOmVs
ZW1lbnQmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0Oy94czpzZXF1ZW5jZSZn
dDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgICZsdDsveHM6Y29tcGxleFR5cGUmZ3Q7PC9wPjxw
PsKgwqDCoMKgwqDCoMKgICZsdDsveHM6ZWxlbWVudCZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqAg
Jmx0O3hzOmVsZW1lbnQgbmFtZT0mcXVvdDtqb2lucyZxdW90OyBtYXhPY2N1cnM9JnF1b3Q7MSZx
dW90OyBtaW5PY2N1cnM9JnF1b3Q7MSZxdW90OyZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKg
ICZsdDt4czpjb21wbGV4VHlwZSZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7
eHM6Y2hvaWNlIG1heE9jY3Vycz0mcXVvdDt1bmJvdW5kZWQmcXVvdDsgbWluT2NjdXJzPSZxdW90
OzEmcXVvdDsmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDt4czplbGVt
ZW50IG5hbWU9JnF1b3Q7am9pbiZxdW90OyBtYXhPY2N1cnM9JnF1b3Q7dW5ib3VuZGVkJnF1b3Q7
IG1pbk9jY3Vycz0mcXVvdDswJnF1b3Q7Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgJmx0O3hzOmNvbXBsZXhUeXBlJmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgICZsdDt4czpzaW1wbGVDb250ZW50Jmd0OzwvcD48cD7CoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7eHM6ZXh0ZW5zaW9uIGJhc2U9JnF1b3Q7
eHM6c3RyaW5nJnF1b3Q7Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgJmx0O3hzOmF0dHJpYnV0ZSB0eXBlPSZxdW90O3hzOnN0cmluZyZxdW90OyBu
YW1lPSZxdW90O2FsaWFzMSZxdW90OyB1c2U9JnF1b3Q7cmVxdWlyZWQmcXVvdDsvJmd0OzwvcD48
cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hzOmF0dHJp
YnV0ZSB0eXBlPSZxdW90O3hzOnN0cmluZyZxdW90OyBuYW1lPSZxdW90O2NvbDEmcXVvdDsgdXNl
PSZxdW90O3JlcXVpcmVkJnF1b3Q7LyZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgICZsdDt4czphdHRyaWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcm
cXVvdDsgbmFtZT0mcXVvdDtjb25kaXRpb24mcXVvdDsgdXNlPSZxdW90O3JlcXVpcmVkJnF1b3Q7
LyZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZs
dDt4czphdHRyaWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDthbGlh
czImcXVvdDsgdXNlPSZxdW90O3JlcXVpcmVkJnF1b3Q7LyZndDs8L3A+PHA+wqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDt4czphdHRyaWJ1dGUgdHlwZT0mcXVv
dDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtjb2wyJnF1b3Q7IHVzZT0mcXVvdDtyZXF1aXJl
ZCZxdW90Oy8mZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
ICZsdDsveHM6ZXh0ZW5zaW9uJmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgICZsdDsveHM6c2ltcGxlQ29udGVudCZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgICZsdDsveHM6Y29tcGxleFR5cGUmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgICZsdDsveHM6ZWxlbWVudCZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgJmx0O3hzOmVsZW1lbnQgbmFtZT0mcXVvdDtsZWZ0b3V0ZXJqb2luJnF1b3Q7IG1h
eE9jY3Vycz0mcXVvdDt1bmJvdW5kZWQmcXVvdDsgbWluT2NjdXJzPSZxdW90OzAmcXVvdDsmZ3Q7
PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7eHM6Y29tcGxleFR5cGUm
Z3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hzOnNpbXBs
ZUNvbnRlbnQmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
ICZsdDt4czpleHRlbnNpb24gYmFzZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsmZ3Q7PC9wPjxwPsKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7eHM6YXR0cmlidXRl
IHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7IG5hbWU9JnF1b3Q7YWxpYXMxJnF1b3Q7IHVzZT0m
cXVvdDtyZXF1aXJlZCZxdW90Oy8mZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAmbHQ7eHM6YXR0cmlidXRlIHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1
b3Q7IG5hbWU9JnF1b3Q7Y29sMSZxdW90OyB1c2U9JnF1b3Q7cmVxdWlyZWQmcXVvdDsvJmd0Ozwv
cD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hzOmF0
dHJpYnV0ZSB0eXBlPSZxdW90O3hzOnN0cmluZyZxdW90OyBuYW1lPSZxdW90O2NvbmRpdGlvbiZx
dW90OyB1c2U9JnF1b3Q7cmVxdWlyZWQmcXVvdDsvJmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hzOmF0dHJpYnV0ZSB0eXBlPSZxdW90O3hz
OnN0cmluZyZxdW90OyBuYW1lPSZxdW90O2FsaWFzMiZxdW90OyB1c2U9JnF1b3Q7cmVxdWlyZWQm
cXVvdDsvJmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgJmx0O3hzOmF0dHJpYnV0ZSB0eXBlPSZxdW90O3hzOnN0cmluZyZxdW90OyBuYW1lPSZxdW90
O2NvbDImcXVvdDsgdXNlPSZxdW90O3JlcXVpcmVkJnF1b3Q7LyZndDs8L3A+PHA+wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0Oy94czpleHRlbnNpb24mZ3Q7PC9wPjxw
PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0Oy94czpzaW1wbGVDb250ZW50
Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0Oy94czpjb21wbGV4
VHlwZSZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0Oy94czplbGVtZW50
Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDsveHM6Y2hvaWNlJmd0OzwvcD48
cD7CoMKgwqDCoMKgwqDCoMKgwqAgJmx0Oy94czpjb21wbGV4VHlwZSZndDs8L3A+PHA+wqDCoMKg
wqDCoMKgwqAgJmx0Oy94czplbGVtZW50Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoCAmbHQ7eHM6
ZWxlbWVudCBuYW1lPSZxdW90O3doZXJlJnF1b3Q7IG1heE9jY3Vycz0mcXVvdDsxJnF1b3Q7IG1p
bk9jY3Vycz0mcXVvdDswJnF1b3Q7Jmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hz
OmNvbXBsZXhUeXBlJmd0OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDt4czpzZXF1
ZW5jZSZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hzOmVsZW1lbnQg
bmFtZT0mcXVvdDtjb25kaXRpb24mcXVvdDsgbWF4T2NjdXJzPSZxdW90O3VuYm91bmRlZCZxdW90
OyBtaW5PY2N1cnM9JnF1b3Q7MSZxdW90OyZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgICZsdDt4czpjb21wbGV4VHlwZSZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAmbHQ7eHM6c2ltcGxlQ29udGVudCZndDs8L3A+PHA+wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJmx0O3hzOmV4dGVuc2lvbiBiYXNlPSZxdW90
O3hzOnN0cmluZyZxdW90OyZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgICZsdDt4czphdHRyaWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsg
bmFtZT0mcXVvdDthbGlhczEmcXVvdDsgdXNlPSZxdW90O3JlcXVpcmVkJnF1b3Q7LyZndDs8L3A+
PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDt4czphdHRy
aWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtjb2wxJnF1b3Q7IHVz
ZT0mcXVvdDtyZXF1aXJlZCZxdW90Oy8mZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7eHM6YXR0cmlidXRlIHR5cGU9JnF1b3Q7eHM6c3RyaW5n
JnF1b3Q7IG5hbWU9JnF1b3Q7b3BlcmF0b3ImcXVvdDsgdXNlPSZxdW90O3JlcXVpcmVkJnF1b3Q7
LyZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZs
dDt4czphdHRyaWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtzdHJp
bmcmcXVvdDsgdXNlPSZxdW90O29wdGlvbmFsJnF1b3Q7LyZndDs8L3A+PHA+wqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDt4czphdHRyaWJ1dGUgdHlwZT0mcXVv
dDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtudW1iZXImcXVvdDsgdXNlPSZxdW90O29wdGlv
bmFsJnF1b3Q7LyZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgICZsdDt4czphdHRyaWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0m
cXVvdDtkYXRlJnF1b3Q7IHVzZT0mcXVvdDtvcHRpb25hbCZxdW90Oy8mZ3Q7PC9wPjxwPsKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDsveHM6ZXh0ZW5zaW9uJmd0Ozwv
cD48cD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDsveHM6c2ltcGxlQ29u
dGVudCZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDsveHM6Y29t
cGxleFR5cGUmZ3Q7PC9wPjxwPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZsdDsveHM6ZWxl
bWVudCZndDs8L3A+PHA+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmbHQ7L3hzOnNlcXVlbmNlJmd0
OzwvcD48cD7CoMKgwqDCoMKgwqDCoMKgwqAgJmx0Oy94czpjb21wbGV4VHlwZSZndDs8L3A+PHA+
wqDCoMKgwqDCoMKgwqAgJmx0Oy94czplbGVtZW50Jmd0OzwvcD48cD7CoMKgwqDCoMKgICZsdDsv
eHM6c2VxdWVuY2UmZ3Q7PC9wPjxwPsKgwqDCoMKgwqAgJmx0O3hzOmF0dHJpYnV0ZSB0eXBlPSZx
dW90O3hzOnN0cmluZyZxdW90OyBuYW1lPSZxdW90O25hbWUmcXVvdDsvJmd0OzwvcD48cD7CoMKg
wqDCoMKgICZsdDt4czphdHRyaWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0m
cXVvdDtkZXNjcmlwdGlvbiZxdW90Oy8mZ3Q7PC9wPjxwPsKgwqDCoCAmbHQ7L3hzOmNvbXBsZXhU
eXBlJmd0OzwvcD48cD7CoCAmbHQ7L3hzOmVsZW1lbnQmZ3Q7PC9wPjxwPiZsdDsveHM6c2NoZW1h
Jmd0OzwvcD48cCBzdHlsZT0ibWluLWhlaWdodDo4cHQ7cGFkZGluZzowcHgiPsKgPC9wPjxwIHN0
eWxlPSJtaW4taGVpZ2h0OjhwdDtwYWRkaW5nOjBweCI+wqA8L3A+PHA+VGhhbmtzLDwvcD48cD5S
YWpuZWVzaDwvcD4NCg0KPC9kaXY+PC9kaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48
ZGl2IGRpcj0ibHRyIiBjbGFzcz0iZ21haWxfYXR0ciI+T24gTW9uLCAyNCBGZWIgMjAyMCBhdCAy
MDo1NywgTG9yZW4gQ2FobGFuZGVyICZsdDs8YSBocmVmPSJtYWlsdG86bG9yZW4uY2FobGFuZGVy
QGdtYWlsLmNvbSI+bG9yZW4uY2FobGFuZGVyQGdtYWlsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxicj48
L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBw
eCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGlu
Zy1sZWZ0OjFleCI+PGRpdiBzdHlsZT0ib3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsiPklmIHlv
dSBjYW5ub3QgdXNlIFhTRCAxLjEsIHRoZW4gSSB3b3VsZCByZWNvbW1lbmQgdGhhdCB5b3UgdXRp
bGl6ZSBTY2hlbWF0cm9uLjxkaXY+PGJyPjwvZGl2PjxkaXY+PGEgaHJlZj0iaHR0cHM6Ly93d3cu
eG1sLmNvbS9wdWIvYS8yMDAzLzExLzEyL3NjaGVtYXRyb24uaHRtbCIgdGFyZ2V0PSJfYmxhbmsi
Pmh0dHBzOi8vd3d3LnhtbC5jb20vcHViL2EvMjAwMy8xMS8xMi9zY2hlbWF0cm9uLmh0bWw8L2E+
PGJyPjxkaXY+PGJyPjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPjxkaXY+T24gRmViIDI0LCAyMDIw
LCBhdCAxMDowMCBBTSwgUmFqbmVlc2ggU2h1a2xhICZsdDs8YSBocmVmPSJtYWlsdG86cmFqbmVl
c2hzaHVrbGFAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+cmFqbmVlc2hzaHVrbGFAZ21haWwu
Y29tPC9hPiZndDsgd3JvdGU6PC9kaXY+PGJyPjxkaXY+PGRpdiBkaXI9Imx0ciI+PGRpdj5IaSBN
dWt1bCw8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk9uZSBtb3JlIGhlbHAgcGxlYXNlOjwvZGl2
PjxkaXY+PGJyPjwvZGl2PjxkaXY+SXMgaXQgcG9zc2libGUgdG8gaW1wb3NlIHJlcXVpcmVkIGNv
bnN0cmFpbnQgYXQgdmFsdWUgbGV2ZWw/PC9kaXY+PGRpdj5mb3IgZXhhbXBsZSBpbiBiZWxvdyB4
bWwsIEkgd250IHRvIG1ha2Ugc3VyZSB2YWx1ZSBmb3IgYWxpYXMxLCBjb2xpMSBhbmQgb3BlcmF0
b3IgaXMgYWx3YXlzIHBvcHVsYXRlZCBpbiBjb25kaXRpb24gZWxlbWVudCB3aXRoaW4gd2hlcmUg
ZWxlbWVudC48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PmZ1bmN0aW9uYWxWaWV3IG5hbWU9JnF1
b3Q7Q0xBSU1TX0ZWJnF1b3Q7IMKgZGVzY3JpcHRpb249JnF1b3Q7TGVhcm5pbmcgUHVycG9zZSZx
dW90OyZndDs8YnI+PGJyPsKgICZsdDtjb2x1bW5zJmd0Ozxicj48YnI+wqAgwqAgJmx0O2NvbHVt
biBuYW1lPSZxdW90O0NMQUkuQ09ERSZxdW90OyDCoCBjb2x1bW5BbGlhcz0mcXVvdDtDT0RFJnF1
b3Q7IMKgZGVzY3JpcHRpb249JnF1b3Q7VGhlIGNvZGUgb2YgdGhlIGNsYWltJnF1b3Q7IC8mZ3Q7
PGJyPjxicj7CoCDCoCAmbHQ7Y29sdW1uIG5hbWU9JnF1b3Q7Q0xMSS5DT0RFJnF1b3Q7IMKgIGNv
bHVtbkFsaWFzPSZxdW90O0xJTkVfQ09ERSZxdW90OyDCoGRlc2NyaXB0aW9uPSZxdW90O1RoZSBj
b2RlIG9mIHRoZSBjbGFpbSBsaW5lJnF1b3Q7IC8mZ3Q7PGJyPjxicj7CoCDCoCAmbHQ7Y29sdW1u
IG5hbWU9JnF1b3Q7UFJPQy5DT0RFJnF1b3Q7IMKgIGNvbHVtbkFsaWFzPSZxdW90O1BST0NfQ09E
RSZxdW90OyDCoGRlc2NyaXB0aW9uPSZxdW90O1RoZSBjb2RlIG9mIHRoZSBjbGFpbSBsaW5lIHBy
b2NlZHVyZSZxdW90OyAvJmd0Ozxicj48YnI+wqAgJmx0Oy9jb2x1bW5zJmd0Ozxicj48YnI+wqAg
Jmx0O2Zyb212aWV3cyZndDs8YnI+PGJyPsKgIMKgICZsdDtmcm9tdmlldyBuYW1lPSZxdW90O0NM
QUlNU19WJnF1b3Q7IGFsaWFzPSZxdW90O0NMQUkmcXVvdDsgLyZndDs8YnI+PGJyPsKgIMKgICZs
dDtmcm9tdmlldyBuYW1lPSZxdW90O0xJTkVTX1YmcXVvdDsgYWxpYXM9JnF1b3Q7Q0xMSSZxdW90
OyAvJmd0Ozxicj48YnI+wqAgwqAgJmx0O2Zyb212aWV3IG5hbWU9JnF1b3Q7UFJPQ19WJnF1b3Q7
IGFsaWFzPSZxdW90O1BST0MmcXVvdDsgLyZndDs8YnI+PGJyPsKgIMKgICZsdDtmcm9tdmlldyBu
YW1lPSZxdW90O1BST1ZfViZxdW90OyBhbGlhcz0mcXVvdDtQUk9WJnF1b3Q7IC8mZ3Q7PGJyPjxi
cj7CoCDCoCAmbHQ7ZnJvbXZpZXcgbmFtZT0mcXVvdDtGT1JNU19WJnF1b3Q7IGFsaWFzPSZxdW90
O0NMRk8mcXVvdDsvJmd0Ozxicj48YnI+wqAgwqAgJmx0O2Zyb212aWV3IG5hbWU9JnF1b3Q7Rk9S
TVRZUEVTX1YmcXVvdDsgYWxpYXM9JnF1b3Q7Q0ZUWSZxdW90Oy8mZ3Q7PGJyPjxicj7CoCAmbHQ7
L2Zyb212aWV3cyZndDs8YnI+PGJyPsKgICZsdDtqb2lucyZndDs8YnI+PGJyPsKgIMKgICZsdDtq
b2luIMKgYWxpYXMxPSZxdW90O0NMTEkmcXVvdDsgY29sMT0mcXVvdDtDTEFJX0lEJnF1b3Q7IGNv
bmRpdGlvbj0mcXVvdDs9JnF1b3Q7IMKgYWxpYXMyPSZxdW90O0NMQUkmcXVvdDsgY29sMj0mcXVv
dDtJRCZxdW90Oy8mZ3Q7PGJyPjxicj7CoCDCoCAmbHQ7am9pbiDCoGFsaWFzMT0mcXVvdDtDTEZP
JnF1b3Q7IGNvbDE9JnF1b3Q7SUQmcXVvdDsgY29uZGl0aW9uPSZxdW90Oz0mcXVvdDsgwqBhbGlh
czI9JnF1b3Q7Q0ZUWSZxdW90OyBjb2wyPSZxdW90O0NMRk9fSUQmcXVvdDsvJmd0Ozxicj48YnI+
wqAgwqAgJmx0O2pvaW4gwqBhbGlhczE9JnF1b3Q7Q0ZUWSZxdW90OyBjb2wxPSZxdW90O0lEJnF1
b3Q7IGNvbmRpdGlvbj0mcXVvdDs9JnF1b3Q7IMKgYWxpYXMyPSZxdW90O1BST0MmcXVvdDsgY29s
Mj0mcXVvdDtDRlRZX0lEJnF1b3Q7LyZndDs8YnI+PGJyPsKgIMKgICZsdDtsZWZ0b3V0ZXJqb2lu
IMKgYWxpYXMxPSZxdW90O1BST1YmcXVvdDsgY29sMT0mcXVvdDtJRCZxdW90OyBjb25kaXRpb249
JnF1b3Q7PSZxdW90OyDCoGFsaWFzMj0mcXVvdDtDTEFJJnF1b3Q7IGNvbDI9JnF1b3Q7UFJPVklE
RVJfSUQmcXVvdDsvJmd0Ozxicj48YnI+wqAgJmx0Oy9qb2lucyZndDs8YnI+PGJyPsKgICZsdDt3
aGVyZSZndDs8YnI+PGJyPsKgIMKgICZsdDtjb25kaXRpb24gYWxpYXMxPSZxdW90O0NGVFkmcXVv
dDsgY29sMT0mcXVvdDtDT0RFJnF1b3Q7IMKgb3BlcmF0b3I9JnF1b3Q7PSZxdW90OyDCoHN0cmlu
Zz0mcXVvdDsmcXVvdDsgwqAgbnVtYmVyPSZxdW90OyZxdW90OyBkYXRlPSAmcXVvdDsmcXVvdDsg
wqAgwqAvJmd0Ozxicj48YnI+wqAgJmx0Oy93aGVyZSZndDs8YnI+PGJyPiZsdDsvZnVuY3Rpb25h
bFZpZXcmZ3Q7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGFua3MsPC9kaXY+PGRpdj5SYWpu
ZWVzaDxicj48L2Rpdj48L2Rpdj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgZGly
PSJsdHIiIGNsYXNzPSJnbWFpbF9hdHRyIj5PbiBNb24sIDI0IEZlYiAyMDIwIGF0IDEzOjM5LCBS
YWpuZWVzaCBTaHVrbGEgJmx0OzxhIGhyZWY9Im1haWx0bzpyYWpuZWVzaHNodWtsYUBnbWFpbC5j
b20iIHRhcmdldD0iX2JsYW5rIj5yYWpuZWVzaHNodWtsYUBnbWFpbC5jb208L2E+Jmd0OyB3cm90
ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2lu
OjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQp
O3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiPjxkaXY+SGkgTXVrdWwsPC9kaXY+PGRp
dj48YnI+PC9kaXY+PGRpdj5UaGFua3MgZm9yIHlvdXIgcmVwbHkuPC9kaXY+PGRpdj48cD5JIGFt
wqAgd29ya2luZyBpbnNpZGUgdGhlIGRhdGFiYXNlLCBpdCB3b24mIzM5O3QgYmUgcG9zc2libGUu
PC9wPjxwPk9yYWNsZSBYTUwgREIgb25seSBzdXBwb3J0cyBYTUwgU2NoZW1hIDEuMC48L3A+PHA+
PGJyPjwvcD48cD5UaGFua3MsPC9wPjxwPlJham5lZXNoPGJyPjwvcD4NCg0KPC9kaXY+PC9kaXY+
PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2IGRpcj0ibHRyIiBjbGFzcz0iZ21haWxf
YXR0ciI+T24gU2F0LCAyMiBGZWIgMjAyMCBhdCAxMToyNywgTXVrdWwgR2FuZGhpICZsdDs8YSBo
cmVmPSJtYWlsdG86Z2FuZGhpLm11a3VsQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmdhbmRo
aS5tdWt1bEBnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xh
c3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1s
ZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgZGly
PSJsdHIiPjxkaXYgZGlyPSJsdHIiPkhpIFJham5lZXNoLMKgPGJyPjwvZGl2PsKgIMKgIFdpdGhp
biB0aGUgWFNEIGRvY3VtZW50IHlvdSYjMzk7dmUgYXR0YWNoZWQsIGZvbGxvd2luZyBpcyBhIFhT
RCBpc3N1ZSB0byBzdGFydCB3aXRoICh1c2luZyBYZXJjZXMtSiAyLjEyLjEgYXMgWFNEIHZhbGlk
YXRvciksPGJyPjxicj5bRXJyb3JdIHF1ZXJ5MS54c2Q6Mzo2NzogczRzLWF0dC1ub3QtYWxsb3dl
ZDogQXR0cmlidXRlICYjMzk7bWF4T2NjdXJzJiMzOTsgY2Fubm90IGFwcGVhciBpbiBlbGVtZW50
ICYjMzk7ZWxlbWVudCYjMzk7Ljxicj5bRXJyb3JdIHF1ZXJ5MS54c2Q6Mzo2NzogczRzLWF0dC1u
b3QtYWxsb3dlZDogQXR0cmlidXRlICYjMzk7bWluT2NjdXJzJiMzOTsgY2Fubm90IGFwcGVhciBp
biBlbGVtZW50ICYjMzk7ZWxlbWVudCYjMzk7Ljxicj48YnI+aS5lLCB0aGUgZm9sbG93aW5nIGlz
IG5vdCBhbGxvd2VkIGJ5IFhTRCBsYW5ndWFnZSw8YnI+PGJyPiZsdDt4czpzY2hlbWEgYXR0cmli
dXRlRm9ybURlZmF1bHQ9JnF1b3Q7dW5xdWFsaWZpZWQmcXVvdDsgZWxlbWVudEZvcm1EZWZhdWx0
PSZxdW90O3F1YWxpZmllZCZxdW90OyB4bWxuczp4cz0mcXVvdDs8YSBocmVmPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cudzMub3Jn
LzIwMDEvWE1MU2NoZW1hPC9hPiZxdW90OyZndDs8YnI+PGJyPsKgIMKgICZsdDt4czplbGVtZW50
IG5hbWU9JnF1b3Q7ZnVuY3Rpb25hbFZpZXcmcXVvdDsgbWF4T2NjdXJzPSZxdW90OzEmcXVvdDsg
bWluT2NjdXJzPSZxdW90OzEmcXVvdDsmZ3Q7PGJyPsKgIMKgIC4uLjxicj48YnI+Jmx0Oy94czpz
Y2hlbWEmZ3Q7PGJyPjxicj5SZW1vdmluZywgbWF4T2NjdXJzPSZxdW90OzEmcXVvdDsgbWluT2Nj
dXJzPSZxdW90OzEmcXVvdDsgZnJvbSBhYm92ZSBzaG93biB4czplbGVtZW50IGRlY2xhcmF0aW9u
IGZyb20geW91ciBhdHRhY2hlZCBYU0QgZG9jdW1lbnQsIG1ha2VzIHlvdXIgWFNEIGRvY3VtZW50
IGNvcnJlY3QgKHdpdGggYm90aCAxLjAgYW5kIDEuMSB2ZXJzaW9ucyBvZiBYU0QgbGFuZ3VhZ2Up
Ljxicj48YnI+Tm93IGNvbWluZyB0byB5b3VyIHF1ZXN0aW9uLjxicj5JIHRoaW5rIHRoYXQsIHRo
ZSBpc3N1ZSB5b3UmIzM5O3ZlIG1lbnRpb25lZCBjYW4gYmUgc29sdmVkIHVzaW5nIGFuIFhTRCAx
LjEgJmx0O2Fzc2VydCZndDsgaW5zdHJ1Y3Rpb24uIEkgZ3Vlc3MgdGhhdCwgeW91IGNhbiByZXdy
aXRlIHlvdXIgWFNEIGZyYWdtZW50IHRvIGZvbGxvd2luZyAoSSYjMzk7dmUgb25seSBhZGRlZCBh
biAmbHQ7YXNzZXJ0Jmd0OyksIHRvIGFjaGlldmUgd2hhdCB5b3UmIzM5O3ZlIG1lbnRpb25lZCw8
YnI+PGJyPiZsdDt4czplbGVtZW50IG5hbWU9JnF1b3Q7d2hlcmUmcXVvdDsgbWF4T2NjdXJzPSZx
dW90OzEmcXVvdDsgbWluT2NjdXJzPSZxdW90OzAmcXVvdDsmZ3Q7PGJyPsKgIMKgIMKgIMKgJmx0
O3hzOmNvbXBsZXhUeXBlJmd0Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCZsdDt4czpzZXF1ZW5j
ZSZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmbHQ7eHM6ZWxlbWVudCBuYW1l
PSZxdW90O2NvbmRpdGlvbiZxdW90OyBtYXhPY2N1cnM9JnF1b3Q7dW5ib3VuZGVkJnF1b3Q7IG1p
bk9jY3Vycz0mcXVvdDsxJnF1b3Q7Jmd0Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCZsdDt4czpjb21wbGV4VHlwZSZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmbHQ7eHM6c2ltcGxlQ29udGVudCZndDs8YnI+wqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmbHQ7
eHM6ZXh0ZW5zaW9uIGJhc2U9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7Jmd0Ozxicj7CoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAm
bHQ7eHM6YXR0cmlidXRlIHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7IG5hbWU9JnF1b3Q7YWxp
YXMxJnF1b3Q7IHVzZT0mcXVvdDtyZXF1aXJlZCZxdW90Oy8mZ3Q7PGJyPsKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZsdDt4
czphdHRyaWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtjb2wxJnF1
b3Q7IHVzZT0mcXVvdDtyZXF1aXJlZCZxdW90Oy8mZ3Q7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZsdDt4czphdHRy
aWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtvcGVyYXRvciZxdW90
OyB1c2U9JnF1b3Q7cmVxdWlyZWQmcXVvdDsvJmd0Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAmbHQ7eHM6YXR0cmli
dXRlIHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7IG5hbWU9JnF1b3Q7c3RyaW5nJnF1b3Q7IHVz
ZT0mcXVvdDtvcHRpb25hbCZxdW90Oy8mZ3Q7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZsdDt4czphdHRyaWJ1dGUg
dHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtudW1iZXImcXVvdDsgdXNlPSZx
dW90O29wdGlvbmFsJnF1b3Q7LyZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJmx0O3hzOmF0dHJpYnV0ZSB0eXBl
PSZxdW90O3hzOnN0cmluZyZxdW90OyBuYW1lPSZxdW90O2RhdGUmcXVvdDsgdXNlPSZxdW90O29w
dGlvbmFsJnF1b3Q7LyZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJmx0O3hzOmFzc2VydCB0ZXN0PSZxdW90O2V4
aXN0cyhAc3RyaW5nIHwgQG51bWJlciB8IEBkYXRlKSZxdW90Oy8mZ3Q7PGJyPsKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJmx0Oy94czpleHRlbnNp
b24mZ3Q7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZs
dDsveHM6c2ltcGxlQ29udGVudCZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAmbHQ7L3hzOmNvbXBsZXhUeXBlJmd0Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCZsdDsveHM6ZWxlbWVudCZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
Jmx0Oy94czpzZXF1ZW5jZSZndDs8YnI+wqAgwqAgwqAgwqAgwqAmbHQ7L3hzOmNvbXBsZXhUeXBl
Jmd0OzxkaXY+Jmx0Oy94czplbGVtZW50Jmd0OzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSYj
Mzk7dmUgbm90IHRlc3RlZCwgdGhlIGxvZ2ljIG9mICZsdDthc3NlcnQmZ3Q7IEkmIzM5O3ZlIG1l
bnRpb25lZCBhYm92ZS48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkNvdWxkIGJlIHVzZWZ1bCBp
bmZvcm1hdGlvbiB0byBzaGFyZSB0aGF0LCB5b3UgbWF5IHVzZSB0aGUgZnVsbCBYUGF0aCAyLjAg
bGFuZ3VhZ2UsIHRvIHdyaXRlIHZhbHVlIG9mICYjMzk7dGVzdCYjMzk7IGF0dHJpYnV0ZSBvZiBh
biAmbHQ7YXNzZXJ0Jmd0Oy4gQWxzbywgMSB1cHRvIGFueSBudW1iZXIgb2YgJmx0O2Fzc2VydCZn
dDsgZWxlbWVudHMgY2FuIGJlIHdyaXR0ZW4gYXMgc2libGluZ3MgaW4gdGhlIFhTRCBkb2N1bWVu
dCAoYWxsIG9mIHRoZSBzaWJsaW5nICZsdDthc3NlcnQmZ3Q7IGVsZW1lbnRzLCBoYXZlIHRvIGV2
YWx1YXRlIHRvIHRydWUgZm9yIGhhdmluZyB0aGUgWE1MIGluc3RhbmNlIGRvY3VtZW50IHZhbGlk
KS48L2Rpdj48ZGl2Pjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdiBkaXI9Imx0ciIg
Y2xhc3M9ImdtYWlsX2F0dHIiPk9uIEZyaSwgRmViIDIxLCAyMDIwIGF0IDExOjE2IFBNIFJham5l
ZXNoIFNodWtsYSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnJham5lZXNoc2h1a2xhQGdtYWlsLmNvbSIg
dGFyZ2V0PSJfYmxhbmsiPnJham5lZXNoc2h1a2xhQGdtYWlsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxi
cj48L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4
IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFk
ZGluZy1sZWZ0OjFleCI+PGRpdiBkaXI9Imx0ciI+SGVsbG8gQWxsLDxicj48YnI+SSBhbSBuZXcg
dG8gWFNEIGFuZCBYTUwgYW5kIG5lZWQgdG8gZXhwbG9yZSBpZiB0aGVyZSBpcyBvcHRpb24gdG8g
bWFrZSBzdXJlIHRoYXQgYW55IG9uZSBhdHRyaWJ1dGUgaW4gYSBzZXQgb2YgYXR0cmlidXRlcyB3
aXRoaW4gc2FtZSBlbGVtZW50IGlzIHJlcXVpcmVkLjxicj48YnI+RXhhbXBsZTo8YnI+PGJyPsKg
ICZsdDt4czplbGVtZW50IG5hbWU9JnF1b3Q7d2hlcmUmcXVvdDsgbWF4T2NjdXJzPSZxdW90OzEm
cXVvdDsgbWluT2NjdXJzPSZxdW90OzAmcXVvdDsmZ3Q7PGJyPsKgIMKgIMKgIMKgIMKgICZsdDt4
czpjb21wbGV4VHlwZSZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgJmx0O3hzOnNlcXVlbmNlJmd0
Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCAmbHQ7eHM6ZWxlbWVudCBuYW1lPSZxdW90O2NvbmRp
dGlvbiZxdW90OyBtYXhPY2N1cnM9JnF1b3Q7dW5ib3VuZGVkJnF1b3Q7IG1pbk9jY3Vycz0mcXVv
dDsxJnF1b3Q7Jmd0Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAmbHQ7eHM6Y29tcGxleFR5
cGUmZ3Q7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZsdDt4czpzaW1wbGVDb250ZW50
Jmd0Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAmbHQ7eHM6ZXh0ZW5zaW9uIGJh
c2U9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7Jmd0Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCAmbHQ7eHM6YXR0cmlidXRlIHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7IG5hbWU9
JnF1b3Q7YWxpYXMxJnF1b3Q7IHVzZT0mcXVvdDtyZXF1aXJlZCZxdW90Oy8mZ3Q7PGJyPsKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZsdDt4czphdHRyaWJ1dGUgdHlwZT0mcXVvdDt4
czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtjb2wxJnF1b3Q7IHVzZT0mcXVvdDtyZXF1aXJlZCZx
dW90Oy8mZ3Q7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZsdDt4czphdHRy
aWJ1dGUgdHlwZT0mcXVvdDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtvcGVyYXRvciZxdW90
OyB1c2U9JnF1b3Q7cmVxdWlyZWQmcXVvdDsvJmd0Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCAmbHQ7eHM6YXR0cmlidXRlIHR5cGU9JnF1b3Q7eHM6c3RyaW5nJnF1b3Q7IG5h
bWU9JnF1b3Q7c3RyaW5nJnF1b3Q7IHVzZT0mcXVvdDtvcHRpb25hbCZxdW90Oy8mZ3Q7PGJyPsKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZsdDt4czphdHRyaWJ1dGUgdHlwZT0mcXVv
dDt4czpzdHJpbmcmcXVvdDsgbmFtZT0mcXVvdDtudW1iZXImcXVvdDsgdXNlPSZxdW90O29wdGlv
bmFsJnF1b3Q7LyZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJmx0O3hz
OmF0dHJpYnV0ZSB0eXBlPSZxdW90O3hzOnN0cmluZyZxdW90OyBuYW1lPSZxdW90O2RhdGUmcXVv
dDsgdXNlPSZxdW90O29wdGlvbmFsJnF1b3Q7LyZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgJmx0Oy94czpleHRlbnNpb24mZ3Q7PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgICZsdDsveHM6c2ltcGxlQ29udGVudCZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
Jmx0Oy94czpjb21wbGV4VHlwZSZndDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgJmx0Oy94czpl
bGVtZW50Jmd0Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCAmbHQ7L3hzOnNlcXVlbmNlJmd0Ozxicj7C
oCDCoCDCoCDCoCDCoCAmbHQ7L3hzOmNvbXBsZXhUeXBlJmd0Ozxicj7CoCDCoCDCoCDCoCAmbHQ7
L3hzOmVsZW1lbnQmZ3Q7PGJyPjxicj48ZGl2PkhlcmUgSSB3YW50IHRvIGVuc3VyZSB0aGF0IG1p
bmltdW0gb25lIMKgYXR0cmlidXRlIMKgaW4gYSBzZXQgb2YgMyBhdHRyaWJ1dGVzIChtZW50aW9u
ZWQgYXMgb3B0aW9uYWwgaW4gYWJvdmUpIGFyZSByZXF1aXJlZC4gQWxsIGNhbiBub3QgYmUgb3B0
aW9uYWwgLCBob3dldmVyIGFueSBvbmUgKGNhbiBiZSBtb3JlIHRoYW4gb25lIGFsc28pIGlzIHJl
cXVpcmVkLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhhbmtpbmcgeW91IGluIGFudGljaXBh
dGlvbiAhISE8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5BdHRhY2htZW50OjwvZGl2Pjxk
aXY+Q29tcGxldGUgWFNEIGZpbGUuPC9kaXY+PC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+wqA8L2Rp
dj48L2Rpdj48YnIgY2xlYXI9ImFsbCI+PGRpdj48YnI+PC9kaXY+LS0gPGJyPjxkaXYgZGlyPSJs
dHIiPjxkaXYgZGlyPSJsdHIiPjxkaXYgZGlyPSJsdHIiPjxkaXYgZGlyPSJsdHIiPjxkaXY+UmVn
YXJkcyw8YnI+TXVrdWwgR2FuZGhpPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+
PC9kaXY+DQo8L2Jsb2NrcXVvdGU+PC9kaXY+DQo8L2Jsb2NrcXVvdGU+PC9kaXY+DQo8L2Rpdj48
L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj4NCg==
--000000000000ec83d0059f542221--