<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>45286</bug_id>
          
          <creation_ts>2010-09-07 02:46:09 -0700</creation_ts>
          <short_desc>Web Inspector: use string representation of resource type in extension API</short_desc>
          <delta_ts>2010-09-09 08:56:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>loislo</cc>
    
    <cc>ossy</cc>
    
    <cc>pfeldman</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>274926</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-07 02:46:09 -0700</bug_when>
    <thetext>Extension API currently exposes resource types as numeric constants defined in WebCore::InspectorResource::Type. This is not safe, as types may be added in the middle of the list. We need to use string-based representation for resource types when exposing them in the extension API (e.g. &quot;document&quot;, &quot;font&quot; etc).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274955</commentid>
    <comment_count>1</comment_count>
      <attachid>66703</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-07 04:13:06 -0700</bug_when>
    <thetext>Created attachment 66703
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274969</commentid>
    <comment_count>2</comment_count>
      <attachid>66703</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-09-07 04:55:41 -0700</bug_when>
    <thetext>Comment on attachment 66703
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=66703&amp;action=prettypatch

&gt; LayoutTests/inspector/extensions-events-expected.txt:12
&gt; +        type : &quot;other&quot;
It&apos;d be better to cover all other types too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274977</commentid>
    <comment_count>3</comment_count>
      <attachid>66707</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-07 05:44:36 -0700</bug_when>
    <thetext>Created attachment 66707
patch

- Added tests for more resource types
- Split resource tests from main extension tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274988</commentid>
    <comment_count>4</comment_count>
      <attachid>66712</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-07 06:04:04 -0700</bug_when>
    <thetext>Created attachment 66712
patch

Fixed ChangeLogs and binary files in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275809</commentid>
    <comment_count>5</comment_count>
      <attachid>66712</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-08 07:05:28 -0700</bug_when>
    <thetext>Comment on attachment 66712
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=66712&amp;action=prettypatch

&gt; LayoutTests/inspector/extensions-resources.html:47
&gt; +    webInspector.inspectedWindow.evaluate(&quot;var xhr = new XMLHttpRequest(); xhr.open(&apos;GET&apos;, &apos;&quot; + location.href + &quot;&apos;, false); xhr.send(null);&quot;, callback);
This code can be extracted into a function on the inspected side and then you would only need to call that function. I guess it might make the code more clear.

&gt; WebCore/inspector/front-end/ExtensionAPI.js:134
&gt; +var ResourceTypes = {
Could we extract this into a file shared between ExtensionAPI.js and Resource.js, r- for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276435</commentid>
    <comment_count>6</comment_count>
      <attachid>67028</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-09 06:42:35 -0700</bug_when>
    <thetext>Created attachment 67028
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276436</commentid>
    <comment_count>7</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-09 06:45:19 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 66712 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=66712&amp;action=prettypatch
&gt; 
&gt; &gt; LayoutTests/inspector/extensions-resources.html:47
&gt; &gt; +    webInspector.inspectedWindow.evaluate(&quot;var xhr = new XMLHttpRequest(); xhr.open(&apos;GET&apos;, &apos;&quot; + location.href + &quot;&apos;, false); xhr.send(null);&quot;, callback);
&gt; This code can be extracted into a function on the inspected side and then you would only need to call that function. I guess it might make the code more clear.

Done.

&gt; 
&gt; &gt; WebCore/inspector/front-end/ExtensionAPI.js:134
&gt; &gt; +var ResourceTypes = {
&gt; Could we extract this into a file shared between ExtensionAPI.js and Resource.js, r- for this.

Done this as well, though I&apos;m still not sure it&apos;s really better: the idea we duplicate resource type ids in the API is that those are actually our external interface and should remain same even if internal representation is changed. The automatic generation of ResourceTypes is more obscure, will work well as long as we only adding new resource type and will have to be rewritten if we ever rename a resource type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276468</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-09 08:12:09 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67084 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276481</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-09 08:39:01 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; http://trac.webkit.org/changeset/67084 might have broken Qt Linux Release

The root of the problem is that Linux is case sensitive,
but MacOS and Windows isn&apos;t.

case sensitive compare: Ahem.ttf &lt; abe.png  (because A&lt;a)
case insensitive compare: abe.png &lt; Ahem.ttf (because a==A and b&lt;h)

I propose we should rename Ahem.ttf to ahem.ttf to avoid this problem.


--- /home/webkitbuildbot/slaves/release32bit/buildslave/qt-linux-release/build/layout-test-results/inspector/extensions-resources-expected.txt	2010-09-09 08:22:52.751418186 -0700
+++ /home/webkitbuildbot/slaves/release32bit/buildslave/qt-linux-release/build/layout-test-results/inspector/extensions-resources-actual.txt	2010-09-09 08:22:52.751418186 -0700
@@ -9,8 +9,8 @@
 resource: .../LayoutTests/inspector/extensions-resources.html, type: document
 resource: .../LayoutTests/inspector/extensions-resources.html, type: XHR
 resource: .../LayoutTests/inspector/extensions-test.js, type: script
-resource: .../inspector/resources/abe.png, type: image
 resource: .../inspector/resources/Ahem.ttf, type: font
+resource: .../inspector/resources/abe.png, type: image
 resource: .../inspector/resources/audits-style1.css, type: stylesheet
 resource: .../inspector/resources/missing-image.png, type: other
 RUNNING TEST: extension_testGetInvalidResource</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276484</commentid>
    <comment_count>10</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-09 08:53:58 -0700</bug_when>
    <thetext>Manually committed r67084: http://trac.webkit.org/changeset/67084
Linux test fixes committed as r67088: http://trac.webkit.org/changeset/67088</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276485</commentid>
    <comment_count>11</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-09 08:55:39 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Manually committed r67084: http://trac.webkit.org/changeset/67084
&gt; Linux test fixes committed as r67088: http://trac.webkit.org/changeset/67088

Cool, thx for the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276487</commentid>
    <comment_count>12</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-09 08:56:57 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; http://trac.webkit.org/changeset/67084 might have broken Qt Linux Release
&gt; 
&gt; The root of the problem is that Linux is case sensitive,
&gt; but MacOS and Windows isn&apos;t.
&gt; 
&gt; case sensitive compare: Ahem.ttf &lt; abe.png  (because A&lt;a)
&gt; case insensitive compare: abe.png &lt; Ahem.ttf (because a==A and b&lt;h)
&gt; 
&gt; I propose we should rename Ahem.ttf to ahem.ttf to avoid this problem.

Thanks Csaba, I rather changed the sorting comparison function to ignore case -- less files to touch this way :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66703</attachid>
            <date>2010-09-07 04:13:06 -0700</date>
            <delta_ts>2010-09-07 05:44:36 -0700</delta_ts>
            <desc>patch</desc>
            <filename>resource-type-ids.patch</filename>
            <type>text/plain</type>
            <size>5619</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MDhiYWRlLi44OTgwZWNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDkt
MDcgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiB1c2Ugc3Ry
aW5nIHJlcHJlc2VudGF0aW9uIG9mIHJlc291cmNlIHR5cGUgaW4gZXh0ZW5zaW9uIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyODYKKworICAg
ICAgICAqIGluc3BlY3Rvci9leHRlbnNpb25zLWFwaS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aW5zcGVjdG9yL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dDoKKwogMjAxMC0wOS0wNyAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
dGVzdCBleHBlY3RhdGlvbiB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dAppbmRleCBhOWZkMmU2Li5kY2E4ZWYwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWFwaS1leHBlY3RlZC50eHQKQEAg
LTQ4LDYgKzQ4LDE1IEBAIFJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RBUEkKICAgICAgICAg
fQogICAgICAgICBnZXRBbGwgOiA8ZnVuY3Rpb24+CiAgICAgICAgIGdldCA6IDxmdW5jdGlvbj4K
KyAgICAgICAgVHlwZXMgOiB7CisgICAgICAgICAgICBEb2N1bWVudCA6ICJkb2N1bWVudCIKKyAg
ICAgICAgICAgIFN0eWxlc2hlZXQgOiAic3R5bGVzaGVldCIKKyAgICAgICAgICAgIEltYWdlIDog
ImltYWdlIgorICAgICAgICAgICAgRm9udCA6ICJmb250IgorICAgICAgICAgICAgU2NyaXB0IDog
InNjcmlwdCIKKyAgICAgICAgICAgIFhIUiA6ICJYSFIiCisgICAgICAgICAgICBPdGhlciA6ICJv
dGhlciIKKyAgICAgICAgfQogICAgIH0KICAgICBvblJlc2V0IDogewogICAgICAgICBhZGRMaXN0
ZW5lciA6IDxmdW5jdGlvbj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRl
bnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4IDZiMWJhMGEuLmU4NTM2MzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4
dApAQCAtOSw3ICs5LDcgQEAgR290IGNhbGxiYWNrLCBhcmd1bWVudHMgZHVtcCBmb2xsb3dzOgog
ewogICAgIDAgOiB7CiAgICAgICAgIGlkIDogPG51bWJlcj4KLSAgICAgICAgdHlwZSA6IDcKKyAg
ICAgICAgdHlwZSA6ICJvdGhlciIKICAgICAgICAgaGFyIDogPG9iamVjdD4KICAgICB9CiB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU0
NTliNTkuLjhmNTk0ZGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDktMDcgIEFuZHJleSBLb3N5YWtv
diAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiB1c2Ugc3RyaW5nIHJlcHJlc2VudGF0aW9u
IG9mIHJlc291cmNlIHR5cGUgaW4gZXh0ZW5zaW9uIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyODYKKworICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVk
RXh0ZW5zaW9uQVBJLlJlc291cmNlcy5wcm90b3R5cGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LmluamVjdGVkRXh0ZW5zaW9uQVBJLlJlc291cmNlcy5wcm90b3R5cGUuZ2V0IFR5cGVzKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9jb252ZXJ0UmVzb3VyY2Up
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS50b1VJU3RyaW5nKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKToKKwogMjAxMC0wOS0wNyAgS3dhbmcgWXVsIFNl
byAgPHNreXVsQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFt
dXJhLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQ
SS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKaW5kZXgg
NjRmNTQ4Mi4uZDUwODQwMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0V4dGVuc2lvbkFQSS5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5z
aW9uQVBJLmpzCkBAIC0xMjMsOSArMTIzLDI0IEBAIFJlc291cmNlcy5wcm90b3R5cGUgPSB7CiAg
ICAgZ2V0OiBmdW5jdGlvbihpZCwgY2FsbGJhY2spCiAgICAgewogICAgICAgICByZXR1cm4gZXh0
ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogImdldFJlc291cmNlcyIsIGlkOiBp
ZCB9LCBjYWxsYmFjayk7CisgICAgfSwKKworICAgIGdldCBUeXBlcygpCisgICAgeworICAgICAg
ICByZXR1cm4gUmVzb3VyY2VUeXBlczsKICAgICB9CiB9CiAKK3ZhciBSZXNvdXJjZVR5cGVzID0g
eworICAgIERvY3VtZW50OiAiZG9jdW1lbnQiLAorICAgIFN0eWxlc2hlZXQ6ICJzdHlsZXNoZWV0
IiwKKyAgICBJbWFnZTogImltYWdlIiwKKyAgICBGb250OiAiZm9udCIsCisgICAgU2NyaXB0OiAi
c2NyaXB0IiwKKyAgICBYSFI6ICJYSFIiLAorICAgIE90aGVyOiAib3RoZXIiCit9OworCiB2YXIg
d2VsbEtub3duUGFuZWxOYW1lcyA9IFsKICAgICAiZWxlbWVudHMiLAogICAgICJzY3JpcHRzIgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5q
cyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKaW5kZXgg
ZjQxMGQ4Yy4uMTQ0MjVlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0V4dGVuc2lvblNlcnZlci5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0
ZW5zaW9uU2VydmVyLmpzCkBAIC0xMDMsNyArMTAzLDcgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lv
blNlcnZlci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICByZXR1cm4gewogICAgICAgICAg
ICAgaWQ6IHJlc291cmNlLmlkZW50aWZpZXIsCi0gICAgICAgICAgICB0eXBlOiByZXNvdXJjZS50
eXBlLAorICAgICAgICAgICAgdHlwZTogV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUudG9TdHJp
bmcocmVzb3VyY2UudHlwZSksCiAgICAgICAgICAgICBoYXI6IChuZXcgV2ViSW5zcGVjdG9yLkhB
UkVudHJ5KHJlc291cmNlKSkuYnVpbGQoKSwKICAgICAgICAgfTsKICAgICB9LApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzCmluZGV4IDA2YTYxMGQuLjNhMTY4ZWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcworKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKQEAgLTUyLDI0ICs1MiwzMSBAQCBX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZSA9IHsKICAgICAgICAgcmV0dXJuICh0eXBlID09PSB0
aGlzLkRvY3VtZW50KSB8fCAodHlwZSA9PT0gdGhpcy5TdHlsZXNoZWV0KSB8fCAodHlwZSA9PT0g
dGhpcy5TY3JpcHQpIHx8ICh0eXBlID09PSB0aGlzLlhIUik7CiAgICAgfSwKIAorICAgIHRvVUlT
dHJpbmc6IGZ1bmN0aW9uKHR5cGUpCisgICAgeworICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKHR5cGUpKTsKKyAg
ICB9LAorCisgICAgLy8gUmV0dXJucyBsb2NhbGUtaW5kZXBlbmRlbnQgc3RyaW5nIGlkZW50aWZp
ZXIgb2YgcmVzb3VyY2UgdHlwZSAocHJpbWFyaWx5IGZvciB1c2UgaW4gZXh0ZW5zaW9uIEFQSSku
CisgICAgLy8gVGhlIElEcyBuZWVkIHRvIGJlIGtlcHQgaW4gc3luYyB3aXRoIHdlYkluc3BlY3Rv
ci5yZXNvdXJlY2VzLlR5cGVzIG9iamVjdCBpbiBFeHRlbnNpb25BUEkuanMuCiAgICAgdG9TdHJp
bmc6IGZ1bmN0aW9uKHR5cGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAg
ICAgICAgIGNhc2UgdGhpcy5Eb2N1bWVudDoKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJkb2N1bWVudCIpOworICAgICAgICAgICAgICAgIHJldHVybiAiZG9j
dW1lbnQiOwogICAgICAgICAgICAgY2FzZSB0aGlzLlN0eWxlc2hlZXQ6Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygic3R5bGVzaGVldCIpOworICAgICAgICAg
ICAgICAgIHJldHVybiAic3R5bGVzaGVldCI7CiAgICAgICAgICAgICBjYXNlIHRoaXMuSW1hZ2U6
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiaW1hZ2UiKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gImltYWdlIjsKICAgICAgICAgICAgIGNhc2UgdGhpcy5G
b250OgotICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoImZvbnQi
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gImZvbnQiOwogICAgICAgICAgICAgY2FzZSB0aGlz
LlNjcmlwdDoKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJz
Y3JpcHQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gInNjcmlwdCI7CiAgICAgICAgICAgICBj
YXNlIHRoaXMuWEhSOgotICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlhIUiIpOworICAgICAgICAgICAgICAgIHJldHVybiAiWEhSIjsKICAgICAgICAgICAgIGNh
c2UgdGhpcy5PdGhlcjoKICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygib3RoZXIiKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gIm90aGVyIjsKICAgICAgICAgfQogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66707</attachid>
            <date>2010-09-07 05:44:36 -0700</date>
            <delta_ts>2010-09-07 06:04:04 -0700</delta_ts>
            <desc>patch</desc>
            <filename>resource-type-ids.patch</filename>
            <type>text/plain</type>
            <size>10828</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWFwaS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0
CmluZGV4IGE5ZmQyZTYuLmRjYThlZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9leHRlbnNpb25zLWFwaS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dApAQCAtNDgsNiArNDgsMTUgQEAgUlVOTklORyBU
RVNUOiBleHRlbnNpb25fdGVzdEFQSQogICAgICAgICB9CiAgICAgICAgIGdldEFsbCA6IDxmdW5j
dGlvbj4KICAgICAgICAgZ2V0IDogPGZ1bmN0aW9uPgorICAgICAgICBUeXBlcyA6IHsKKyAgICAg
ICAgICAgIERvY3VtZW50IDogImRvY3VtZW50IgorICAgICAgICAgICAgU3R5bGVzaGVldCA6ICJz
dHlsZXNoZWV0IgorICAgICAgICAgICAgSW1hZ2UgOiAiaW1hZ2UiCisgICAgICAgICAgICBGb250
IDogImZvbnQiCisgICAgICAgICAgICBTY3JpcHQgOiAic2NyaXB0IgorICAgICAgICAgICAgWEhS
IDogIlhIUiIKKyAgICAgICAgICAgIE90aGVyIDogIm90aGVyIgorICAgICAgICB9CiAgICAgfQog
ICAgIG9uUmVzZXQgOiB7CiAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQK
aW5kZXggNmIxYmEwYS4uZTg1MzYzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC05LDcgKzksNyBAQCBHb3QgY2Fs
bGJhY2ssIGFyZ3VtZW50cyBkdW1wIGZvbGxvd3M6CiB7CiAgICAgMCA6IHsKICAgICAgICAgaWQg
OiA8bnVtYmVyPgotICAgICAgICB0eXBlIDogNworICAgICAgICB0eXBlIDogIm90aGVyIgogICAg
ICAgICBoYXIgOiA8b2JqZWN0PgogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9leHRlbnNpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
eHRlbnNpb25zLWV4cGVjdGVkLnR4dAppbmRleCBhMDg4ZjQwLi5iZDVhOTUyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtZXhwZWN0ZWQudHh0CkBAIC0yMywxMyArMjMs
NSBAQCBTaWRlYmFyIGNyZWF0ZWQKICAgICBzZXRIZWlnaHQgOiA8ZnVuY3Rpb24+CiAgICAgc2V0
RXhwYW5kZWQgOiA8ZnVuY3Rpb24+CiB9Ci1SVU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0R2V0
QWxsUmVzb3VyY2VzCi1yZXNvdXJjZTogLi4uL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dDIuanMKLXJlc291cmNlOiAuLi4vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVz
dC5qcwotcmVzb3VyY2U6IC4uLi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy5odG1s
Ci1SVU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0R2V0SW52YWxpZFJlc291cmNlCi1BdHRlbXB0
ZWQgdG8gcmV0cmlldmUgaW52YWxpZCByZXNvdXJjZTogeyJjb2RlIjoiRV9OT1RGT1VORCIsImRl
c2NyaXB0aW9uIjoiT2JqZWN0IG5vdCBmb3VuZDogJXMiLCJkZXRhaWxzIjpbMjEyODUwNl0sImlz
RXJyb3IiOnRydWV9Ci1SVU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0UmVzb3VyY2VOb3RpZmlj
YXRpb24KLVJlc291cmNlIGZpbmlzaGVkOiAuLi4vaW5zcGVjdG9yL3Jlc291cmNlcy9leHRlbnNp
b24tbWFpbi5odG1sCiBBbGwgdGVzdHMgZG9uZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJmYWJjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyMSBAQAorVGVzdHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEkKKworIAorUGFnZSBy
ZWxvYWRlZC4KK1N0YXJ0ZWQgZXh0ZW5zaW9uLgorUnVubmluZyB0ZXN0cy4uLgorUlVOTklORyBU
RVNUOiBleHRlbnNpb25fdGVzdEdldEFsbFJlc291cmNlcworcmVzb3VyY2U6IC4uLi90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzLCB0eXBlOiBzY3JpcHQKK3Jlc291cmNlOiAuLi4v
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwsIHR5cGU6IGRv
Y3VtZW50CityZXNvdXJjZTogLi4uL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXRl
c3QuanMsIHR5cGU6IHNjcmlwdAorcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3IvcmVzb3VyY2VzL2Fi
ZS5wbmcsIHR5cGU6IGltYWdlCityZXNvdXJjZTogLi4uL2luc3BlY3Rvci9yZXNvdXJjZXMvQWhl
bS50dGYsIHR5cGU6IGZvbnQKK3Jlc291cmNlOiAuLi4vaW5zcGVjdG9yL3Jlc291cmNlcy9hdWRp
dHMtc3R5bGUxLmNzcywgdHlwZTogc3R5bGVzaGVldAorcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2V4dGVuc2lvbi1tYWluLmh0bWwsIHR5cGU6IFhIUgorcmVzb3VyY2U6IC4uLi9p
bnNwZWN0b3IvcmVzb3VyY2VzL21pc3NpbmctaW1hZ2UucG5nLCB0eXBlOiBvdGhlcgorUlVOTklO
RyBURVNUOiBleHRlbnNpb25fdGVzdEdldEludmFsaWRSZXNvdXJjZQorQXR0ZW1wdGVkIHRvIHJl
dHJpZXZlIGludmFsaWQgcmVzb3VyY2U6IHsiY29kZSI6IkVfTk9URk9VTkQiLCJkZXNjcmlwdGlv
biI6Ik9iamVjdCBub3QgZm91bmQ6ICVzIiwiZGV0YWlscyI6WzIxMjg1MDZdLCJpc0Vycm9yIjp0
cnVlfQorUlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdFJlc291cmNlTm90aWZpY2F0aW9uCitS
ZXNvdXJjZSBmaW5pc2hlZDogLi4uL2luc3BlY3Rvci9yZXNvdXJjZXMvZXh0ZW5zaW9uLW1haW4u
aHRtbAorQWxsIHRlc3RzIGRvbmUuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9leHRlbnNpb25zLXJlc291cmNlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMtcmVzb3VyY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4u
NjExYmJhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNp
b25zLXJlc291cmNlcy5odG1sCkBAIC0wLDAgKzEsNjggQEAKKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9hdWRpdHMtc3R5bGUxLmNzcyIgdHlw
ZT0idGV4dC9jc3MiPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICd0
ZXN0JzsKKyAgICBzcmM6IHVybChyZXNvdXJjZXMvQWhlbS50dGYpOworfQorCitwIHsgZm9udC1m
YW1pbHk6ICd0ZXN0JzsgfQorPC9zdHlsZT4KKworPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZXh0
ZW5zaW9ucy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RHZXRBbGxSZXNvdXJjZXMobmV4dFRlc3QpCit7
CisgICAgZnVuY3Rpb24gY29tcGFyZVJlc291cmNlcyhhLCBiKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGEuaGFyLnJlcXVlc3QudXJsLmxvY2FsZUNvbXBhcmUoYi5oYXIucmVxdWVzdC51cmwpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIG9uUmVzb3VyY2UocmVzdWx0KQorICAgIHsKKyAgICAgICAg
dmFyIHJlc291cmNlcyA9IHJlc3VsdC5zb3J0KGNvbXBhcmVSZXNvdXJjZXMpOworCisgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb3VyY2VzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAg
b3V0cHV0KCJyZXNvdXJjZTogIiArIHJlc291cmNlc1tpXS5oYXIucmVxdWVzdC51cmwucmVwbGFj
ZSgvLiooKFwvW14vXSopezN9JCkvLCIuLi4kMSIpICsgIiwgdHlwZTogIiArIHJlc291cmNlc1tp
XS50eXBlKTsKKyAgICB9CisgICAgZXh0ZW5zaW9uX2RvWEhSKGZ1bmN0aW9uKCkgeworICAgICAg
ICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLmdldEFsbChjYWxsYmFja0FuZE5leHRUZXN0KG9uUmVz
b3VyY2UsIG5leHRUZXN0KSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIGV4dGVuc2lvbl90ZXN0
R2V0SW52YWxpZFJlc291cmNlKG5leHRUZXN0KQoreworICAgIGZ1bmN0aW9uIG9uUmVzb3VyY2Uo
cmVzdWx0KQorICAgIHsKKyAgICAgICAgb3V0cHV0KCJBdHRlbXB0ZWQgdG8gcmV0cmlldmUgaW52
YWxpZCByZXNvdXJjZTogIiArIEpTT04uc3RyaW5naWZ5KHJlc3VsdCkpOworICAgIH0KKyAgICB3
ZWJJbnNwZWN0b3IucmVzb3VyY2VzLmdldCgyMTI4NTA2LCBjYWxsYmFja0FuZE5leHRUZXN0KG9u
UmVzb3VyY2UsIG5leHRUZXN0KSk7Cit9CisKK2Z1bmN0aW9uIGV4dGVuc2lvbl9kb1hIUihjYWxs
YmFjaykKK3sKKyAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWx1YXRlKCJ2YXIg
eGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7IHhoci5vcGVuKCdHRVQnLCAnIiArIGxvY2F0aW9u
LmhyZWYgKyAiJywgZmFsc2UpOyB4aHIuc2VuZChudWxsKTsiLCBjYWxsYmFjayk7Cit9CisKK2Z1
bmN0aW9uIGV4dGVuc2lvbl90ZXN0UmVzb3VyY2VOb3RpZmljYXRpb24obmV4dFRlc3QpCit7Cisg
ICAgZnVuY3Rpb24gb25SZXNvdXJjZUZpbmlzaGVkKHJlc291cmNlKQorICAgIHsKKyAgICAgICAg
b3V0cHV0KCJSZXNvdXJjZSBmaW5pc2hlZDogIiArIHJlc291cmNlLmhhci5yZXF1ZXN0LnVybC5y
ZXBsYWNlKC8uKigoXC9bXi9dKil7M30kKS8sIi4uLiQxIikpOworICAgIH0KKworICAgIHdlYklu
c3BlY3Rvci5yZXNvdXJjZXMub25GaW5pc2hlZC5hZGRMaXN0ZW5lcihjYWxsYmFja0FuZE5leHRU
ZXN0KG9uUmVzb3VyY2VGaW5pc2hlZCwgbmV4dFRlc3QpKTsKKyAgICBleHRlbnNpb25fZG9YSFIo
KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
cD5UZXN0cyBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSTwvcD4KKzxpbWcgc3JjPSJyZXNvdXJj
ZXMvYWJlLnBuZyI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL21pc3NpbmctaW1hZ2UucG5nIj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNp
b25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy5odG1sCmluZGV4IGVm
ODk5NmMuLjFiNTQxMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNp
b25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMuaHRtbApAQCAt
NCwzNCArNCw2IEBACiA8c2NyaXB0IHNyYz0iZXh0ZW5zaW9ucy10ZXN0LmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KIAotd2luZG93Lmluc3BlY3RlZFZhbHVl
ID0geyBzdHI6ICJmb28iLCBudW06IDQyIH07Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0R2V0
QWxsUmVzb3VyY2VzKG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIGNvbXBhcmVSZXNvdXJjZXMo
YSwgYikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhLmhhci5yZXF1ZXN0LnVybC5sb2NhbGVDb21w
YXJlKGIuaGFyLnJlcXVlc3QudXJsKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvblJlc291cmNl
KHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZXMgPSByZXN1bHQuc29ydChjb21w
YXJlUmVzb3VyY2VzKTsKLQotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc291cmNlcy5s
ZW5ndGg7ICsraSkKLSAgICAgICAgICAgIG91dHB1dCgicmVzb3VyY2U6ICIgKyByZXNvdXJjZXNb
aV0uaGFyLnJlcXVlc3QudXJsLnJlcGxhY2UoLy4qKChcL1teL10qKXszfSQpLywiLi4uJDEiKSk7
Ci0gICAgfQotICAgIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMuZ2V0QWxsKGNhbGxiYWNrQW5kTmV4
dFRlc3Qob25SZXNvdXJjZSwgbmV4dFRlc3QpKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rl
c3RHZXRJbnZhbGlkUmVzb3VyY2UobmV4dFRlc3QpCi17Ci0gICAgZnVuY3Rpb24gb25SZXNvdXJj
ZShyZXN1bHQpCi0gICAgewotICAgICAgICBvdXRwdXQoIkF0dGVtcHRlZCB0byByZXRyaWV2ZSBp
bnZhbGlkIHJlc291cmNlOiAiICsgSlNPTi5zdHJpbmdpZnkocmVzdWx0KSk7Ci0gICAgfQotICAg
IHdlYkluc3BlY3Rvci5yZXNvdXJjZXMuZ2V0KDIxMjg1MDYsIGNhbGxiYWNrQW5kTmV4dFRlc3Qo
b25SZXNvdXJjZSwgbmV4dFRlc3QpKTsKLX0KLQogZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RDcmVh
dGVQYW5lbChuZXh0VGVzdCkKIHsKICAgICBmdW5jdGlvbiBvblBhbmVsQ3JlYXRlZChwYW5lbCkK
QEAgLTUzLDE3ICsyNSw2IEBAIGZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0Q3JlYXRlU2lkZWJhcihu
ZXh0VGVzdCkKICAgICB3ZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMuY3JlYXRlU2lkZWJhclBh
bmUoIlRlc3QgU2lkZWJhciIsICJleHRlbnNpb24tc2lkZWJhci5odG1sIiwgY2FsbGJhY2tBbmRO
ZXh0VGVzdChvblNpZGViYXJDcmVhdGVkLCBuZXh0VGVzdCkpOwogfQogCi1mdW5jdGlvbiBleHRl
bnNpb25fdGVzdFJlc291cmNlTm90aWZpY2F0aW9uKG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9u
IG9uUmVzb3VyY2VGaW5pc2hlZChyZXNvdXJjZSkKLSAgICB7Ci0gICAgICAgIG91dHB1dCgiUmVz
b3VyY2UgZmluaXNoZWQ6ICIgKyByZXNvdXJjZS5oYXIucmVxdWVzdC51cmwucmVwbGFjZSgvLioo
KFwvW14vXSopezN9JCkvLCIuLi4kMSIpKTsKLSAgICB9Ci0KLSAgICB3ZWJJbnNwZWN0b3IucmVz
b3VyY2VzLm9uRmluaXNoZWQuYWRkTGlzdGVuZXIoY2FsbGJhY2tBbmROZXh0VGVzdChvblJlc291
cmNlRmluaXNoZWQsIG5leHRUZXN0KSk7Ci0gICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRv
dy5ldmFsdWF0ZSgidmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOyB4aHIub3BlbignR0VU
JywgJyIgKyBsb2NhdGlvbi5ocmVmICsgIicsIGZhbHNlKTsgeGhyLnNlbmQobnVsbCk7Iik7Ci19
Ci0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9BaGVtLnR0ZiBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvQWhlbS50dGYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDAwMDAwMC4uYWM4MWNiMApCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvQWhlbS50dGYgZGlmZmVyCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2FiZS5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2VzL2FiZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4u
YzkzMjUzNgpCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZXMvYWJlLnBuZyBkaWZmZXIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RXh0ZW5zaW9uQVBJLmpzCmluZGV4IDY0ZjU0ODIuLmQ1MDg0MDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcwpAQCAtMTIzLDkgKzEyMywyNCBAQCBSZXNv
dXJjZXMucHJvdG90eXBlID0gewogICAgIGdldDogZnVuY3Rpb24oaWQsIGNhbGxiYWNrKQogICAg
IHsKICAgICAgICAgcmV0dXJuIGV4dGVuc2lvblNlcnZlci5zZW5kUmVxdWVzdCh7IGNvbW1hbmQ6
ICJnZXRSZXNvdXJjZXMiLCBpZDogaWQgfSwgY2FsbGJhY2spOworICAgIH0sCisKKyAgICBnZXQg
VHlwZXMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFJlc291cmNlVHlwZXM7CiAgICAgfQogfQog
Cit2YXIgUmVzb3VyY2VUeXBlcyA9IHsKKyAgICBEb2N1bWVudDogImRvY3VtZW50IiwKKyAgICBT
dHlsZXNoZWV0OiAic3R5bGVzaGVldCIsCisgICAgSW1hZ2U6ICJpbWFnZSIsCisgICAgRm9udDog
ImZvbnQiLAorICAgIFNjcmlwdDogInNjcmlwdCIsCisgICAgWEhSOiAiWEhSIiwKKyAgICBPdGhl
cjogIm90aGVyIgorfTsKKwogdmFyIHdlbGxLbm93blBhbmVsTmFtZXMgPSBbCiAgICAgImVsZW1l
bnRzIiwKICAgICAic2NyaXB0cyIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0
ZW5zaW9uU2VydmVyLmpzCmluZGV4IGY0MTBkOGMuLjE0NDI1ZTQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcwpAQCAtMTAzLDcgKzEwMyw3IEBA
IFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogICAgIHsKICAgICAg
ICAgcmV0dXJuIHsKICAgICAgICAgICAgIGlkOiByZXNvdXJjZS5pZGVudGlmaWVyLAotICAgICAg
ICAgICAgdHlwZTogcmVzb3VyY2UudHlwZSwKKyAgICAgICAgICAgIHR5cGU6IFdlYkluc3BlY3Rv
ci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKHJlc291cmNlLnR5cGUpLAogICAgICAgICAgICAgaGFy
OiAobmV3IFdlYkluc3BlY3Rvci5IQVJFbnRyeShyZXNvdXJjZSkpLmJ1aWxkKCksCiAgICAgICAg
IH07CiAgICAgfSwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNv
dXJjZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcwppbmRleCAw
NmE2MTBkLi4zYTE2OGVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVzb3VyY2UuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpz
CkBAIC01MiwyNCArNTIsMzEgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUgPSB7CiAgICAg
ICAgIHJldHVybiAodHlwZSA9PT0gdGhpcy5Eb2N1bWVudCkgfHwgKHR5cGUgPT09IHRoaXMuU3R5
bGVzaGVldCkgfHwgKHR5cGUgPT09IHRoaXMuU2NyaXB0KSB8fCAodHlwZSA9PT0gdGhpcy5YSFIp
OwogICAgIH0sCiAKKyAgICB0b1VJU3RyaW5nOiBmdW5jdGlvbih0eXBlKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZyhXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlw
ZS50b1N0cmluZyh0eXBlKSk7CisgICAgfSwKKworICAgIC8vIFJldHVybnMgbG9jYWxlLWluZGVw
ZW5kZW50IHN0cmluZyBpZGVudGlmaWVyIG9mIHJlc291cmNlIHR5cGUgKHByaW1hcmlseSBmb3Ig
dXNlIGluIGV4dGVuc2lvbiBBUEkpLgorICAgIC8vIFRoZSBJRHMgbmVlZCB0byBiZSBrZXB0IGlu
IHN5bmMgd2l0aCB3ZWJJbnNwZWN0b3IucmVzb3VyZWNlcy5UeXBlcyBvYmplY3QgaW4gRXh0ZW5z
aW9uQVBJLmpzLgogICAgIHRvU3RyaW5nOiBmdW5jdGlvbih0eXBlKQogICAgIHsKICAgICAgICAg
c3dpdGNoICh0eXBlKSB7CiAgICAgICAgICAgICBjYXNlIHRoaXMuRG9jdW1lbnQ6Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiZG9jdW1lbnQiKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gImRvY3VtZW50IjsKICAgICAgICAgICAgIGNhc2UgdGhpcy5TdHls
ZXNoZWV0OgotICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoInN0
eWxlc2hlZXQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gInN0eWxlc2hlZXQiOwogICAgICAg
ICAgICAgY2FzZSB0aGlzLkltYWdlOgotICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoImltYWdlIik7CisgICAgICAgICAgICAgICAgcmV0dXJuICJpbWFnZSI7CiAg
ICAgICAgICAgICBjYXNlIHRoaXMuRm9udDoKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJmb250Iik7CisgICAgICAgICAgICAgICAgcmV0dXJuICJmb250IjsK
ICAgICAgICAgICAgIGNhc2UgdGhpcy5TY3JpcHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdl
Ykluc3BlY3Rvci5VSVN0cmluZygic2NyaXB0Iik7CisgICAgICAgICAgICAgICAgcmV0dXJuICJz
Y3JpcHQiOwogICAgICAgICAgICAgY2FzZSB0aGlzLlhIUjoKLSAgICAgICAgICAgICAgICByZXR1
cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJYSFIiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
IlhIUiI7CiAgICAgICAgICAgICBjYXNlIHRoaXMuT3RoZXI6CiAgICAgICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIm90aGVyIik7
CisgICAgICAgICAgICAgICAgcmV0dXJuICJvdGhlciI7CiAgICAgICAgIH0KICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66712</attachid>
            <date>2010-09-07 06:04:04 -0700</date>
            <delta_ts>2010-09-09 06:42:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>resource-type-ids.patch</filename>
            <type>text/plain</type>
            <size>31716</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MDhiYWRlLi4zZTVkZDUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDkt
MDcgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiB1c2Ugc3Ry
aW5nIHJlcHJlc2VudGF0aW9uIG9mIHJlc291cmNlIHR5cGUgaW4gZXh0ZW5zaW9uIEFQSQorICAg
ICAgICBTcGxpdCByZXNvdXJjZXMgdGVzdHMgZnJvbSBnZW5lcmFsIGV4dGVuc2lvbnMgdGVzdHMu
CisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBtb3JlIHJlc291cmNlIHR5cGVzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyODYKKworICAgICAgICAq
IGluc3BlY3Rvci9leHRlbnNpb25zLWFwaS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVj
dG9yL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2V4dGVuc2lvbnMt
cmVzb3VyY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2V4dGVu
c2lvbnMtcmVzb3VyY2VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9leHRlbnNp
b25zLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3Jlc291cmNlcy9BaGVtLnR0ZjogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvZmFzdC9jc3MvcmVzb3VyY2VzL0FoZW0udHRmLgorICAgICAgICAq
IGluc3BlY3Rvci9yZXNvdXJjZXMvYWJlLnBuZzogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9yZXNvdXJjZXMvYWJlLnBuZy4KKwogMjAxMC0wOS0wNyAgS2VudCBUYW11cmEgIDx0a2Vu
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdGVzdCBleHBlY3RhdGlvbiB1
cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1hcGkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtYXBpLWV4cGVj
dGVkLnR4dAppbmRleCBhOWZkMmU2Li5kY2E4ZWYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9leHRlbnNpb25zLWFwaS1leHBlY3RlZC50eHQKQEAgLTQ4LDYgKzQ4LDE1IEBAIFJV
Tk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RBUEkKICAgICAgICAgfQogICAgICAgICBnZXRBbGwg
OiA8ZnVuY3Rpb24+CiAgICAgICAgIGdldCA6IDxmdW5jdGlvbj4KKyAgICAgICAgVHlwZXMgOiB7
CisgICAgICAgICAgICBEb2N1bWVudCA6ICJkb2N1bWVudCIKKyAgICAgICAgICAgIFN0eWxlc2hl
ZXQgOiAic3R5bGVzaGVldCIKKyAgICAgICAgICAgIEltYWdlIDogImltYWdlIgorICAgICAgICAg
ICAgRm9udCA6ICJmb250IgorICAgICAgICAgICAgU2NyaXB0IDogInNjcmlwdCIKKyAgICAgICAg
ICAgIFhIUiA6ICJYSFIiCisgICAgICAgICAgICBPdGhlciA6ICJvdGhlciIKKyAgICAgICAgfQog
ICAgIH0KICAgICBvblJlc2V0IDogewogICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWV2ZW50cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0
ZWQudHh0CmluZGV4IDZiMWJhMGEuLmU4NTM2MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9leHRlbnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtOSw3ICs5LDcgQEAg
R290IGNhbGxiYWNrLCBhcmd1bWVudHMgZHVtcCBmb2xsb3dzOgogewogICAgIDAgOiB7CiAgICAg
ICAgIGlkIDogPG51bWJlcj4KLSAgICAgICAgdHlwZSA6IDcKKyAgICAgICAgdHlwZSA6ICJvdGhl
ciIKICAgICAgICAgaGFyIDogPG9iamVjdD4KICAgICB9CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy1leHBlY3RlZC50eHQKaW5kZXggYTA4OGY0MC4uYmQ1YTk1MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWV4cGVjdGVkLnR4dApAQCAtMjMs
MTMgKzIzLDUgQEAgU2lkZWJhciBjcmVhdGVkCiAgICAgc2V0SGVpZ2h0IDogPGZ1bmN0aW9uPgog
ICAgIHNldEV4cGFuZGVkIDogPGZ1bmN0aW9uPgogfQotUlVOTklORyBURVNUOiBleHRlbnNpb25f
dGVzdEdldEFsbFJlc291cmNlcwotcmVzb3VyY2U6IC4uLi90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QyLmpzCi1yZXNvdXJjZTogLi4uL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNp
b25zLXRlc3QuanMKLXJlc291cmNlOiAuLi4vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMuaHRtbAotUlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdEdldEludmFsaWRSZXNvdXJjZQot
QXR0ZW1wdGVkIHRvIHJldHJpZXZlIGludmFsaWQgcmVzb3VyY2U6IHsiY29kZSI6IkVfTk9URk9V
TkQiLCJkZXNjcmlwdGlvbiI6Ik9iamVjdCBub3QgZm91bmQ6ICVzIiwiZGV0YWlscyI6WzIxMjg1
MDZdLCJpc0Vycm9yIjp0cnVlfQotUlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdFJlc291cmNl
Tm90aWZpY2F0aW9uCi1SZXNvdXJjZSBmaW5pc2hlZDogLi4uL2luc3BlY3Rvci9yZXNvdXJjZXMv
ZXh0ZW5zaW9uLW1haW4uaHRtbAogQWxsIHRlc3RzIGRvbmUuCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyZmFiYzkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMjEgQEAKK1Rlc3RzIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJCisKKyAK
K1BhZ2UgcmVsb2FkZWQuCitTdGFydGVkIGV4dGVuc2lvbi4KK1J1bm5pbmcgdGVzdHMuLi4KK1JV
Tk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRBbGxSZXNvdXJjZXMKK3Jlc291cmNlOiAuLi4v
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcywgdHlwZTogc2NyaXB0CityZXNvdXJj
ZTogLi4uL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy5odG1sLCB0
eXBlOiBkb2N1bWVudAorcmVzb3VyY2U6IC4uLi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy10ZXN0LmpzLCB0eXBlOiBzY3JpcHQKK3Jlc291cmNlOiAuLi4vaW5zcGVjdG9yL3Jlc291
cmNlcy9hYmUucG5nLCB0eXBlOiBpbWFnZQorcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL0FoZW0udHRmLCB0eXBlOiBmb250CityZXNvdXJjZTogLi4uL2luc3BlY3Rvci9yZXNvdXJj
ZXMvYXVkaXRzLXN0eWxlMS5jc3MsIHR5cGU6IHN0eWxlc2hlZXQKK3Jlc291cmNlOiAuLi4vaW5z
cGVjdG9yL3Jlc291cmNlcy9leHRlbnNpb24tbWFpbi5odG1sLCB0eXBlOiBYSFIKK3Jlc291cmNl
OiAuLi4vaW5zcGVjdG9yL3Jlc291cmNlcy9taXNzaW5nLWltYWdlLnBuZywgdHlwZTogb3RoZXIK
K1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRJbnZhbGlkUmVzb3VyY2UKK0F0dGVtcHRl
ZCB0byByZXRyaWV2ZSBpbnZhbGlkIHJlc291cmNlOiB7ImNvZGUiOiJFX05PVEZPVU5EIiwiZGVz
Y3JpcHRpb24iOiJPYmplY3Qgbm90IGZvdW5kOiAlcyIsImRldGFpbHMiOlsyMTI4NTA2XSwiaXNF
cnJvciI6dHJ1ZX0KK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RSZXNvdXJjZU5vdGlmaWNh
dGlvbgorUmVzb3VyY2UgZmluaXNoZWQ6IC4uLi9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4dGVuc2lv
bi1tYWluLmh0bWwKK0FsbCB0ZXN0cyBkb25lLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9leHRlbnNpb25zLXJlc291cmNlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAuLjYxMWJiYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy1yZXNvdXJjZXMuaHRtbApAQCAtMCwwICsxLDY4IEBACis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvYXVkaXRzLXN0eWxlMS5j
c3MiIHR5cGU9InRleHQvY3NzIj4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFt
aWx5OiAndGVzdCc7CisgICAgc3JjOiB1cmwocmVzb3VyY2VzL0FoZW0udHRmKTsKK30KKworcCB7
IGZvbnQtZmFtaWx5OiAndGVzdCc7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgc3JjPSIuLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9ImV4dGVuc2lvbnMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CisKK2Z1bmN0aW9uIGV4dGVuc2lvbl90ZXN0R2V0QWxsUmVzb3VyY2VzKG5leHRU
ZXN0KQoreworICAgIGZ1bmN0aW9uIGNvbXBhcmVSZXNvdXJjZXMoYSwgYikKKyAgICB7CisgICAg
ICAgIHJldHVybiBhLmhhci5yZXF1ZXN0LnVybC5sb2NhbGVDb21wYXJlKGIuaGFyLnJlcXVlc3Qu
dXJsKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvblJlc291cmNlKHJlc3VsdCkKKyAgICB7Cisg
ICAgICAgIHZhciByZXNvdXJjZXMgPSByZXN1bHQuc29ydChjb21wYXJlUmVzb3VyY2VzKTsKKwor
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc291cmNlcy5sZW5ndGg7ICsraSkKKyAgICAg
ICAgICAgIG91dHB1dCgicmVzb3VyY2U6ICIgKyByZXNvdXJjZXNbaV0uaGFyLnJlcXVlc3QudXJs
LnJlcGxhY2UoLy4qKChcL1teL10qKXszfSQpLywiLi4uJDEiKSArICIsIHR5cGU6ICIgKyByZXNv
dXJjZXNbaV0udHlwZSk7CisgICAgfQorICAgIGV4dGVuc2lvbl9kb1hIUihmdW5jdGlvbigpIHsK
KyAgICAgICAgd2ViSW5zcGVjdG9yLnJlc291cmNlcy5nZXRBbGwoY2FsbGJhY2tBbmROZXh0VGVz
dChvblJlc291cmNlLCBuZXh0VGVzdCkpOworICAgIH0pOworfQorCitmdW5jdGlvbiBleHRlbnNp
b25fdGVzdEdldEludmFsaWRSZXNvdXJjZShuZXh0VGVzdCkKK3sKKyAgICBmdW5jdGlvbiBvblJl
c291cmNlKHJlc3VsdCkKKyAgICB7CisgICAgICAgIG91dHB1dCgiQXR0ZW1wdGVkIHRvIHJldHJp
ZXZlIGludmFsaWQgcmVzb3VyY2U6ICIgKyBKU09OLnN0cmluZ2lmeShyZXN1bHQpKTsKKyAgICB9
CisgICAgd2ViSW5zcGVjdG9yLnJlc291cmNlcy5nZXQoMjEyODUwNiwgY2FsbGJhY2tBbmROZXh0
VGVzdChvblJlc291cmNlLCBuZXh0VGVzdCkpOworfQorCitmdW5jdGlvbiBleHRlbnNpb25fZG9Y
SFIoY2FsbGJhY2spCit7CisgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsdWF0
ZSgidmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOyB4aHIub3BlbignR0VUJywgJyIgKyBs
b2NhdGlvbi5ocmVmICsgIicsIGZhbHNlKTsgeGhyLnNlbmQobnVsbCk7IiwgY2FsbGJhY2spOwor
fQorCitmdW5jdGlvbiBleHRlbnNpb25fdGVzdFJlc291cmNlTm90aWZpY2F0aW9uKG5leHRUZXN0
KQoreworICAgIGZ1bmN0aW9uIG9uUmVzb3VyY2VGaW5pc2hlZChyZXNvdXJjZSkKKyAgICB7Cisg
ICAgICAgIG91dHB1dCgiUmVzb3VyY2UgZmluaXNoZWQ6ICIgKyByZXNvdXJjZS5oYXIucmVxdWVz
dC51cmwucmVwbGFjZSgvLiooKFwvW14vXSopezN9JCkvLCIuLi4kMSIpKTsKKyAgICB9CisKKyAg
ICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLm9uRmluaXNoZWQuYWRkTGlzdGVuZXIoY2FsbGJhY2tB
bmROZXh0VGVzdChvblJlc291cmNlRmluaXNoZWQsIG5leHRUZXN0KSk7CisgICAgZXh0ZW5zaW9u
X2RvWEhSKCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorPHA+VGVzdHMgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEk8L3A+Cis8aW1nIHNyYz0i
cmVzb3VyY2VzL2FiZS5wbmciPgorPGltZyBzcmM9InJlc291cmNlcy9taXNzaW5nLWltYWdlLnBu
ZyI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMuaHRtbApp
bmRleCBlZjg5OTZjLi4xYjU0MTJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLmh0
bWwKQEAgLTQsMzQgKzQsNiBAQAogPHNjcmlwdCBzcmM9ImV4dGVuc2lvbnMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAKLXdpbmRvdy5pbnNwZWN0
ZWRWYWx1ZSA9IHsgc3RyOiAiZm9vIiwgbnVtOiA0MiB9OwotCi1mdW5jdGlvbiBleHRlbnNpb25f
dGVzdEdldEFsbFJlc291cmNlcyhuZXh0VGVzdCkKLXsKLSAgICBmdW5jdGlvbiBjb21wYXJlUmVz
b3VyY2VzKGEsIGIpCi0gICAgewotICAgICAgICByZXR1cm4gYS5oYXIucmVxdWVzdC51cmwubG9j
YWxlQ29tcGFyZShiLmhhci5yZXF1ZXN0LnVybCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gb25S
ZXNvdXJjZShyZXN1bHQpCi0gICAgewotICAgICAgICB2YXIgcmVzb3VyY2VzID0gcmVzdWx0LnNv
cnQoY29tcGFyZVJlc291cmNlcyk7Ci0KLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXNv
dXJjZXMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBvdXRwdXQoInJlc291cmNlOiAiICsgcmVz
b3VyY2VzW2ldLmhhci5yZXF1ZXN0LnVybC5yZXBsYWNlKC8uKigoXC9bXi9dKil7M30kKS8sIi4u
LiQxIikpOwotICAgIH0KLSAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLmdldEFsbChjYWxsYmFj
a0FuZE5leHRUZXN0KG9uUmVzb3VyY2UsIG5leHRUZXN0KSk7Ci19Ci0KLWZ1bmN0aW9uIGV4dGVu
c2lvbl90ZXN0R2V0SW52YWxpZFJlc291cmNlKG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIG9u
UmVzb3VyY2UocmVzdWx0KQotICAgIHsKLSAgICAgICAgb3V0cHV0KCJBdHRlbXB0ZWQgdG8gcmV0
cmlldmUgaW52YWxpZCByZXNvdXJjZTogIiArIEpTT04uc3RyaW5naWZ5KHJlc3VsdCkpOwotICAg
IH0KLSAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLmdldCgyMTI4NTA2LCBjYWxsYmFja0FuZE5l
eHRUZXN0KG9uUmVzb3VyY2UsIG5leHRUZXN0KSk7Ci19Ci0KIGZ1bmN0aW9uIGV4dGVuc2lvbl90
ZXN0Q3JlYXRlUGFuZWwobmV4dFRlc3QpCiB7CiAgICAgZnVuY3Rpb24gb25QYW5lbENyZWF0ZWQo
cGFuZWwpCkBAIC01MywxNyArMjUsNiBAQCBmdW5jdGlvbiBleHRlbnNpb25fdGVzdENyZWF0ZVNp
ZGViYXIobmV4dFRlc3QpCiAgICAgd2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLmNyZWF0ZVNp
ZGViYXJQYW5lKCJUZXN0IFNpZGViYXIiLCAiZXh0ZW5zaW9uLXNpZGViYXIuaHRtbCIsIGNhbGxi
YWNrQW5kTmV4dFRlc3Qob25TaWRlYmFyQ3JlYXRlZCwgbmV4dFRlc3QpKTsKIH0KIAotZnVuY3Rp
b24gZXh0ZW5zaW9uX3Rlc3RSZXNvdXJjZU5vdGlmaWNhdGlvbihuZXh0VGVzdCkKLXsKLSAgICBm
dW5jdGlvbiBvblJlc291cmNlRmluaXNoZWQocmVzb3VyY2UpCi0gICAgewotICAgICAgICBvdXRw
dXQoIlJlc291cmNlIGZpbmlzaGVkOiAiICsgcmVzb3VyY2UuaGFyLnJlcXVlc3QudXJsLnJlcGxh
Y2UoLy4qKChcL1teL10qKXszfSQpLywiLi4uJDEiKSk7Ci0gICAgfQotCi0gICAgd2ViSW5zcGVj
dG9yLnJlc291cmNlcy5vbkZpbmlzaGVkLmFkZExpc3RlbmVyKGNhbGxiYWNrQW5kTmV4dFRlc3Qo
b25SZXNvdXJjZUZpbmlzaGVkLCBuZXh0VGVzdCkpOwotICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0
ZWRXaW5kb3cuZXZhbHVhdGUoInZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsgeGhyLm9w
ZW4oJ0dFVCcsICciICsgbG9jYXRpb24uaHJlZiArICInLCBmYWxzZSk7IHhoci5zZW5kKG51bGwp
OyIpOwotfQotCiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvQWhlbS50dGYgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL0FoZW0udHRmCm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjODFj
YjAzMTY1YWI4MzFhMzZhYmI1OTE0NWZmN2EyZjU2NzVmYjkKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDEyNDgwCnpjbWVITlpGbSZiNkBLU3FYRnFgP1YjSjhfV3taKDMyNztDJXJOfkY1TkQrfUJx
TlUwdkpJTXlLeUsjNDhmJnhXcgp6KWtnVSFUOCZDNkI3JVk8M1Iobjg1Zks0VnNpdFRWbW8hPlVa
QiZZMmVHcGpSSjNBMisrZHFCJFZMUCtXPzN7YjwKenk9VHQ3PWJkfWM/en5Ve18lUmIyYGQoN2py
KGVVXlFMX01MMEpXMVZxTV9PQHlZZmM+dHtUOGRSRTNoWUkwYXN5Cno/QEhGXlJNa3dheWw3UXdI
eDBBXjE+dU1wM2ghRHByYVNBX15Yd20/IXRLLVpESWVoM0daSVpUSlI+bGpfTH41JAp6eGg3cl81
X00rPWZ1ZDZDK019VXtUNmArKUU4VzskIzZuU1hNJU8jbTBLTk0xeypsXnZHQnM9Rz41VmAhYD5X
amAKemVPRTluQDAzZmN1SUA3RUFpUD18SENQcURgVS1qN2MrVD5SZlhvMWBPJXA2P1BeRmQhYClN
TEdmWnRZb2VvSVRvCno5fHRZWEwzciN3VSM7aXV3S2lvZ1RvbCU7XmF5alpTTEojMVEjNUwhYX4k
JVIyfFMoeUcxNG1WPisqQWwxNEFKOAp6c2tSUlNUTHFOZEEqfERjPCpCZWQ8Mis/T2x3TFpnR1kx
WF56VEZzKms4fTNhTjgyay1jV1N0e3M2e1lUcE0yZ34KemAwODR0YTUyZHE5YXA8fSFYP3tOZ1Up
cnlmU2FxQVQhVmFFLXZqN2AmZ2c8MTxSVDl6cCh7PkNLRypWWUkyOHByCno0YyYxJWRmKzx7Q2Ax
dDdNTmdjOEJBa2d7XyNWIX0rMzFhUFA+ZXE0aXhUdzF4aX1Cc019UGJQMThfYkQ7KWZXNwp6QTdM
O3E7SlAqeCEhUjdCeERYQG9Wfm9UXzc9QG87RyVtJiVUIU9LPDZ5czJhQHdmflZhNSpPODNTNWJ3
VmlKQ2EKenQ4Z19ZKTg3IXZRR3FaX1JINnpJUkFVT1JLQEZtYUEmeSNIaXYqSExwJF54Zjl1MWde
PnYwMzdhYktCJXBMNGw9Cno2RjFAfWB+by1RRSZMTDw7OHhzKnhBN305OyhncVhKSjV6JV95XmlD
OCp9Z3Utb0BZMGpLNTxwZXZRe0s0fG4xJgp6ezA0WDlKXlRxRDs4b20lQ1pyanFgKjEoejw3Sz5w
S1Z1aSh6K2RvTkVXcSNaQXJAak1USlpve0BLLUEkZCQwKHYKelY+a0JWS2BoMllTYzBXXjc+ezVY
bWc3LTgjeF5WUEk5QjJiSmMoNlVqaT5ONWV2ZFZIMjVZZzdKRXUtR2ZVYEEoCnpRUzhocCVzQHNk
UU9jQUNXdUUkaXg9bnBjeUd3Z1NUZCE+dElpam01NUlzYXQ2cDZsS3BlUVgyNzhWODdwYl9qNgp6
JW5LRi1kaiF1OGp0b3U/biEpe05ZflFENUdQRWxnKH1sRComYSRfS19URChvLWJ0ZEg9cWBrMUBC
QTs+JU1HNlQKemd9dHo0NTFDQm4/TXkzbypjJnNgRzd+Y3cwN3UkKzRuQV8kO24kOUktSjVDSTFo
bE1nUz1YfHI8Pyl1S0Vlck5PCnp5WjVubFlrRWd8bXo8fmNfVmtBSUwrUXIhdCM1dHlYM3cwRFl9
fThNYkBHczRtZ2pORChjfFJmI2RiI0YjTiVHWgp6UVIzaE1NKjBzI0xuQ284bStgekNufjkwMWg+
fUAmMGI3WlRJbUYyIyZpQHUtcGI2V3Q0S0VTfV9jMy00R1VeaEsKenctYj58aU9JIWA9NWpsbDg7
SDtxUnomOSRzbX5LeFBncnJTIWJXVCY/eThDMURhN3FITUQ5RmR4MGRMWSppOHw9Cno2MSNzU2Ra
IVk8KkF1JXA1SmA3MygkZyZqS2ExeXhzI1V+Nzc4JmJebEM+N3pVTUY1Uik3U1NMbHc8PyRweVdU
SQp6TD8pdWxCZWlRWiE4T2Jjb1NSI2lkcSFieTtkSiVHQlhnN2tNKzJIVCslbGFqNGt5eWlsKHxR
LVFLOG0keEVte0YKekNocFk5VWw3aWBJR0F2cjJXS3NDKSZnZ0xhUTRQO0k0QHc8IVRxK1JATUxT
eCszTXNWKj8lJHJYTEFzU2BeMHMlCnojbVBPTG9aUUt+byE/XjQ/QDtHQV99QTxZLSo2NyV7TntL
NTJYZyljYjg7e3oyWGteVENrSnpLRmVlQjVII3Ihewp6QyYrJCtXQyNyQSt4eyMwPyg7Z25iRGhX
Y21ARHsoWUNHU1V6bCNIa3NebG09bC18bGZXdSE3ZTJgZFJAclpRV1oKenVQanM2Q3xpX2ZyQiZJ
ZDk5MDhxZiFhJiR1YT5JZylYOGQwb3UpUmJQM2pWTHdZb3smc2l4SS1eXm9TI14wbDU/CnpLVyZJ
TU13X0hmKEhnV3tfI1MoYXdvPT1tP2ErNDkoQCU2PSYobm9vdFBqI2g9QGEjXnAzckNOdi1TRDxH
SlREewp6TVFfJHleP213TFNITS1ePmdEUzFEc18hPk8/Smd4KF9EP05DZjU/ellTJCokUEZMRjE/
bUE/NmpDYFl+KGEjdVMKemo0PnR8UTtZYFY3VU0yc2srSVUpVkMqbjw4KlJvWFpyej5kN1ZjdkFB
b25RdU0wY2UtPC1XOzEqUyl+fnNDJXRACnp0OXpJRzlydTBASmVAdD1KIWczYUBINF9RLWMjPFde
fn5feDtrblFBdTsqI2RYM3dqaDdTRCZDIShOfWFvNDNlJgp6b19DbWN0b0pIIWpyViUqWlFpQFJp
QGleSkgrbzw4Pyh4M3d7blRncHk4NDI/elBgYn0oWWBCdjUjTSNibnw8P3EKejN3PGttPndWak9a
fXtIejlxX0NFOURmZ2dafnM5NU5kRStYKnFgdnZedzBMc19iPkNXQG8oYHJgJjwze3s2XzxVCnpL
dFo1YXBuc3E9RmZLNFQ1RFFFVEd6T1hpTzlIQ3tuKnV1bj18RnFuUCR5NVB7N3lZUF48eUAwbnNW
JE57UXtQPQp6aFhSayVRQnUpYVN6X3hvMnhZWWA+dWwzKCVQITxBZHUtWERlIXFPV3RtNzVza1Mh
fkclZX5FKFJrK29jWSp8QiYKeitIQWBAK3FgNFRGOEl8QkV9dWREJEZARileMXAwM212JW4wPHZp
JGAlRHFqSVRzPnVoWDRvPnZxQSN7KGp6eGRlCnptTl4hRXR1MXBiYGZnazFTb0Jzfj0yLU1rWjgt
LVhtOzRgNytSc0kybSZjYSNzTHYtT0NUe1VxMWkxd2Z2SjRWRAp6RTY1SG9FcTtyekckc1QhNSRY
aWJEOEd+QjVZKlhxeSlBNzZkem9ZeHEqeTg8P2A5fj1iKFM0ekJTek1PQWc4QzYKenIpKnpPWXRf
fnJyTDcya3NIWmtXU3ozdilVbXVIbWJGM2BMWmItMTV5bkJaKTx5SEBxPzFwT2dHMDY9UVdiYEJ7
CnpScjIwN0VMRX5jIXM9bUNwUihGanYwUHpVbDNhKStieTZSdjE/a0lGdERQS1coeX0rIXhAKHlC
cS1TeXo8IW1GIQp6OWc0RmclT21KVGdzcjNwQD9PWDhuVnFyV1dFeiFHVSZlTSgrTDFGe087JUhx
eF5sflVKPl9nKUlxJTIoRWFvZ3EKejgmUl5BT3RPJlZtfUc8fFNnb2IhUys3Z3pYJGhAJHdDPWNt
ZUxLN01WKTlyO01JQDk2Uml3O0JRaUt3d05KVUl4CnpNbiZANEkrbDcxdiFUTVFPXktvbGhnUV8z
T2M5RU9NWCl5NVRodkZZRDxVRXBpUHd1enZjaW18YGgtcEVEaz5CNAp6c0FaKSpscihGcVZgajBx
RU5ORU8pcmlWP0xaci1Pc3liRkJEJmtTSFhzYzd6QHQ4PFhPe1VDZnZSSTV3I0tVekoKelc+fU9A
NzMxVUt1b3d9RkJ3fVZGK21udEJGRG55ZXA9ZXpxUkRFVnJscWNmI04hSHBuaS0kKGM9czJeZ3R8
cFkyCnp6fk07S0NCLUV8c154aXt1MHYoRm1QT3wmXzx3eTB6SWJON3tEZ0hwTDI3bjAkbFNvcDtz
aGNYSDN6OXckIV9eRgp6K3d0NFBib182NWp5R0J5TjZCISFqVTJXe2FAMXkjPV9ZeE1jYXIwRmtI
cl5UTmNQKHppLSMhcmhtdzZMeHJiUisKeio7PXlWcDBnTm0rbkFyZGgjaCN6O3kzT2peWUp4dUF8
PW85YiZLaF5vMURyJFdLKldlWF9QRi1IdTVGa3c+WHBeCnprYV9uSl9UaXR7a0JgYW5LWnNBUHhK
aD43SSYkUzZDYT4qJml8NHI2Vm1keGdNJjJmfUAwT0Vtd31BfH1ePD5SOAp6ayFnMT94cHdvJnVi
Z0FDRlBEO3dfYk9SKiZ5cT42RCFNLUF2ZUJjfWs+ajx9M3JFd3NYMGheZnBwZWd+ZUdVIUgKQmNA
aDhzCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2FiZS5wbmcgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Vz
L2FiZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzkzMjUzNjczNGE5MjQ2NGEzZjY1OGM4YTJkMjk2ZGQ2ZWZk
YWU1MApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTIyNDIKemNtVysrMlJOMWc3cTx5bi1HcFJi
Kyk3OWlsRCkxRkxpVG96QnhHbUg0cERhMmxec0h8bDV4cS1gcV5aIT4/RTgyCno+M0A2aEpVeT1X
elZHKigmcElidVR9fDtLSVRKWV45Xk9UP2xBST58UkRteVJHNk1Me20zfTgyZXEzLT0odENsMgp6
TXsoKWo3ZH5GZmRqPm9fSGF4VlB3M2YmRlhXcTg8JSomcVYtUnVBVWBTODFZdlNLfkxLNzNIcFEw
aHB5KWZWd2cKelJQa0RDJCkpPX1pSnd0e0VFeTM1QCZRPHo7e3N4R0EqckEqPWdueUtFMj9KSXd3
RFc+dVhSLU57Pm53aCYyak95Cno4YWEwP3tAaDwqWEZqS3Z7SU0yMGNfX3VacFg1MmNVKnBAbTxA
cSE1b0FZNz44KEFFKGpRMSUrTk1UYDBFQEtFZwp6bmhxeUdpUiUrbSlqKzVZOXl9UW9paz1yemVK
WSR2aTQkUl9RWFJDYk95VFZrUEwwWjRiKnIwbHNCJCZSdnJXbWgKem1EZG83ekMkVVNWNVAxN08h
ejhKcHRodV9AUnk2MlhmKFhCdSNofkVFcko2bEFlYEVSc1czeFVobks4dnhZWjVXCnptR080JWlu
bHBjVWtMZm5VVTtWJlF6SmxXRzskSHc9YkMxdm10ZSphZiZLUn1GNWRab2lrS0hzcD1PO2BqbGsr
QQp6djw1dkJQRE1vb3ZUNUNqKkRQNHJAZW9xWU1zKyQ9LUp5SjNJeD97I2oxekZIeVNEVyhQRU8t
cHVDMCkyMUBEQjcKeihEPXB8RURFbF49ekptMmxwekYqM05oO3dkUjgmXk4kM0RST1o2Pm9ER2Z4
anE9SjB2bTFKP3Q1WUtYdE0zb2RRCnpOfnMlREZ9cl5kKT9QOD9Ga3ZxJk8oUEtJUihGZjZ4dl4y
SVF2YUN7USg+VlhyM0N7Q2VkQEFqYD5SfnJrTlFQSgp6JjNPKTBSfFEre20yRz00R1pMb2Y3WiNj
XjlFa1N3aDdsMlI0c3Zwfi00RjVIY3l4cyNEN0JvSUJEa3IoOXFHaWAKekZsfHlnYXk9ckBFeHJy
eG5sWiNsRUtSKWs5I2ZROGVNI1hCaGQ+aSl6MDRmKFVXO1ZVXmtxKyRVVHRrezRNZzQ0CnpyZ0lJ
UCEoTnF+Z1lOeSN1a0EhKERgRFUxRG1ZVHc8RVJCKG92JnpYY1dpdlQ1IS17WUNgJkAzQDg3PjRF
e0U7Ngp6NWxLXzRubj4lZ15wP25BQllUck48dUt3fXVUeWxKbDlQO310NmJNM0E1VUgqMCZBMTxV
NFlYNUg1UFNwUylNa00KekFlTF4zT04+fV9wNDByJChxU1BtWUNaQklnJXQwX01ENEImJnk3OD1p
QDBqZi1LQ2RYXzR8X055T0pTaHVXKUFSCnolWmR2QlVMaGVOR2ltfVpieUhONWF2RiNvTW1aYEVk
YVhuKE4teDJuSTAxPks7WiM1cWcqN0J5LVUqfCpMZCpIewp6V2JUdCpIRUheQ2FsK0ItWXhBVEck
ISt0OHReQj9fYCtuIzk/cHJAeU1WUU5VS2FTYUIxZTFHdWRNWWFgYH1fTkMKemdnU1M+dlhOen1x
bk4zPiVITVlfUXNUbEN2WitGfHdRZ0xGbHM2aWdhPTc8U0tKSjQkM1BETjImV0V+bEhmUGRKCno2
eWFaSHJnTCFSclZObzEjenh5aUMmOXwqJHt8LVNreGAmSVA1cUZva0Z+WTZvMTJAaFpPOG8xIVJj
OWp7UjYhTwp6IVRgS0JyPFg1Wjc4YUoybVg2cH15NDVgcDUlRDxLby1IbWVaZiV2PE9RMj5KblFe
WXNkR2gzKnUmfDMhajZ5YVIKel47P2BqIWttfT4+YX1hdjcjT3lfPlV8cW4/fGRkRj5JfXkzT1Ew
dytKeHcmIUcwMmZUVEgpbVZJXl9eNUNjUDx+CnpUMEdfT0ckcTd1PVQ3dXxNQztzSVgrc0gweCEh
cEgoM2BtfTcteUV6JWhUb1Q/IUdAV2xpNDxaSitVaVhqdzRvUwp6VmZYT29QaCh4dkdGPlJ1TVEy
Nzk/U3dAU2FmIVFrP34wM2UzI2RxQjxrXm1JP2VCYFMjPFc0SnE5UyVZI0Y/VTsKem5lKjBhZEFz
NzNUTmo7SVltSkxfdldFSklJVmoySy1KfmYhQnd4eyMlRHh3UU4ySWchSV41eTteQ3Z+eE1rQU55
CnpaSDFWMFVBNDdDTHFme08+fkY7WF9Oc3NJO0tBd1g+RDFLSmtlJXlgN2NaVmE9Wnt4amJRV2RF
Z01SWD9HNWxkRQp6c0Z3RzVXWTFEQ3hvZ3FJPW43RjJyZWJKcTReeSRhPWhnUThgO1lnY3lDPUs3
az1QWnRJIzs3Kmtzbis4NzZjSmsKenNwRjUySWFtO25DbG09amJOejBfK2tRfj0+amlWQFAkI0NN
PD5+YlpmKEF7I01BaXBoTkhrcldsZ0hxeSVpcTYkCno7am07cilzfEgwLSloazxqfURlR2dPfEpl
MiZNdWBmR20wMF5CK2J7PXB7XnprMUhlVGM2V0N4RGtgUT1Ie0dkTwp6IzdGSGF3XngqTklMSFdN
LWB1NCFyRGZNWCY+SD9ec0RzejxQLVR8aWxFdDJCUmlYRnchaiFfdD1UI0YjPn1FI0YKeklSa1Ra
Ykt+UlYzayNPQCMtWXFOOz5uazZ0MHR+VCphPE5tZFZmPCN1YExLdmF6PTFTRzI7Wk5MUyslSF9R
SSkzCnokWHxPJFMrYiMyRWFHOGBfdFZyPTJNemhJJW4rNXk3RkUwJm1VN01yIW9UXmtFUUMhRUp1
fGVvMmFqaldwfl5Gegp6WEdkS0ZGLW1FUXg4KDE0R29KaHB2MHhrMXlvMzcxMHxxNiRJNHdqRHp9
fktCT2p7N2NzRXJVXklNS3spRWtyPH0KekY3S1M0b00+P2JJPC0ybmEodj1XYmZvdnlRWSQ/XmBw
QnpTdU0meVA3Z1dkY2NCJHBQb3BFSmpzRzJaQkE9O0g/Cno0fEVZVG5DP3JhWn1KKHQ9X25MNndD
Yml4aFV7OStXM2w8cyhhflBAS2tYYGk/VEl6QkFWUCgyaShNZDxOfmA5MQp6K0RmallzS1djVWFV
NF5UK2BJZz8xRjFSfmhlWEZ8NiVFYiE1PSliWDtgKyEhJXFBVn57U0h5aW5jTUwmJkd+JTYKejFZ
bFg2bWYtVF8pIXRxOEdvMiEwUVEzOGRsRUt4PHVgeFllLTdxPGhLKDxDbFI3OFlBY0QhPE1xZnZ7
KFlrR0l3CnpMUG5zZzRoNlMpM3YlYmN1Q2xoV2E+JHxULSZ0O2liZlYqczVnZjBePj8kcXd4Y2lj
cTVBNzxJd2E4WFo3ezhMdAp6bj16MGBRT15LKjs3THRKVmU/YihKd0lGRWtAV24lKDZPK3Z1KEZj
aHlMPU50elVQJURNPWBrX0lxT2cwbVpLXmEKekkoRXNDaGZKbm8/M0o+bUFZKUExO35WaUooWXFl
diNYMykpS2N+KkI5SjhrPEMrNlV3MyVqZk9TVVl9UnEqQExnCnpYUFVxZ2xVRy1GezluT2ltWTZu
JkRyPj55UC08Ml9ldHl8OStLakJTYV43OT5FJDVuPFArPyhWLTs7UyhjWCMqbQp6aipPRUlzRHch
ZV9qK1RWcWl7WGJmWHBKfmAlZ3JTZVVJaUpncVJmJC1EdUwwJFM1N05GWnVaS0tmQWpHc3V5dUsK
ekxRR0sjZ3hPX1NZZFhwYyYzM302Mj5GWHRSSzlCbChfUn51QkxvNWRnUjdRJFVrdiZGLVFiVjNg
JmFtbHprMlIrCnpUWDVTez5ofW14aFReaTt5YjgxZXRNWThjbDJ2QFNuQEQ0bzxQaD9xeEUrLTwo
fkhNWWR2VUcwTz9iP3ZmSEVIOQp6OCpXJG0mVVdWOE1vTFctODxFWVNrX2FNdm96U29XeUdsb2Ml
cjk8cjh+ZXZHKlkzTTVidGV9VDZxcEt4WjQ8QU4KemxMVkZOK0l4RkBKMzJhZ2QhSWFNSU1PY0cw
V3gwTzgoIU4zPXRSZlcqNDlGb0kyYVZgQEVjWmRGUXE7WSFJQFJ4CnpVUENzbGgrS35fRkI+Snxk
SzFqUGhGP2B2Uy1IMjwjPiMpfG1Tfno5dlJkdkQmQXhzeXtaZFRjX3tMdlRmZmN3awp6diM2ayRu
QXFMQm0hbE5TUEU1dThGRk1gfiNtKCo/SHlqTz5zO1IwKk1NVzhYXzFHREZCPkFqVHpnPG1CYCZQ
VSUKel5xe3NqZ0JrWipibHpaQEUrdXVQYEwpKyRWKDY0eXl9OVdOJGlecXkrQ1h0UE1qV2NQZSU4
Ty1gPXcxdWshfT0rCnpUJW1VT1oqWHZhJis3cFRefUU2T29qLWVmdUNBezJmNSlGJTV7cEojPTs8
VVpZOER7S2gkd012QDUhN09PRy0qdQp6UGk5RXJAT3tydV94WCkjd2ZHVz1yVGNgNmh3UGdDcEg/
I1U/bWAmPk5PXm18WE0xRClFPHYjM2FoUlFDTXZEUDUKeklPdmtLOT0odU91fSs9ZWBQdHZVIW57
UHIhMGBhfDUhbHtrM0w9NnNVMHchQzFyRk44dUdaYko2QzBaPUU2YG16CnpucklyTF55UyU1TX12
JnMmfjN0b1crJiRTT1F9NyV3JlJLNHslfCErTzl+MSlAQkpGT0A0bmV5Sn49WHkqdDwqXgp6O0V6
UWk8Z1o4azk8JERueyo5Q19gfC1CPyU+fmQjYV5jfn5vZEBhNVNyNmxvJitQNHliUWVVUHdoUGRa
UUJxU3cKeiNsRWNuPV5fNGVYc0ZmY0pyV0lROSowIUZJK00jeE1WZGhVck89a0NVQWtxIVhTQjd2
azRlMVZrU2BLQEYjZmJPCnpEbXdhWDdvPFNeJV9xdF5iYUVTeEJFUi0oT1YqTkFtaX0lYDBBKXlJ
I0hqUnM2MWJ8djZ1P0NrYkpycWQ1eER3bQp6SkVrSTdyZkpuQmNoRUx7YFBCRWtyS1AzZ0VsKnV0
OVc3NSNsUEw7OEtvX1dKcmwmS3FyO3Uke0hFfiVVLT95PTQKemApO0VWUEpvNipVZ1B0YWVYLTYl
OGxxNUt6YF5TN1ZQRiVSR2F8JXs/VWBOemRrITNuJStsdiVOQnhWeDN0V2h2Cnp6UDgye2ZidSVV
X3BHUl4+dkEkPXFzaUMwcF9XJStUKkBscGVHdmJ8U2shcVR0Wm0rQCMmRX1qKl8+dyhTM0UwJgp6
eytXcClaeUgzVjsqUlc2TE1GKmdXVGwrenJpQEc3OVVWVjRHKXhPbiM8YWF2O1dxS3YoPFQjN1Iq
fkBoWlJ6VlAKekB3UCpWPjdxRXw5aDF6eFhZNHxNR3ZxJE1ZZDFwM3FtcmZeczYlbHxtUTlQeV91
WTd6cVJNJSVoUmV9Vm4/OEFFCno2K355Z0BsaUx6QUg2MTlvTV5AJS1iOzhAbm5GUVFrKHlPdnZj
RGduKDFLd3AmSGJtZWBHcXBWWCtsY1EjPXd3fQp6KHxMWWIpVU5kO0ZGUEJOdn00X3I9fW0/Wj1f
N3UwOUItRmY5YjY5QS00O3ZVeXBUIUU1KTtac3g8PH5GQVQmWkEKemNjQ0BwPEZ2cipae05PTTsh
JTRZOXNPbHU8THZDcnUyU3NJb2pWVTZUI0laNE58QjxZZClSNHRXY3BXVTwlP3Y4CnpePkY7aCY/
JCR1cy1QeWVJT3VCQSY7SUtPZEZkd3hrNCVzbSs7cU1uc3VnMFFNZm1+Ryk3MHsmOTd4YXE4eWdj
OQp6Nkp3JHp1fXZ7SEhVPnVGPG1BTlJhSXMzM1Ijc2RZeWAxV28ocW1fSW9pfSh5RUMqV0puKWVD
eyRxJjN7OFVxfGYKelIwSnQkbnhZaEIyWmhqYURMdmZpN21sKGtIJXdfeGk5ZXBKc0JtNnNRdDMw
bVY/eEo/LU1gPFB7LUV5TEh3ajVlCnp6dlVsa0dGZ3BJbFNRVDkjJStXVzUpKitrJjhhKFlIQnR7
LVMldSokamRkeVk1e2laamI4VDUtdFVXd0w3JGBZRAp6bmh9Sn0jNEcyRiszVmJoU0lGK1M3ZDl4
UzQrKjByNDVvMzhaUkl1XzdraHZyYklDSTw8PWpfdlVVI2Q1aUBqWHcKeiVoRGB4Kl9tc1YkQCl9
UjJZJGR1VioyLVFYVGZBRzFUaDtleyR6XlNUSjcwP2t7QFAqQzskLX0lb3REPjBZMjllCno8Wkxm
ejcmaEVxMCU+ZEE3X3pJPkRLY3gwel9QaSRqbGBveVpRdDE/QkZwTD9jKkVQMyYmfkUpbytFYnBz
Q2ZGPAp6JThKTHkhRUskeC0tfSVuNkI5dCs2Y2lNb0tZPTk/N29NRG54PmMmaG1IWD9Hd2Fody1y
MlNDSEV+fkdIMk9zTksKelc1YEcyMjhEWmVrP3tfNVg4Y0wwQihmfH5CfUF9NFVPTyk3MH5SSGIo
VGt+UW5xak82MVcqVHNlc3B3eyh0YG5ICnpCbmdVUGNgIWFQYW9fdTNgfWduUCt1TSNwT3N4WnI2
I0E9MEp+UThTYjx4UDwyeUZHI3JkXzM3I2g2VDEtfSpXKQp6NT81fDduQjJYKlRVWkQoQSY4Vig2
RzY8KjgzP0EmUVJLfXsoamUmJkdYVmF0TGcteGY2N3c+JF96KlBWdXJTal8KenJBS2llVCpTYXhH
Qmk1Wm9YailARGFOb2tGKDwwIWZ5TiQ5aTt1c1lWM25xM3QqQSk0QkV3Nk14QF5jeCYrPVJZCnps
U0NyTWxUY0ckP3RGZkJzPX1TVTx8VVM8dStTTFRCK0ZMRz4zVXlWK2V7ek5DSnhEZDEtdkc2bjx6
N3QyTGkrcQp6a0lZZzhIb3ArNkZ0dng8VHZzQXZkVVNNVWJ5ZHtzazQ/cHgzaW4kOChoKmxGTTFt
RVYodDJZUGVTSSk8S3dfaDEKejdRbTdUaSF4ZE1TfSNvRVhzJWdZcilpWEMmKDU+MCloVXspZjRU
b1g+VDBzZV9rVTckRUZkNXREfm1tJmNWdWtyCnpnN1ZlTVd1Mm02NThZeE5BZGFyYEswRDFuS3Jn
bitXeERVSTcoRUNOWl9wRUdHNHhYcUNaKG8hVkpoSWhqZns9Ywp6R2NyZ093bCs1JUQpbmFfSnps
PTcoPHYkX096QjtZWXtlRTlIbEJqUD9sZ0t9XjtTU2Y8IVpRU0A5dj91RlIwclcKekZEfXU3Q2dK
Y2xxakA5bCVZbWsmR3w8LWVXK2J9KVpnQUdJejVLbSQ0bX58UmktZm9DanJpUVdKVFBOUU97SDJs
Cnpua1k8YnRufEtmTFZ2aXN4Z3BWa2V4TUFvQ0A1Pzw4PUhMMWZ8RWFhbDJib19oUn43K3NgRGw0
Q0E4fCgjUHF9Kwp6ezhkcGAyeiN1M0godlJmZzlFe3xaT1dHflV4d3w0dWg3JEhlcy13M1BlVFNL
RExwLVhYVUZMU3xGKk9HeF5obGoKejUyZ3NMeXtANjVBKFJ2UVhSNW4mTlVXfUV3VzQwYVlgdndQ
TE5yTjNUR3R9RCpORnxQVT5Oe3Q3NnlpRCpSfG9hCnpgfGc/VTVEUkdDejt+dFhkJkpoWjk0R1dt
VHxYQzlYazQxOCUlIWMzQDhWKHYxPjk7Kml3KiZPPU0jcXZOQ2hNfAp6SDMyazhPaWF1V19uZFJD
U3oyMXMoYX58UEYlKE45OENpRGAxNGt4dHZNcDsjJE4la01aZ2lCUCYxdU4pdmQxLUkKensrS3BH
bDJfUCNkKlB6QitMNSkoQDtqZ2JmTkA0amozJDJte09lVihxK19ZKUFlXzNnRWFoLW9RPiZrUyRL
dHgpCnpUZWhWZzQ9Km4tQD9lPThAaUlxMnVMd1V3T3B3MmppSkVae2dFIS01eDloZ1AtUiR9dSVJ
Y2ZjMXYyM3M3UjdMewp6R2o3T0U4X35NNEBoayQxP096IWwpPV5ZYzZrdkZAIzw3fmlNcG1xSUdx
SjBxe0MkVXxBPlQtdU1IfD9LJDt0UHEKejI+eW5YYXdQZ21pNk1TM2ZqKl5sWVJoYkl7bXJIIzla
JE95NV88cT95VUtDK09FPTtOVCg4WjEkNWUhNGx7NjZJCnpNRGBjbnR3VDhwRmBjR09BRXRwZShZ
Z2BMdyV7VW1KKSZeUFBEbk1WVGBtRikoMkxwVFYzWUhzNXVRaXMtcGd0Mwp6UCRtNztHSmBJbDx0
cF9aZX1JbitWcXt7e0gjUUVUSVFmMz44LUFQQFJPWG9kWipmLWc7NzBkWSNMMkQqZFFkMXwKekBr
MGYzOCFkK1RwKSl8WTNpc3x6NkpoJFliWl5zYmolN0s/U0dkezZ5cC1JWT9yd2pDZ3h9ZjhAbTdO
Z1VtYDhaCnpVRGFLJGRjZVpjKGs8eHpLKDxVOUYwJHNIKU8qQ3pRZz5POVl8OEoxUT1lSHxoeUR3
Zjl0YTQkPkF9NDF1bW1iNAp6QV8hQXlpQHhAPllHVCYkO0d4TnBXfklMVCQxbWclUSVzfmp8Skk+
Zk5KZDBZK2xpUDFxWDx3WUxtTXExMXdvOS0Kel9NIUtvY1JHXlUkSCVBMXZ+UEwwYj42OE9ZYm1I
I0kmIzcwJE1TQURadyVPK24zJGs9ZSk+cVlKaCszUGVqOXt1CnpXYlBeO3tufkpgOTB6LVpgU2Eo
Y3h3Zms9T25kOVB5dXlObGJOazJsI2wjQG8wQlEhJWRSRzNNZmg5UntxdnpmPAp6YXh9dXlNTT9J
O1UmNzFmQFQja08qYipqMC1wVSgrLVJBY0hhayN0dUN8IUpQWGVpajU+OVZXSGNZRVE7YWRmP0wK
ejE3c1ZXbyNkKn14KHI4P2M5cHJne3smVmMyQUR6fV57Izc/a2QqNFp4TSNVOD9+azR5X1F2S21n
PWBKSTFrVHRuCnpCPkZnfHF1Z3tOeSZUOys1SDA2U0VNaz88eTI5OG40T1Z8LWMkalFITTVTfXBn
QFllUnI/Q2o2ZUcmPEVTZ1NkSQp6e1U2UEc8TVdtNTc7c3gpXk9QKW9lQ2l0LSZKVDl4XlZISnBz
d05KLWpjSkpUUlZ2MWFlNUk1e0A3fm8kQT5pPE4KemN6Q3E2PnBnY2RJaHhXTmw7N3xjR0lfZ0Rw
V2JURyRJSEtOYGtTYHB0JDZQIzI2PFdMdnk/RjlEM25Jdjx3aHBlCnpLYGJpcEZAYVlJUVpGSEBa
VHxWITlURyNVPzB6WTIzbDkkbGJydig9UChac3k9TmVOMUFpRXVLJGlYdH41YTNOdQp6WkBHd1Jr
UCtAfUkqUjswSlpXcmZvUzkrNjI+PTdHdCp6Q1R6PTI4WlByZ3Vrc3YkXl9vUyhYM15JPDU2cXto
QmQKemdUcXtqUylhO2BpanRDOSsoUkg8SVVwNTYzYihwP3tvKmhCdy1VUkVfY204b0pzMERqZF49
Zz5ocDNSMzkkKVYwCnpfO35rRlR4MVZxNVYlKX1HNndTPXY1R2oodG5fQ3ElezcqQytPeSVYfEJe
KmNlVWMjUXgrd18oMGZGMU1vekJtRQp6PlpVKnlGWVheVnV8TlJoQzw0YUBhNWwyV1clVmQtZGkx
QnF7S2Q+cSo1d2p4UWtvQkMyVlF5Zk8td3speHd5STIKelBDMHk0TGVnMVNTYiQ9QXh6bD4oKVlx
Pi0zd1NleTU7Z0IhMTVSO3hjbythO3xKIzBqTEJhS2c+ODsmRXNZNWQlCnpCT3t+eXM8JDZpNkJa
JSlAKGB5PUZJUHZjdWRsbmZ5ODNLOUhNej5qRDl0Jnl3PkJidW9pU3dBdCoqYnMlJlBDJQp6XnZU
amFib0BsaGMkVV57ZjNxWjJ8NW8kYzI9ZS1heGt3MUhOPW1SeVJrZ01IRDFAPV47b0BAb085eWp2
Zn5TbUIKenAmKFByYlglT2tiZTRLQS1VUFdgU21eTlZTPGpDajFpQ0BAMjwhPHk8TCQ9TzhmRXVg
VWNZKHNDVWdgKU1Ua2JSCno0aU05JE40PGFrZTRnSFZxUDtnQ0JZOEhfYUI1JlFxTEpyVlYrZy12
IXVgVlJZN35pZEBpRTQoZzhkQzFJZ1hiTAp6RSNxITIha21seCl0IThZd35MUkw3bWpUXl89PlRr
U1FfWTFJQlNxU3EqVG1PR2l1eSNTR01yRVZ3SDJDNTwhUl4KemY0fS0xOXtiZGtrJSlGMm9zfEN2
dlNMJnhOU1YjZSV+SFM5SDdLTmpxJHFgS3prXlVlRzg9TjBmMHt1Wl5AXyYtCnpAKmw3SV9LZEtC
YSh7Zn1EfFBNKGBGMWtneH0ycStQVFlyeXNeXmhkNXBpKkdRQmhHNWsrOUU2XlZMSGBMeHowJgp6
JUBxN15TWStefDxUYiNeNHYmbW5xZipTIzRBNmNscDYoJFk/THx2TSMzM2B7YHRoTWVoS1ozO3ox
UUJhc0hedisKemNIYiQzI3c5Z1RQTnd8NncxZzMwQElHOGpqQTUxQi0wfD5WclFNen0rUTBiNT54
ZUBhS1ZhaDFwWlpVe2tARGtYCnpXN3B7O2VIJGR7QmtfNGExMiMxXnh6JENQMmJlTEtgViZkN3Rn
bkNkSkNfanFfRE1IOEl+I1E/a1F+YDdXMVBgcAp6c2ltISZIJnwzdTFjclRqYSp+O3VgSit3fEQy
QT41SXp2QTFKMllnT0chaFV+e2AjKX45IVYzUWxEITQqMlZvMVkKemV3JktyRHs/ZXcjUHpxZ3I2
THl+SyFjXz5rM2U9VUktbVlkWT1CNWN4e0ZHa0I5TEBKMlRaJEJFeiNGNldufT5aCnpWVE96Pzsm
dzN4MV9zY3duZ3c3ajlqWlZfeWpRYXBYQ2R7S2lWT2NyUztVVlg3Iy1DV1ZPQnV3Yy0yJGxHSDxf
WAp6cF5tXyslPFRIQGBBZndTQGkxVlZVVj9aamJgPFliPGUpVmdrdiFTUEooNHtBMUx5LVdESGVy
WWc1PDRZJSlVVVkKemAzOVZEIz5vTj85O3p7RGAqejxiNUlRZUM7MlFtdkUyU240QzJMfUstMmgm
dXJsdXx+PztMO2VCfGIjNzB4fWxDCnpuTFFDPWxEREpzQFcwK0BeY1dOT2J6MFhfKy1VTlMzTFI0
Y2sxPDtxIzAwMTcpez16VT58X01HO2EhUlJGKT1acgp6R0ZnXl98QTZfM1NMMkNQZn1fYUV2ZnRU
cXhaR1VuKntAUD4zMDdYbGFwUiZQYnU0SWtjLXFGTFJTXjM/UEJLM34KejU0T2cqYmlYdEhYMFBQ
QXhEdWgleGxDNShuaXc7JEdBR1BBdn5DMT1tZ30+czRqJHYzTXFWKSRRPXpwWFZVYzhACnpHX0xu
QHdZOXlGeWEwa3tiRSojRmhwU1FGbzEyP0tMJGpTSVdDeSYqNko8fVMyOSpLMjF0LVRyOGAoPDZP
IXpUcQp6RWo9fldMZUlfN1FHaDg1TGh6bWN6bzJsPl9lez1SUTN6K1RHemVsWEVJN2VsMSZ+Wmla
PDZxWXt6cHc0KEVqPnYKeklgPkJTY1leaWlpbnNjZ2FSTHc7fDUrWFV8R04lPFRZYmBvNzxqfCZg
MUlgWCZAJSFuYWR1ejw7NUkhP29kbkxICnplfGs2MT88akJVPitUUWVGSlNQN0ZKSngrOCQ1Uyli
Sklqe3EzS28jSzZfSkJRQUo+cmx5aSp6UEYqZFJfY3h+PQp6Qk5sdGwpX1otb19JKnE5QF5+UGxr
amQpcipGZVdmTWFxMm5AVT5VQlR+UjQ2Nyl5d2IjZ00wdE8laFZTSXdQRDYKeiV2fVpTXkBEXjs+
SDNNVXEtSnFQTStmK3RuaXxgUnZDaFRjI1JnU3h2PntNKTV0e35aNGFHSDt1ZSYhSzglNTlpCnpw
NnpDd1BmZWQxSiU3RmhwI2w2SjI/PmRAKkQ5QVpPKkcyYHVwO1ZqVU83WWwpNWl0RmdNT08+P3tC
Zk93OSsoPAp6TkJFYDlMTX5reEFgZm1sViFoQFVjUUNUbFI+SmFeSmMyMjdLQUBDRW0/Zk1TK1FI
Py1qWFIybk9HdjBPOXJrZ0IKeilQe3wkSiVJbkc7USM3KV52OU5sUldYe20teFVidjRDO2prQ2pk
QS1lZkdFTmUyKUxqK3wlPXJeP1pqX0hqQyFICnpzMD5BZHQmN1gmcU4xRGhrJGUwNWAreHBhUGRS
KVBkRWExVyViajs/TlpRO1RBd1R4aFl3WkBEWGdlamxDZj0zYgp6Kz9fRk9sYHNSU2ReI2VoTDZw
YCVIM2VHZVEkPEQ0dSRzSV5wWkx4cXp1KTE+O1Z6SGJgPDJiaisjV2toXl9AdW0KelpgRUpFeEI7
X1J2XylHOUNXRXgyeW0qbkEwQUl2ZDEyTFE2PF9AOWJSYD9+Sj9gPkAkVXVOYGFTSX48fmpPbnp5
CnpwVEFRfkpVPzR7OT04ejBQXyhnMUYtJjwoRkhkYFV0NUBRZnZaMHdKN2gqaTQ1emJnTFVsfFE4
Y3JHQzJgbStfSwp6bGpwan4lJUtBYzMpTklxUk1nYXJZaDRPLWRESEteSjZLdkdRK3E7VyprUXRV
NWNTSXhOaGVMeSU+MVNqRTJpe3UKel5aWSYxYkdOe1U0fCF0JSErQ1FkeTJLJSQmeURFTS1Ab1ol
dURfcmNVPFJVNyNQdF5LZzIqcV89Y1VLWjNUIVdjCnokZCQrbHkkYVo3JHxkYjRyVHAmXkdsbUBj
b299NTdPYVRxSEpvZihxdjRvUD5fd3w2bFlqaVJRc34wa2syNj5xVgp6VndKanFRKC1iJnIwTk9K
UVZrLU5tYXVETGNzQGMqKkh+RV8wOGl5TFl8TThLVkg1XilpQFR7a2tOXn5EMzg/fUsKekNpMHNv
M3tySCpuPGFyRmttSS13YW9SI1Z0LU1BXlh6MFgtbj5ZJiRXSVUhPFUyYTZnREl2alhOWDw0am5S
PTtQCnpiVCVJdWE5UWUoOEAwRV9WV042dFMjWFV6NDQ2YlI3czY3WXpBKChZV2M8RnE2V150NyN5
P3VpeU41TTNxRSE9OQp6Z00qakM8PSZ2YSZwVzlPbVhFQ3UzPUR3NXF7Sk56U0FEeDIqfiVqNmAq
RjwrJH5RLUlibzR7dkZKUVIwSmRhQEoKekFyaWZ8eksoUiZ3JmFtfURCYVNSej5VUE1QbkReOF99
eSF8QlNEQE9MaUNzcEduMWtJN3RRP15BPHRnNEIoZSMzCnp3ZFpBJnUoLVMybipwI2hTQFF5SHpt
KyllYExBRVVQRU5qI3RvaUg+SiEkd2BTJkR4UHFHekUxMElCJXAhJGNFYgp6bWA1eC1pfmNGdTdN
fShnQmMzRmImclQ5Sik4RzlKfDZUQkxtNzI5Kjk5aFQqSWtZJFJ2clV6V3twUUA7cmFDTSEKekpQ
N2paNWdjZ0U/RWFOc3p2ZXVCSnc1ZGh0cj0mM14xI2xsdUMzd25naX4qXiNRNlIwO0JsKXZvcFBU
KD9SQGdCCnp5YjVBIWVUakBtSWh0QU9EfWJyU3JTfSpwQXJXKmBAMzdQeXswIW1BO0drP187d01r
N0NgZzhHTTZUcGoqME5GIwp6e2NeUVEhQnBuJER8dyM8Nm52TW5iO2BuVih+dj03ejxkbXswJFps
dmFreylmV3h5KiVMdFpCYlBHQ01wKSp4RVYKej16WE4zYTxaWiokOzg2S20pSz1QallpU3x6M3Aj
SkU4ZX1aZnJYMUV6JnNYbSFSbmZ0YTRNR1FjfVJVSHNifDxUCnpgTTxFVW02K1N0al9HNT5yI2hQ
VFo+SjlsN1NEWlFzLTUyQU4wNmgyZ1A1Z3s7OF49STElIXBjcHBnZVJAQWdXOQp6RUM8MDBORERD
NC1tV0I9Pns0VHhxcSh9Jmxsc3IlOVglN2EyPkRNQjUwQmQ4LSE0RVpqNSE+dCtVOXEoWmQ2dVIK
ej5sU0YwbV4xKD1PRy0jaztpVHlaSkZFMUlZWXE4UzJPSFUmPFd9P1FKZmlYQEdJaXMmYFZ5WGZT
U2ExJkpZbChYCnpKbVBtYzt2IX1ReEJUKkB3MVIyQ0hMQTlvckMkZmUjdHY4V0c5WnBWK1lYaEtK
Q34lbF42QCFzM0wtcn1aYUJYZwp6RipoKGtoai1FUmwxclh1Zmo2OF5eJF42Y3EkREpMKWwyKXdG
Y2BKY2dPcFVEJT9UQzdoV25oZGM8JExSKVQ0anQKeiglSylUbE1sQ2dDYm1vNT5VXnhNaEBadH5z
Z3JmUlBXdUZRVip2ajYpNWBJZG1SRzA8NyF5Syowbmk4JE4/MU0yCno7PXJuank7ITBvc0R9fEsh
MypYcCRRSXhzUmFHdFRje1FCdm1HKlhiT1MhPTR5UV5oakFQenppSVN2fl5MZUBpaAp6Oz9Id35L
RmN6SzdEYX58bjJGWHFveUJXbnlldTBtcm1+PllUI1RtMiRBMUJLKD9fMTRQTT0+M20hcmd1aipw
OVoKell8bUl7Xz5nPUlvdHE2SEJuXmArOGQ9bDV0MT1JJDZVSztnJkZxOD9mWndeTTB0WWB8Wmkl
TS03JV9mWFR2MmdKCno/cSQmc2hsKiUmdjM1dkhRMjdWTkBOIz9DdG59ekYzbnRyJCRCIVIzZlJ+
V2dSITM7X0NDWDswKkJKaHNuZ1hpPgp6Zmh9QS1DQVlZPXc1IXxAUFFjNUhBVjh8I18pKl5Bc0JQ
R3Y3JVdQUXwzKkNJTGZ3bmJwbkZFMkZGQV85UCo5bEsKemc3aGFlY2Q3NSpPPkoheDtNMGNibjNL
XlB2VUFzcGFrPWRZN1gpdnZ0P3tlVHlgdCZlMSskaXRsbXhkRmtaVCgqCnpOMSkhY3cmITRQNTVo
QWdfZUlWNy1lbjZ0O1dSWl5mJXhobXp8ZUFyd0NCVFQ/e2xjcWEzJklmdE9rcnc2RWl+eQp6e3Vz
b0VNQUV1P2RlU1dePkZKO3gxS0J8TlRjMVFaWX1ScVN7ZH5IKWJ5bmk9VyNvMjNeITBNJFd7a3RQ
KT9LaXMKelYkRT0/MXpQJGhDV2BtUFErKWxXVypPR3FVUEAkOy1VfUdFdXp3fEVkcnw0NDhyPnEz
SUREWFdQI1FyJkZlOVFnCnpxR0U2dE8jYlMhOGl6JllYa0wkM1gyMFlqbWlFYXk+PD1UbTQ8R3R+
VmM8eUdue3FYZEdlVEpkITQlcWA/dFpYcwp6cms3QXZSUnpoOFNeZG1eNDcrZGVpSlood2haXypg
dnI3MGxgfCFya0Z4UDtwUHt7NjZoO3VaWmxgMEN2S1N9Z0UKek9ndWIxZ2xBWDs0RVZ+NHBkajBi
UCYhQDNuemh3e1hQMSk5bzctT0kxJnpgX2lJODlnKTNXTiVwRmZ3Q04kVS1+CnpQI3NoK2xLVzQo
c3JNSS08fXxaTkRmUihOWih9MiNUWjM0ZFQ2ZjBuTjRHe05DVzF+TSMoaDlfWmZeMSE/IyNgWgp6
YH12KjJKUCNWSUtMIUxNM2AobUhlS0lrc0NFPUokYW5aPTBNcDw+RXw5Kmp2UWREZSVZNXFTa3pQ
ckBaYUcyVXEKenBpQC1Obns3c0dyUERMe3FTem9zcylKJCQ3RGJmNCZBSjlTSEAwQVpEaCYjP0ll
YEolajsrKkpyNkYxdXNyNVpRCnowJjFBc0lxMilfZ1poUjEwYldxPEZ6dU1kITwqQTkhVWRsYnts
THJSa3x5P0xiLSs5M2YqQHtVPEx7dyZyVTkoVwp6O0FUPHVrdio3OHNhcUY1VEohcEZaNzx7I0ck
bEVPNUY5bUhWPXl2VlpfTH48WipFekd5YW5XMGItQFRTK0dpbnkKekNWJjFeTCgoUGs4QVpyKEso
I351MD02dSYpZnsjaT5mMWokakFkaEBab1NKe1pTX2JJeXhtPVJjUl5URV4xTEdCCnpecklta0kw
TG11azY8Y0V2X2RwSDg8YEBMezlxRlhuWjw1NGl0cGRRS1JNZlBWMnh9STh5ZEEyZXVvLWQ2PUV7
Zgp6cHM9WiR1KDUpe2l3JjlMMms8cUEtZS1Va2Zvdip8OSlaTUVRJmFvOXpoOG1PRGdPfnJ7KVd2
X3ZMKTt5NHNZVXUKemYjVDVXVHF7STNnSW9LNjdMYk82cEZqK0pgRUswRllae2N3VVo7ZF9nMjc7
WmBXfGxwYXxVdHtAWihlYj1qITkrCnpNQy19dVl0eGZuUnp2Y1lAPGJLNUw1TkI2e0lJdHZSVzRp
T2QqfFMrJSZrezY7PV87N2RMKnhIYXhgbVBSdEZTVwp6ZVRhbXd5KEchOWU+Y1lhVCl0c0pQZT5K
KEJYOXlVdUhWMFpLYnhVR24qbWwkTy09MSVvNiojQGhkMjJnM2skRykKeiNKaTRQcG1PUDQ/bG1o
SlQ2P0gxaFNqOWI/T0RlNFB+U0BoT2lTJDdrUWpZaW1ZSU5Ab0UkSkNDZn5kbkhPaHdVCnpxR0Rw
UUopKH4hPSk/WmhgeVU0bGFNJStPO09pd0VBME1CdSNHSXxIazUlaz5VODd8VS1+cDMmT0ZDaWs9
fTN0Tgp6QX49UFZzUlNDLWtacF9+dnY/aTklYilhX0BXaCFmejluNH1eN0BDXkFJZDY4Vyg9U29n
S0RBWllpb35JYFo/RjwKekxrdmlocTd8fmkkJCtEVyZTYStBK1NtWURxJU1KeXNoVzZ9Kml7S1ZT
VyZTJWBKKHB9eFlCRGpfKTZoV1ZQVDxmCnpMeFgtWHc4bzV0PmZuaipjYChKNXo2VzlRaWtzJDFG
QiNERUdOfklFOXFuek5qOVRCcHZ0cW1MZiV0ZkQ+OXVLYQp6U2BkdVZlZX5jOzQ8QTBQRilabn5Y
PjZVKE1LeSVyV31rYntVb0Y7SVlZelQ1PW0xTTNAMll9X3BLSGsxdXMzV1YKei1zYHVVSXhRIVBj
ZEh5R0NwVHFteUpzQ0M4akYhUUI2RE87ZV9kXjMhK1lVKE9EN3JZdkZJRnJQLTlBN15fdkNSCnpk
JWJEfHQ0VF5vMFFpNXJeNkFyP3UwezNFOzhNPUMyTGU2YFIoWkwoMU9hJllRODAyKTs/QyZKZWtV
bWB7MTtNLQp6Mj8hcmQ3NWJ1PV9tNj14VlkhQmxoVjNlflpPWWs5NU90ck0tSk9aJHlTdGYwQDl1
U3dBbX1FRmBfbCNXc0Q/MnQKelNXOHQybiZeaSluIT41Xzw7VUJ6eFo+aGxybEA/T2VuKFZSNH43
c2BJJUVmZHxIanNxPGNwPGxhNDk4KkhOV0JVCnpZaWszQHtFS19zcit3VT1vI31qdXJ2eWQqYChS
dn1KeEpnVihGazxGUj5RZShmZm1QaEZxeXdVPkcrNTdeblFiPAp6K3QhUi1Wfm82QTFtMExmZThi
eDY+Z3dgeGZ9XkJLR0FoLSg/aU9XQiMldUB+UV59UTJfaDBeOWhqakUxRDI8Q1EKemU5TD9KS0cq
fU9eJkhMYytZZlg4enNASkcoZkFiTil6WG5qa2NgJldfd0w9aCVfdzRiVjZBJSV8TFNNMSoxWWEw
CnokNDlRe3hGQGcyejZJNWYhcVNZY2t4XlB8RGxQJSNWKUkpKENXO1Y9clNUYFJrRnc2PiFjKk9X
YzIhZTVUUW9XMgp6c3dHcTMzMypGJkImKXwlNmw4XyV7YEhgaT03S25xSHRmP3BRNW5xditMYHZk
JXIoaE1HLTZyZiF7RGs0X2x3Z2IKelNidT8rPm5tNXBmVjU/blV6RiloKU4ze30yJSlHIzM4QElM
VlQ/PCFxKGpnaFl0RWZ5VzlyalEtY0s8ZWZTJWo+CnpeWEN0MmlCVFpwSX5jWDlaRld+fjE+UTVl
RlBEKU9yfldiXzNDcjhIPmYhfTY2OSkkZSRsV1h+Mj1gQGJOYlZuKgp6dHN2eEtyXkBBNGVqJDBn
T2xteF9VSUkpcyZTcUs5WDJJUnltQzRHPT9zJEF2TkFkRldnVnVzb0d3YEZhdjlhbz8KenwzQyEw
WTRsOUtacm5aRG41YXRhUyg/UiMhZkohUk5XZnM1a2dCWTNXWWsqd3JPZilVX2hkMlptaitKQjt4
UVU7CnpeJGlSTnlYNGQrKkBKMX5XTEs2amNNZzdmKWtoPW5OcWN5Mi1HYmMkdEJOdG52dzJCaHAh
NGFpVVEwbyQmPitWUgp6LUFFVSkoKy17dDFiSHkqRlpUQzRMQ0Moa1lNYzI+aXA+IyprbyFNaEs4
SENvZVBxKkJYZTFTR1R5bSZgblpPS2IKenxGRUl+Nn5UUD52KTNVdHYrPXBNXmI9IU91M1h1Z1pm
R2JraHNsaWdGMFd8WnU/RHYhJFFAP04mRkJRbj09cmI0CnpUbGNyVi1ubzR7JVhhK2E8WWNQTzlV
c30oQ3koZ0hZJSlwalVFVE92PHVHKj1iQUNYTEslVithaVd3bCRvdEE9Vwp6WD15Y3ZSQT1acms5
XnA1SXxXaj1YIU55VFJOVmQ8eDs0NkFALUxBWjlaa3h9Zkx1ekJ1VUdIS0pHU1R+SGVJfFkKejt1
bXlkdT15e1JmMUoqY08wS018SyMmTkA3enIqKTQmUkZNaGo8NWQwRUA+KFduelpjbXRoTXNVWVlv
RWRScDJ3Cno1Mk1kIXhMeTNLOUNFVDlJfSRxaCp4YTZxWWlKaXMkK0xyYkwlemZnJVJZJm9CJVhZ
bDtlfSliXmJSZ0R2eGQ7Kgp6XyNlbFIyZ0FIK2tpbmFRUE9WWUBeUWdzSlVLKHlJbWl5fChJPmdm
Y3pkIX0mWUYtYTlnR0J7aFJ0OSN2OCoqN1IKeldnQCN1dlhlQSNUTXtsJXpJSEp4Z05tMjNZfTI2
bWtYdytQczxfUzF7IVp5RE9qMV9aek49fHhIYkF7WDB5OExkCnpGJSV1MCohYilNYnpsSD9nZ0c/
M2s/bEAkX3JEPTJCTkBAbV9XJXJJI2U+KDU0cEl2PSpTKDNaVitWd3l1NHg+UAp6Izs+cVElTl9g
U0JEMW5KPFFObDZjI0coYlcpPnlyZSpqYW5qSS00WWlObDNVJW8tc35jZjdmKTYlY05qV1JfMmIK
emR2YEBCVjZrTDJeVldPOG9IYTR3QEJ0eEolMllXP0ktZFRidGR5NnQ/WGp0cnZQP0p1ZGpTVHlL
MkV5OXAydmtACnpDUlYpaG1eWkBfKmYqQlR1JnFTWDleLWQxP3t7M35fb0J2N2ZXK2x5VkU2PSZl
KXBqRSZHP0FrV2YoV1o7dTk3ewp6dW4pXjBHRmRZXzkmZHVwczdibVJYdm5GaUp5T25jZCNFbT9k
VHcpTHFKdkVTLVlnMkU0Ky1ZfnVqaU16MU81PXQKekE3bUtHd2lYc3VZZ29kbTgxMlpNKnRIMGQ7
elM0RDhEPyReUUFxU0JiY0BmNz9KSEtBRkRzOGpBcm87U0FfJFA8CnpmY0M7YUJndFkmYkZhUzQj
dit3N3ZleFA7cllrWVlUdkJQc1hDWWZzU2F8I244S0NxSUVyaWRnWF83eVMmdCpZVwp6VGF2eDsl
MVRkKmh7bTw3dFlka1gtOGtEbXFBX2EyLVNMI1MzJWRhRXtBS2NCZmd1PThQZnRWVCh+JD8kXnVi
enkKekgtRCRWQ2x3ZDcqO2tCJEd5MjZrZTJLRnF1YEt1eldnbXs7bXU+JEYkemdsdzY3PU89KUVv
NXR3dyZYX3NKI004CnpBIzx8NnpGcjkjYylBZmJrOXJrQUJqejtNMCMtXjtSNVpLOz87JTc3aTtJ
aVhVXk51NE5kOHMwdnQkLTl5ZU8+Rgp6SVUjVnJ2O0RwJFhQZC1pOFB5YXlwMytwQEJ4M3FAY1I2
KXVEWGM7O3g0fDFCVm99alJrYlRmRVBVeH17ZGZ6a3gKeitjVW5XWWJLSVRiNDI8JnM5aEhnMjJz
SzE8S25LTEg0OTkwV18pUjBrdWhaUWhUNTQyNiZEdTVsQ3lQRD0waWVOCnorZXxlVkJrUFdqQU14
PDBxRXNlNGo8bUduNCMpeXdTYl9IPFJKTD1gUz56akkoNil6b2wpXmoraHZ5QmFmNGpSVwp6fEwk
dkl7ME5iPCYzTEFFdXolI1ghUXs9XjxePHd6KSlELUZpPiEkQ3hIIVkqRVY4UD1XbTFPNWA7SWNn
c1Q7ZHoKekcoN2BAMVROLUw7X3Fzbk19OWladjs9RUlRfF4wIVZ9JUR6RXBkUj9xWVQ+NmZzR3t3
dH1AWkViRzBHTW1Qd2V5CnpnOEhmazJoNEIoc0VmbXskKFgkYFE8UyswRDNPbWZzemlTMUZfT091
PlFeanVpVWJ+WDJma0MjJjFiY2BLQmVjSAp6PGRxV00lNGYpYzdHUXc9Z2I9ZkJhbGZOS3RGWjlf
K0htWHFZJTl8ZXFWZGc1Mj8jU0YrXztEdjlVRShzYzh0TEsKejZHPVVNSj57U25TRnEtbC00OSMz
WDBSLVAwd0Z4ZzhRPkJsZTFZa2VqaXBqOzNFPlNrOGRMVzE0WXc/SDBoUF89CmFiMyg0KF9ac2Er
RCkoVlk5fWd8QkNSWlkzOHUmamwjXzdOUwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NDU5YjU5
Li4yNjlmMzY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEwLTA5LTA3ICBBbmRyZXkgS29zeWFrb3YgIDxj
YXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogdXNlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBy
ZXNvdXJjZSB0eXBlIGluIGV4dGVuc2lvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1Mjg2CisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2V4
dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
RXh0ZW5zaW9uQVBJLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVkRXh0ZW5zaW9u
QVBJLlJlc291cmNlcy5wcm90b3R5cGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVk
RXh0ZW5zaW9uQVBJLlJlc291cmNlcy5wcm90b3R5cGUuZ2V0IFR5cGVzKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlLl9jb252ZXJ0UmVzb3VyY2UpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuVHlwZS50b1VJU3RyaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNv
dXJjZS5UeXBlLnRvU3RyaW5nKToKKwogMjAxMC0wOS0wNyAgS3dhbmcgWXVsIFNlbyAgPHNreXVs
QGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcyBiL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKaW5kZXggNjRmNTQ4Mi4u
ZDUwODQwMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lv
bkFQSS5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpz
CkBAIC0xMjMsOSArMTIzLDI0IEBAIFJlc291cmNlcy5wcm90b3R5cGUgPSB7CiAgICAgZ2V0OiBm
dW5jdGlvbihpZCwgY2FsbGJhY2spCiAgICAgewogICAgICAgICByZXR1cm4gZXh0ZW5zaW9uU2Vy
dmVyLnNlbmRSZXF1ZXN0KHsgY29tbWFuZDogImdldFJlc291cmNlcyIsIGlkOiBpZCB9LCBjYWxs
YmFjayk7CisgICAgfSwKKworICAgIGdldCBUeXBlcygpCisgICAgeworICAgICAgICByZXR1cm4g
UmVzb3VyY2VUeXBlczsKICAgICB9CiB9CiAKK3ZhciBSZXNvdXJjZVR5cGVzID0geworICAgIERv
Y3VtZW50OiAiZG9jdW1lbnQiLAorICAgIFN0eWxlc2hlZXQ6ICJzdHlsZXNoZWV0IiwKKyAgICBJ
bWFnZTogImltYWdlIiwKKyAgICBGb250OiAiZm9udCIsCisgICAgU2NyaXB0OiAic2NyaXB0IiwK
KyAgICBYSFI6ICJYSFIiLAorICAgIE90aGVyOiAib3RoZXIiCit9OworCiB2YXIgd2VsbEtub3du
UGFuZWxOYW1lcyA9IFsKICAgICAiZWxlbWVudHMiLAogICAgICJzY3JpcHRzIgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKaW5kZXggZjQxMGQ4Yy4u
MTQ0MjVlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lv
blNlcnZlci5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2Vy
dmVyLmpzCkBAIC0xMDMsNyArMTAzLDcgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5w
cm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgaWQ6IHJl
c291cmNlLmlkZW50aWZpZXIsCi0gICAgICAgICAgICB0eXBlOiByZXNvdXJjZS50eXBlLAorICAg
ICAgICAgICAgdHlwZTogV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUudG9TdHJpbmcocmVzb3Vy
Y2UudHlwZSksCiAgICAgICAgICAgICBoYXI6IChuZXcgV2ViSW5zcGVjdG9yLkhBUkVudHJ5KHJl
c291cmNlKSkuYnVpbGQoKSwKICAgICAgICAgfTsKICAgICB9LApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlLmpzCmluZGV4IDA2YTYxMGQuLjNhMTY4ZWYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcworKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKQEAgLTUyLDI0ICs1MiwzMSBAQCBXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuVHlwZSA9IHsKICAgICAgICAgcmV0dXJuICh0eXBlID09PSB0aGlzLkRvY3Vt
ZW50KSB8fCAodHlwZSA9PT0gdGhpcy5TdHlsZXNoZWV0KSB8fCAodHlwZSA9PT0gdGhpcy5TY3Jp
cHQpIHx8ICh0eXBlID09PSB0aGlzLlhIUik7CiAgICAgfSwKIAorICAgIHRvVUlTdHJpbmc6IGZ1
bmN0aW9uKHR5cGUpCisgICAgeworICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKHR5cGUpKTsKKyAgICB9LAorCisg
ICAgLy8gUmV0dXJucyBsb2NhbGUtaW5kZXBlbmRlbnQgc3RyaW5nIGlkZW50aWZpZXIgb2YgcmVz
b3VyY2UgdHlwZSAocHJpbWFyaWx5IGZvciB1c2UgaW4gZXh0ZW5zaW9uIEFQSSkuCisgICAgLy8g
VGhlIElEcyBuZWVkIHRvIGJlIGtlcHQgaW4gc3luYyB3aXRoIHdlYkluc3BlY3Rvci5yZXNvdXJl
Y2VzLlR5cGVzIG9iamVjdCBpbiBFeHRlbnNpb25BUEkuanMuCiAgICAgdG9TdHJpbmc6IGZ1bmN0
aW9uKHR5cGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgICAgICAgIGNh
c2UgdGhpcy5Eb2N1bWVudDoKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJkb2N1bWVudCIpOworICAgICAgICAgICAgICAgIHJldHVybiAiZG9jdW1lbnQiOwog
ICAgICAgICAgICAgY2FzZSB0aGlzLlN0eWxlc2hlZXQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IFdlYkluc3BlY3Rvci5VSVN0cmluZygic3R5bGVzaGVldCIpOworICAgICAgICAgICAgICAgIHJl
dHVybiAic3R5bGVzaGVldCI7CiAgICAgICAgICAgICBjYXNlIHRoaXMuSW1hZ2U6Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiaW1hZ2UiKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gImltYWdlIjsKICAgICAgICAgICAgIGNhc2UgdGhpcy5Gb250OgotICAg
ICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoImZvbnQiKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gImZvbnQiOwogICAgICAgICAgICAgY2FzZSB0aGlzLlNjcmlwdDoK
LSAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJzY3JpcHQiKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gInNjcmlwdCI7CiAgICAgICAgICAgICBjYXNlIHRoaXMu
WEhSOgotICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlhIUiIp
OworICAgICAgICAgICAgICAgIHJldHVybiAiWEhSIjsKICAgICAgICAgICAgIGNhc2UgdGhpcy5P
dGhlcjoKICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYklu
c3BlY3Rvci5VSVN0cmluZygib3RoZXIiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gIm90aGVy
IjsKICAgICAgICAgfQogICAgIH0KIH0K
</data>
<flag name="review"
          id="55808"
          type_id="1"
          status="-"
          setter="yurys"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67028</attachid>
            <date>2010-09-09 06:42:35 -0700</date>
            <delta_ts>2010-09-09 07:11:21 -0700</delta_ts>
            <desc>patch</desc>
            <filename>resource-type-ids.patch</filename>
            <type>text/plain</type>
            <size>32992</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNGUxNmY2Li43MjA1NjE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDkt
MDkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiB1c2Ugc3Ry
aW5nIHJlcHJlc2VudGF0aW9uIG9mIHJlc291cmNlIHR5cGUgaW4gZXh0ZW5zaW9uIEFQSQorICAg
ICAgICBTcGxpdCByZXNvdXJjZSB0ZXN0cyBmcm9tIHRoZSBtaXNjLiBleHRlbnNpb24gQVBJIHRl
c3RzLCBhZGRlZCBtb3JlIHJlc291cmNlIHR5cGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyODYKKworICAgICAgICAqIGluc3BlY3Rvci9leHRl
bnNpb25zLWFwaS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2V4dGVuc2lvbnMt
ZXZlbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZXh0ZW5zaW9ucy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2Vz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9leHRlbnNpb25zLmh0bWw6CisgICAg
ICAgICogaW5zcGVjdG9yL3Jlc291cmNlcy9BaGVtLnR0ZjogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZmFzdC9jc3MvcmVzb3VyY2VzL0FoZW0udHRmLgorICAgICAgICAqIGluc3BlY3Rvci9yZXNv
dXJjZXMvYWJlLnBuZzogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9yZXNvdXJjZXMv
YWJlLnBuZy4KKwogMjAxMC0wOS0wOSAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWFwaS1leHBlY3RlZC50eHQKaW5kZXgg
YTlmZDJlNi4uM2U2NmFiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMtYXBpLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy1hcGktZXhwZWN0ZWQudHh0CkBAIC00Niw2ICs0NiwxNiBAQCBSVU5OSU5HIFRFU1Q6IGV4
dGVuc2lvbl90ZXN0QVBJCiAgICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KICAg
ICAgICAgICAgIHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgogICAgICAgICB9CisgICAgICAg
IFR5cGVzIDogeworICAgICAgICAgICAgRG9jdW1lbnQgOiAiZG9jdW1lbnQiCisgICAgICAgICAg
ICBTdHlsZXNoZWV0IDogInN0eWxlc2hlZXQiCisgICAgICAgICAgICBJbWFnZSA6ICJpbWFnZSIK
KyAgICAgICAgICAgIEZvbnQgOiAiZm9udCIKKyAgICAgICAgICAgIFNjcmlwdCA6ICJzY3JpcHQi
CisgICAgICAgICAgICBYSFIgOiAiWEhSIgorICAgICAgICAgICAgTWVkaWEgOiAibWVkaWEiCisg
ICAgICAgICAgICBPdGhlciA6ICJvdGhlciIKKyAgICAgICAgfQogICAgICAgICBnZXRBbGwgOiA8
ZnVuY3Rpb24+CiAgICAgICAgIGdldCA6IDxmdW5jdGlvbj4KICAgICB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCA2
YjFiYTBhLi5lODUzNjMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRl
bnNpb25zLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTksNyArOSw3IEBAIEdvdCBjYWxsYmFjaywg
YXJndW1lbnRzIGR1bXAgZm9sbG93czoKIHsKICAgICAwIDogewogICAgICAgICBpZCA6IDxudW1i
ZXI+Ci0gICAgICAgIHR5cGUgOiA3CisgICAgICAgIHR5cGUgOiAib3RoZXIiCiAgICAgICAgIGhh
ciA6IDxvYmplY3Q+CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2V4dGVuc2lvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMtZXhwZWN0ZWQudHh0CmluZGV4IGEwODhmNDAuLmJkNWE5NTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1leHBlY3RlZC50eHQKQEAgLTIzLDEzICsyMyw1IEBAIFNp
ZGViYXIgY3JlYXRlZAogICAgIHNldEhlaWdodCA6IDxmdW5jdGlvbj4KICAgICBzZXRFeHBhbmRl
ZCA6IDxmdW5jdGlvbj4KIH0KLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRBbGxSZXNv
dXJjZXMKLXJlc291cmNlOiAuLi4vdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcwot
cmVzb3VyY2U6IC4uLi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy10ZXN0LmpzCi1y
ZXNvdXJjZTogLi4uL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLmh0bWwKLVJVTk5J
TkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRJbnZhbGlkUmVzb3VyY2UKLUF0dGVtcHRlZCB0byBy
ZXRyaWV2ZSBpbnZhbGlkIHJlc291cmNlOiB7ImNvZGUiOiJFX05PVEZPVU5EIiwiZGVzY3JpcHRp
b24iOiJPYmplY3Qgbm90IGZvdW5kOiAlcyIsImRldGFpbHMiOlsyMTI4NTA2XSwiaXNFcnJvciI6
dHJ1ZX0KLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RSZXNvdXJjZU5vdGlmaWNhdGlvbgot
UmVzb3VyY2UgZmluaXNoZWQ6IC4uLi9pbnNwZWN0b3IvcmVzb3VyY2VzL2V4dGVuc2lvbi1tYWlu
Lmh0bWwKIEFsbCB0ZXN0cyBkb25lLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wMjljYmI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIx
IEBACitUZXN0cyBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSQorCisgCitQYWdlIHJlbG9hZGVk
LgorU3RhcnRlZCBleHRlbnNpb24uCitSdW5uaW5nIHRlc3RzLi4uCitSVU5OSU5HIFRFU1Q6IGV4
dGVuc2lvbl90ZXN0R2V0QWxsUmVzb3VyY2VzCityZXNvdXJjZTogLi4uL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdDIuanMsIHR5cGU6IHNjcmlwdAorcmVzb3VyY2U6IC4uLi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMuaHRtbCwgdHlwZTogZG9jdW1lbnQK
K3Jlc291cmNlOiAuLi4vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2Vz
Lmh0bWwsIHR5cGU6IFhIUgorcmVzb3VyY2U6IC4uLi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0
ZW5zaW9ucy10ZXN0LmpzLCB0eXBlOiBzY3JpcHQKK3Jlc291cmNlOiAuLi4vaW5zcGVjdG9yL3Jl
c291cmNlcy9hYmUucG5nLCB0eXBlOiBpbWFnZQorcmVzb3VyY2U6IC4uLi9pbnNwZWN0b3IvcmVz
b3VyY2VzL0FoZW0udHRmLCB0eXBlOiBmb250CityZXNvdXJjZTogLi4uL2luc3BlY3Rvci9yZXNv
dXJjZXMvYXVkaXRzLXN0eWxlMS5jc3MsIHR5cGU6IHN0eWxlc2hlZXQKK3Jlc291cmNlOiAuLi4v
aW5zcGVjdG9yL3Jlc291cmNlcy9taXNzaW5nLWltYWdlLnBuZywgdHlwZTogb3RoZXIKK1JVTk5J
TkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRJbnZhbGlkUmVzb3VyY2UKK0F0dGVtcHRlZCB0byBy
ZXRyaWV2ZSBpbnZhbGlkIHJlc291cmNlOiB7ImNvZGUiOiJFX05PVEZPVU5EIiwiZGVzY3JpcHRp
b24iOiJPYmplY3Qgbm90IGZvdW5kOiAlcyIsImRldGFpbHMiOlsyMTI4NTA2XSwiaXNFcnJvciI6
dHJ1ZX0KK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RSZXNvdXJjZU5vdGlmaWNhdGlvbgor
UmVzb3VyY2UgZmluaXNoZWQ6IC4uLi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1y
ZXNvdXJjZXMuaHRtbAorQWxsIHRlc3RzIGRvbmUuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
MDAwMDAwMC4uMDk0ZGE0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9leHRlbnNpb25zLXJlc291cmNlcy5odG1sCkBAIC0wLDAgKzEsNzUgQEAKKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9hdWRpdHMtc3R5bGUx
LmNzcyIgdHlwZT0idGV4dC9jc3MiPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1m
YW1pbHk6ICd0ZXN0JzsKKyAgICBzcmM6IHVybChyZXNvdXJjZXMvQWhlbS50dGYpOworfQorCitw
IHsgZm9udC1mYW1pbHk6ICd0ZXN0JzsgfQorPC9zdHlsZT4KKworPHNjcmlwdCBzcmM9Ii4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iZXh0ZW5zaW9ucy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RHZXRBbGxSZXNvdXJjZXMobmV4
dFRlc3QpCit7CisgICAgZnVuY3Rpb24gY29tcGFyZVJlc291cmNlcyhhLCBiKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGEuaGFyLnJlcXVlc3QudXJsLmxvY2FsZUNvbXBhcmUoYi5oYXIucmVxdWVz
dC51cmwpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uUmVzb3VyY2UocmVzdWx0KQorICAgIHsK
KyAgICAgICAgdmFyIHJlc291cmNlcyA9IHJlc3VsdC5zb3J0KGNvbXBhcmVSZXNvdXJjZXMpOwor
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb3VyY2VzLmxlbmd0aDsgKytpKQorICAg
ICAgICAgICAgb3V0cHV0KCJyZXNvdXJjZTogIiArIHJlc291cmNlc1tpXS5oYXIucmVxdWVzdC51
cmwucmVwbGFjZSgvLiooKFwvW14vXSopezN9JCkvLCIuLi4kMSIpICsgIiwgdHlwZTogIiArIHJl
c291cmNlc1tpXS50eXBlKTsKKyAgICB9CisgICAgZXh0ZW5zaW9uX2RvWEhSKGZ1bmN0aW9uKCkg
eworICAgICAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLmdldEFsbChjYWxsYmFja0FuZE5leHRU
ZXN0KG9uUmVzb3VyY2UsIG5leHRUZXN0KSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIGV4dGVu
c2lvbl90ZXN0R2V0SW52YWxpZFJlc291cmNlKG5leHRUZXN0KQoreworICAgIGZ1bmN0aW9uIG9u
UmVzb3VyY2UocmVzdWx0KQorICAgIHsKKyAgICAgICAgb3V0cHV0KCJBdHRlbXB0ZWQgdG8gcmV0
cmlldmUgaW52YWxpZCByZXNvdXJjZTogIiArIEpTT04uc3RyaW5naWZ5KHJlc3VsdCkpOworICAg
IH0KKyAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLmdldCgyMTI4NTA2LCBjYWxsYmFja0FuZE5l
eHRUZXN0KG9uUmVzb3VyY2UsIG5leHRUZXN0KSk7Cit9CisKK2Z1bmN0aW9uIGRvWEhSKCkKK3sK
KyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgeGhyLm9wZW4oJ0dFVCcs
IGxvY2F0aW9uLmhyZWYsIGZhbHNlKTsKKyAgICB4aHIuc2VuZChudWxsKTsKK30KKworZnVuY3Rp
b24gZXh0ZW5zaW9uX2RvWEhSKGNhbGxiYWNrKQoreworICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0
ZWRXaW5kb3cuZXZhbHVhdGUoImRvWEhSKCkiLCBjYWxsYmFjayk7Cit9CisKK2Z1bmN0aW9uIGV4
dGVuc2lvbl90ZXN0UmVzb3VyY2VOb3RpZmljYXRpb24obmV4dFRlc3QpCit7CisgICAgZnVuY3Rp
b24gb25SZXNvdXJjZUZpbmlzaGVkKHJlc291cmNlKQorICAgIHsKKyAgICAgICAgb3V0cHV0KCJS
ZXNvdXJjZSBmaW5pc2hlZDogIiArIHJlc291cmNlLmhhci5yZXF1ZXN0LnVybC5yZXBsYWNlKC8u
KigoXC9bXi9dKil7M30kKS8sIi4uLiQxIikpOworICAgIH0KKworICAgIHdlYkluc3BlY3Rvci5y
ZXNvdXJjZXMub25GaW5pc2hlZC5hZGRMaXN0ZW5lcihjYWxsYmFja0FuZE5leHRUZXN0KG9uUmVz
b3VyY2VGaW5pc2hlZCwgbmV4dFRlc3QpKTsKKyAgICBleHRlbnNpb25fZG9YSFIoKTsKK30KKwor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBX
ZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSTwvcD4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvYWJlLnBu
ZyI+Cis8aW1nIHNyYz0icmVzb3VyY2VzL21pc3NpbmctaW1hZ2UucG5nIj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy5odG1sCmluZGV4IGVmODk5NmMuLjFi
NTQxMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMuaHRtbApAQCAtNCwzNCArNCw2
IEBACiA8c2NyaXB0IHNyYz0iZXh0ZW5zaW9ucy10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KIAotd2luZG93Lmluc3BlY3RlZFZhbHVlID0geyBzdHI6
ICJmb28iLCBudW06IDQyIH07Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0R2V0QWxsUmVzb3Vy
Y2VzKG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIGNvbXBhcmVSZXNvdXJjZXMoYSwgYikKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBhLmhhci5yZXF1ZXN0LnVybC5sb2NhbGVDb21wYXJlKGIuaGFy
LnJlcXVlc3QudXJsKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBvblJlc291cmNlKHJlc3VsdCkK
LSAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZXMgPSByZXN1bHQuc29ydChjb21wYXJlUmVzb3Vy
Y2VzKTsKLQotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc291cmNlcy5sZW5ndGg7ICsr
aSkKLSAgICAgICAgICAgIG91dHB1dCgicmVzb3VyY2U6ICIgKyByZXNvdXJjZXNbaV0uaGFyLnJl
cXVlc3QudXJsLnJlcGxhY2UoLy4qKChcL1teL10qKXszfSQpLywiLi4uJDEiKSk7Ci0gICAgfQot
ICAgIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMuZ2V0QWxsKGNhbGxiYWNrQW5kTmV4dFRlc3Qob25S
ZXNvdXJjZSwgbmV4dFRlc3QpKTsKLX0KLQotZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RHZXRJbnZh
bGlkUmVzb3VyY2UobmV4dFRlc3QpCi17Ci0gICAgZnVuY3Rpb24gb25SZXNvdXJjZShyZXN1bHQp
Ci0gICAgewotICAgICAgICBvdXRwdXQoIkF0dGVtcHRlZCB0byByZXRyaWV2ZSBpbnZhbGlkIHJl
c291cmNlOiAiICsgSlNPTi5zdHJpbmdpZnkocmVzdWx0KSk7Ci0gICAgfQotICAgIHdlYkluc3Bl
Y3Rvci5yZXNvdXJjZXMuZ2V0KDIxMjg1MDYsIGNhbGxiYWNrQW5kTmV4dFRlc3Qob25SZXNvdXJj
ZSwgbmV4dFRlc3QpKTsKLX0KLQogZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RDcmVhdGVQYW5lbChu
ZXh0VGVzdCkKIHsKICAgICBmdW5jdGlvbiBvblBhbmVsQ3JlYXRlZChwYW5lbCkKQEAgLTUzLDE3
ICsyNSw2IEBAIGZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0Q3JlYXRlU2lkZWJhcihuZXh0VGVzdCkK
ICAgICB3ZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMuY3JlYXRlU2lkZWJhclBhbmUoIlRlc3Qg
U2lkZWJhciIsICJleHRlbnNpb24tc2lkZWJhci5odG1sIiwgY2FsbGJhY2tBbmROZXh0VGVzdChv
blNpZGViYXJDcmVhdGVkLCBuZXh0VGVzdCkpOwogfQogCi1mdW5jdGlvbiBleHRlbnNpb25fdGVz
dFJlc291cmNlTm90aWZpY2F0aW9uKG5leHRUZXN0KQotewotICAgIGZ1bmN0aW9uIG9uUmVzb3Vy
Y2VGaW5pc2hlZChyZXNvdXJjZSkKLSAgICB7Ci0gICAgICAgIG91dHB1dCgiUmVzb3VyY2UgZmlu
aXNoZWQ6ICIgKyByZXNvdXJjZS5oYXIucmVxdWVzdC51cmwucmVwbGFjZSgvLiooKFwvW14vXSop
ezN9JCkvLCIuLi4kMSIpKTsKLSAgICB9Ci0KLSAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLm9u
RmluaXNoZWQuYWRkTGlzdGVuZXIoY2FsbGJhY2tBbmROZXh0VGVzdChvblJlc291cmNlRmluaXNo
ZWQsIG5leHRUZXN0KSk7Ci0gICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsdWF0
ZSgidmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOyB4aHIub3BlbignR0VUJywgJyIgKyBs
b2NhdGlvbi5ocmVmICsgIicsIGZhbHNlKTsgeGhyLnNlbmQobnVsbCk7Iik7Ci19Ci0KIDwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9BaGVtLnR0ZiBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZXMvQWhlbS50dGYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM4MWNiMDMxNjVhYjgzMWEzNmFi
YjU5MTQ1ZmY3YTJmNTY3NWZiOQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTI0ODAKemNtZUhO
WkZtJmI2QEtTcVhGcWA/ViNKOF9Xe1ooMzI3O0Mlck5+RjVORCt9QnFOVTB2SklNeUt5SyM0OGYm
eFdyCnopa2dVIVQ4JkM2QjclWTwzUihuODVmSzRWc2l0VFZtbyE+VVpCJlkyZUdwalJKM0EyKytk
cUIkVkxQK1c/M3tiPAp6eT1UdDc9YmR9Yz96flV7XyVSYjJgZCg3anIoZVVeUUxfTUwwSlcxVnFN
X09AeVlmYz50e1Q4ZFJFM2hZSTBhc3kKej9ASEZeUk1rd2F5bDdRd0h4MEFeMT51TXAzaCFEcHJh
U0FfXlh3bT8hdEstWkRJZWgzR1pJWlRKUj5sal9MfjUkCnp4aDdyXzVfTSs9ZnVkNkMrTX1Ve1Q2
YCspRThXOyQjNm5TWE0lTyNtMEtOTTF7KmxedkdCcz1HPjVWYCFgPldqYAp6ZU9FOW5AMDNmY3VJ
QDdFQWlQPXxIQ1BxRGBVLWo3YytUPlJmWG8xYE8lcDY/UF5GZCFgKU1MR2ZadFlvZW9JVG8Kejl8
dFlYTDNyI3dVIztpdXdLaW9nVG9sJTteYXlqWlNMSiMxUSM1TCFhfiQlUjJ8Uyh5RzE0bVY+KypB
bDE0QUo4Cnpza1JSU1RMcU5kQSp8RGM8KkJlZDwyKz9PbHdMWmdHWTFYXnpURnMqazh9M2FOODJr
LWNXU3R7czZ7WVRwTTJnfgp6YDA4NHRhNTJkcTlhcDx9IVg/e05nVSlyeWZTYXFBVCFWYUUtdmo3
YCZnZzwxPFJUOXpwKHs+Q0tHKlZZSTI4cHIKejRjJjElZGYrPHtDYDF0N01OZ2M4QkFrZ3tfI1Yh
fSszMWFQUD5lcTRpeFR3MXhpfUJzTX1QYlAxOF9iRDspZlc3CnpBN0w7cTtKUCp4ISFSN0J4RFhA
b1Z+b1RfNz1AbztHJW0mJVQhT0s8NnlzMmFAd2Z+VmE1Kk84M1M1YndWaUpDYQp6dDhnX1kpODch
dlFHcVpfUkg2eklSQVVPUktARm1hQSZ5I0hpdipITHAkXnhmOXUxZ14+djAzN2FiS0IlcEw0bD0K
ejZGMUB9YH5vLVFFJkxMPDs4eHMqeEE3fTk7KGdxWEpKNXolX3leaUM4Kn1ndS1vQFkwaks1PHBl
dlF7SzR8bjEmCnp7MDRYOUpeVHFEOzhvbSVDWnJqcWAqMSh6PDdLPnBLVnVpKHorZG9ORVdxI1pB
ckBqTVRKWm97QEstQSRkJDAodgp6Vj5rQlZLYGgyWVNjMFdeNz57NVhtZzctOCN4XlZQSTlCMmJK
Yyg2VWppPk41ZXZkVkgyNVlnN0pFdS1HZlVgQSgKelFTOGhwJXNAc2RRT2NBQ1d1RSRpeD1ucGN5
R3dnU1RkIT50SWlqbTU1SXNhdDZwNmxLcGVRWDI3OFY4N3BiX2o2CnolbktGLWRqIXU4anRvdT9u
ISl7Tll+UUQ1R1BFbGcofWxEKiZhJF9LX1REKG8tYnRkSD1xYGsxQEJBOz4lTUc2VAp6Z310ejQ1
MUNCbj9NeTNvKmMmc2BHN35jdzA3dSQrNG5BXyQ7biQ5SS1KNUNJMWhsTWdTPVh8cjw/KXVLRWVy
Tk8KenlaNW5sWWtFZ3xtejx+Y19Wa0FJTCtRciF0IzV0eVgzdzBEWX19OE1iQEdzNG1nak5EKGN8
UmYjZGIjRiNOJUdaCnpRUjNoTU0qMHMjTG5DbzhtK2B6Q25+OTAxaD59QCYwYjdaVEltRjIjJmlA
dS1wYjZXdDRLRVN9X2MzLTRHVV5oSwp6dy1iPnxpT0khYD01amxsODtIO3FSeiY5JHNtfkt4UGdy
clMhYldUJj95OEMxRGE3cUhNRDlGZHgwZExZKmk4fD0KejYxI3NTZFohWTwqQXUlcDVKYDczKCRn
JmpLYTF5eHMjVX43NzgmYl5sQz43elVNRjVSKTdTU0xsdzw/JHB5V1RJCnpMPyl1bEJlaVFaIThP
YmNvU1IjaWRxIWJ5O2RKJUdCWGc3a00rMkhUKyVsYWo0a3l5aWwofFEtUUs4bSR4RW17Rgp6Q2hw
WTlVbDdpYElHQXZyMldLc0MpJmdnTGFRNFA7STRAdzwhVHErUkBNTFN4KzNNc1YqPyUkclhMQXNT
YF4wcyUKeiNtUE9Mb1pRS35vIT9eND9AO0dBX31BPFktKjY3JXtOe0s1MlhnKWNiODt7ejJYa15U
Q2tKektGZWVCNUgjciF7CnpDJiskK1dDI3JBK3h7IzA/KDtnbmJEaFdjbUBEeyhZQ0dTVXpsI0hr
c15sbT1sLXxsZld1ITdlMmBkUkByWlFXWgp6dVBqczZDfGlfZnJCJklkOTkwOHFmIWEmJHVhPkln
KVg4ZDBvdSlSYlAzalZMd1lveyZzaXhJLV5eb1MjXjBsNT8KektXJklNTXdfSGYoSGdXe18jUyhh
d289PW0/YSs0OShAJTY9Jihub290UGojaD1AYSNecDNyQ052LVNEPEdKVER7CnpNUV8keV4/bXdM
U0hNLV4+Z0RTMURzXyE+Tz9KZ3goX0Q/TkNmNT96WVMkKiRQRkxGMT9tQT82akNgWX4oYSN1Uwp6
ajQ+dHxRO1lgVjdVTTJzaytJVSlWQypuPDgqUm9YWnJ6PmQ3VmN2QUFvblF1TTBjZS08LVc7MSpT
KX5+c0MldEAKenQ5eklHOXJ1MEBKZUB0PUohZzNhQEg0X1EtYyM8V15+fl94O2tuUUF1OyojZFgz
d2poN1NEJkMhKE59YW80M2UmCnpvX0NtY3RvSkghanJWJSpaUWlAUmlAaV5KSCtvPDg/KHgzd3tu
VGdweTg0Mj96UGBifShZYEJ2NSNNI2JufDw/cQp6M3c8a20+d1ZqT1p9e0h6OXFfQ0U5RGZnZ1p+
czk1TmRFK1gqcWB2dl53MExzX2I+Q1dAbyhgcmAmPDN7ezZfPFUKekt0WjVhcG5zcT1GZks0VDVE
UUVUR3pPWGlPOUhDe24qdXVuPXxGcW5QJHk1UHs3eVlQXjx5QDBuc1YkTntRe1A9CnpoWFJrJVFC
dSlhU3pfeG8yeFlZYD51bDMoJVAhPEFkdS1YRGUhcU9XdG03NXNrUyF+RyVlfkUoUmsrb2NZKnxC
Jgp6K0hBYEArcWA0VEY4SXxCRX11ZEQkRkBGKV4xcDAzbXYlbjA8dmkkYCVEcWpJVHM+dWhYNG8+
dnFBI3soanp4ZGUKem1OXiFFdHUxcGJgZmdrMVNvQnN+PTItTWtaOC0tWG07NGA3K1JzSTJtJmNh
I3NMdi1PQ1R7VXExaTF3ZnZKNFZECnpFNjVIb0VxO3J6RyRzVCE1JFhpYkQ4R35CNVkqWHF5KUE3
NmR6b1l4cSp5ODw/YDl+PWIoUzR6QlN6TU9BZzhDNgp6cikqek9ZdF9+cnJMNzJrc0haa1dTejN2
KVVtdUhtYkYzYExaYi0xNXluQlopPHlIQHE/MXBPZ0cwNj1RV2JgQnsKelJyMjA3RUxFfmMhcz1t
Q3BSKEZqdjBQelVsM2EpK2J5NlJ2MT9rSUZ0RFBLVyh5fSsheEAoeUJxLVN5ejwhbUYhCno5ZzRG
ZyVPbUpUZ3NyM3BAP09YOG5WcXJXV0V6IUdVJmVNKCtMMUZ7TzslSHF4Xmx+VUo+X2cpSXElMihF
YW9ncQp6OCZSXkFPdE8mVm19Rzx8U2dvYiFTKzdnelgkaEAkd0M9Y21lTEs3TVYpOXI7TUlAOTZS
aXc7QlFpS3d3TkpVSXgKek1uJkA0SStsNzF2IVRNUU9eS29saGdRXzNPYzlFT01YKXk1VGh2RllE
PFVFcGlQd3V6dmNpbXxgaC1wRURrPkI0CnpzQVopKmxyKEZxVmBqMHFFTk5FTylyaVY/TFpyLU9z
eWJGQkQma1NIWHNjN3pAdDg8WE97VUNmdlJJNXcjS1V6Sgp6Vz59T0A3MzFVS3Vvd31GQnd9VkYr
bW50QkZEbnllcD1lenFSREVWcmxxY2YjTiFIcG5pLSQoYz1zMl5ndHxwWTIKenp+TTtLQ0ItRXxz
Xnhpe3UwdihGbVBPfCZfPHd5MHpJYk43e0RnSHBMMjduMCRsU29wO3NoY1hIM3o5dyQhX15GCnor
d3Q0UGJvXzY1anlHQnlONkIhIWpVMld7YUAxeSM9X1l4TWNhcjBGa0hyXlROY1AoemktIyFyaG13
Nkx4cmJSKwp6Kjs9eVZwMGdObStuQXJkaCNoI3o7eTNPal5ZSnh1QXw9bzliJktoXm8xRHIkV0sq
V2VYX1BGLUh1NUZrdz5YcF4KemthX25KX1RpdHtrQmBhbktac0FQeEpoPjdJJiRTNkNhPiomaXw0
cjZWbWR4Z00mMmZ9QDBPRW13fUF8fV48PlI4CnprIWcxP3hwd28mdWJnQUNGUEQ7d19iT1IqJnlx
PjZEIU0tQXZlQmN9az5qPH0zckV3c1gwaF5mcHBlZ35lR1UhSApCY0BoOHMKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMv
YWJlLnBuZyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvYWJlLnBuZwpuZXcgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jOTMyNTM2NzM0YTkyNDY0YTNmNjU4YzhhMmQyOTZkZDZlZmRhZTUwCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAxMjI0Mgp6Y21XKysyUk4xZzdxPHluLUdwUmIrKTc5aWxEKTFGTGlUb3pC
eEdtSDRwRGEybF5zSHxsNXhxLWBxXlohPj9FODIKej4zQDZoSlV5PVd6VkcqKCZwSWJ1VH18O0tJ
VEpZXjleT1Q/bEFJPnxSRG15Ukc2TUx7bTN9ODJlcTMtPSh0Q2wyCnpNeygpajdkfkZmZGo+b19I
YXhWUHczZiZGWFdxODwlKiZxVi1SdUFVYFM4MVl2U0t+TEs3M0hwUTBocHkpZlZ3Zwp6UlBrREMk
KSk9fWlKd3R7RUV5MzVAJlE8ejt7c3hHQSpyQSo9Z255S0UyP0pJd3dEVz51WFItTns+bndoJjJq
T3kKejhhYTA/e0BoPCpYRmpLdntJTTIwY19fdVpwWDUyY1UqcEBtPEBxITVvQVk3PjgoQUUoalEx
JStOTVRgMEVAS0VnCnpuaHF5R2lSJSttKWorNVk5eX1Rb2lrPXJ6ZUpZJHZpNCRSX1FYUkNiT3lU
VmtQTDBaNGIqcjBsc0IkJlJ2cldtaAp6bURkbzd6QyRVU1Y1UDE3TyF6OEpwdGh1X0BSeTYyWGYo
WEJ1I2h+RUVySjZsQWVgRVJzVzN4VWhuSzh2eFlaNVcKem1HTzQlaW5scGNVa0xmblVVO1YmUXpK
bFdHOyRIdz1iQzF2bXRlKmFmJktSfUY1ZFpvaWtLSHNwPU87YGpsaytBCnp2PDV2QlBETW9vdlQ1
Q2oqRFA0ckBlb3FZTXMrJD0tSnlKM0l4P3sjajF6Rkh5U0RXKFBFTy1wdUMwKTIxQERCNwp6KEQ9
cHxFREVsXj16Sm0ybHB6RiozTmg7d2RSOCZeTiQzRFJPWjY+b0RHZnhqcT1KMHZtMUo/dDVZS1h0
TTNvZFEKek5+cyVERn1yXmQpP1A4P0ZrdnEmTyhQS0lSKEZmNnh2XjJJUXZhQ3tRKD5WWHIzQ3tD
ZWRAQWpgPlJ+cmtOUVBKCnomM08pMFJ8USt7bTJHPTRHWkxvZjdaI2NeOUVrU3doN2wyUjRzdnB+
LTRGNUhjeXhzI0Q3Qm9JQkRrcig5cUdpYAp6Rmx8eWdheT1yQEV4cnJ4bmxaI2xFS1IpazkjZlE4
ZU0jWEJoZD5pKXowNGYoVVc7VlVea3ErJFVUdGt7NE1nNDQKenJnSUlQIShOcX5nWU55I3VrQSEo
RGBEVTFEbVlUdzxFUkIob3YmelhjV2l2VDUhLXtZQ2AmQDNAODc+NEV7RTs2Cno1bEtfNG5uPiVn
XnA/bkFCWVRyTjx1S3d9dVR5bEpsOVA7fXQ2Yk0zQTVVSCowJkExPFU0WVg1SDVQU3BTKU1rTQp6
QWVMXjNPTj59X3A0MHIkKHFTUG1ZQ1pCSWcldDBfTUQ0QiYmeTc4PWlAMGpmLUtDZFhfNHxfTnlP
SlNodVcpQVIKeiVaZHZCVUxoZU5HaW19WmJ5SE41YXZGI29NbVpgRWRhWG4oTi14Mm5JMDE+Szta
IzVxZyo3QnktVSp8KkxkKkh7CnpXYlR0KkhFSF5DYWwrQi1ZeEFURyQhK3Q4dF5CP19gK24jOT9w
ckB5TVZRTlVLYVNhQjFlMUd1ZE1ZYWBgfV9OQwp6Z2dTUz52WE56fXFuTjM+JUhNWV9Rc1RsQ3Za
K0Z8d1FnTEZsczZpZ2E9NzxTS0pKNCQzUEROMiZXRX5sSGZQZEoKejZ5YVpIcmdMIVJyVk5vMSN6
eHlpQyY5fCoke3wtU2t4YCZJUDVxRm9rRn5ZNm8xMkBoWk84bzEhUmM5antSNiFPCnohVGBLQnI8
WDVaNzhhSjJtWDZwfXk0NWBwNSVEPEtvLUhtZVpmJXY8T1EyPkpuUV5Zc2RHaDMqdSZ8MyFqNnlh
Ugp6Xjs/YGoha219Pj5hfWF2NyNPeV8+VXxxbj98ZGRGPkl9eTNPUTB3K0p4dyYhRzAyZlRUSClt
VkleX141Q2NQPH4KelQwR19PRyRxN3U9VDd1fE1DO3NJWCtzSDB4ISFwSCgzYG19Ny15RXolaFRv
VD8hR0BXbGk0PFpKK1VpWGp3NG9TCnpWZlhPb1BoKHh2R0Y+UnVNUTI3OT9Td0BTYWYhUWs/fjAz
ZTMjZHFCPGtebUk/ZUJgUyM8VzRKcTlTJVkjRj9VOwp6bmUqMGFkQXM3M1ROajtJWW1KTF92V0VK
SUlWajJLLUp+ZiFCd3h7IyVEeHdRTjJJZyFJXjV5O15Ddn54TWtBTnkKelpIMVYwVUE0N0NMcWZ7
Tz5+RjtYX05zc0k7S0F3WD5EMUtKa2UleWA3Y1pWYT1ae3hqYlFXZEVnTVJYP0c1bGRFCnpzRndH
NVdZMURDeG9ncUk9bjdGMnJlYkpxNF55JGE9aGdROGA7WWdjeUM9SzdrPVBadEkjOzcqa3NuKzg3
NmNKawp6c3BGNTJJYW07bkNsbT1qYk56MF8ra1F+PT5qaVZAUCQjQ008Pn5iWmYoQXsjTUFpcGhO
SGtyV2xnSHF5JWlxNiQKejtqbTtyKXN8SDAtKWhrPGp9RGVHZ098SmUyJk11YGZHbTAwXkIrYns9
cHteemsxSGVUYzZXQ3hEa2BRPUh7R2RPCnojN0ZIYXdeeCpOSUxIV00tYHU0IXJEZk1YJj5IP15z
RHN6PFAtVHxpbEV0MkJSaVhGdyFqIV90PVQjRiM+fUUjRgp6SVJrVFpiS35SVjNrI09AIy1ZcU47
Pm5rNnQwdH5UKmE8Tm1kVmY8I3VgTEt2YXo9MVNHMjtaTkxTKyVIX1FJKTMKeiRYfE8kUytiIzJF
YUc4YF90VnI9Mk16aEklbis1eTdGRTAmbVU3TXIhb1Rea0VRQyFFSnV8ZW8yYWpqV3B+XkZ6CnpY
R2RLRkYtbUVReDgoMTRHb0pocHYweGsxeW8zNzEwfHE2JEk0d2pEen1+S0JPans3Y3NFclVeSU1L
eylFa3I8fQp6RjdLUzRvTT4/Ykk8LTJuYSh2PVdiZm92eVFZJD9eYHBCelN1TSZ5UDdnV2RjY0Ik
cFBvcEVKanNHMlpCQT07SD8KejR8RVlUbkM/cmFafUoodD1fbkw2d0NiaXhoVXs5K1czbDxzKGF+
UEBLa1hgaT9USXpCQVZQKDJpKE1kPE5+YDkxCnorRGZqWXNLV2NVYVU0XlQrYElnPzFGMVJ+aGVY
Rnw2JUViITU9KWJYO2ArISElcUFWfntTSHlpbmNNTCYmR34lNgp6MVlsWDZtZi1UXykhdHE4R28y
ITBRUTM4ZGxFS3g8dWB4WWUtN3E8aEsoPENsUjc4WUFjRCE8TXFmdnsoWWtHSXcKekxQbnNnNGg2
UykzdiViY3VDbGhXYT4kfFQtJnQ7aWJmVipzNWdmMF4+PyRxd3hjaWNxNUE3PEl3YThYWjd7OEx0
CnpuPXowYFFPXksqOzdMdEpWZT9iKEp3SUZFa0BXbiUoNk8rdnUoRmNoeUw9TnR6VVAlRE09YGtf
SXFPZzBtWkteYQp6SShFc0NoZkpubz8zSj5tQVkpQTE7flZpSihZcWV2I1gzKSlLY34qQjlKOGs8
Qys2VXczJWpmT1NVWX1ScSpATGcKelhQVXFnbFVHLUZ7OW5PaW1ZNm4mRHI+PnlQLTwyX2V0eXw5
K0tqQlNhXjc5PkUkNW48UCs/KFYtOztTKGNYIyptCnpqKk9FSXNEdyFlX2orVFZxaXtYYmZYcEp+
YCVnclNlVUlpSmdxUmYkLUR1TDAkUzU3TkZadVpLS2ZBakdzdXl1Swp6TFFHSyNneE9fU1lkWHBj
JjMzfTYyPkZYdFJLOUJsKF9SfnVCTG81ZGdSN1EkVWt2JkYtUWJWM2AmYW1semsyUisKelRYNVN7
Pmh9bXhoVF5pO3liODFldE1ZOGNsMnZAU25ARDRvPFBoP3F4RSstPCh+SE1ZZHZVRzBPP2I/dmZI
RUg5Cno4KlckbSZVV1Y4TW9MVy04PEVZU2tfYU12b3pTb1d5R2xvYyVyOTxyOH5ldkcqWTNNNWJ0
ZX1UNnFwS3haNDxBTgp6bExWRk4rSXhGQEozMmFnZCFJYU1JTU9jRzBXeDBPOCghTjM9dFJmVyo0
OUZvSTJhVmBARWNaZEZRcTtZIUlAUngKelVQQ3NsaCtLfl9GQj5KfGRLMWpQaEY/YHZTLUgyPCM+
Iyl8bVN+ejl2UmR2RCZBeHN5e1pkVGNfe0x2VGZmY3drCnp2IzZrJG5BcUxCbSFsTlNQRTV1OEZG
TWB+I20oKj9IeWpPPnM7UjAqTU1XOFhfMUdERkI+QWpUemc8bUJgJlBVJQp6XnF7c2pnQmtaKmJs
elpARSt1dVBgTCkrJFYoNjR5eX05V04kaV5xeStDWHRQTWpXY1BlJThPLWA9dzF1ayF9PSsKelQl
bVVPWipYdmEmKzdwVF59RTZPb2otZWZ1Q0F7MmY1KUYlNXtwSiM9OzxVWlk4RHtLaCR3TXZANSE3
T09HLSp1CnpQaTlFckBPe3J1X3hYKSN3ZkdXPXJUY2A2aHdQZ0NwSD8jVT9tYCY+Tk9ebXxYTTFE
KUU8diMzYWhSUUNNdkRQNQp6SU92a0s5PSh1T3V9Kz1lYFB0dlUhbntQciEwYGF8NSFse2szTD02
c1UwdyFDMXJGTjh1R1piSjZDMFo9RTZgbXoKem5ySXJMXnlTJTVNfXYmcyZ+M3RvVysmJFNPUX03
JXcmUks0eyV8IStPOX4xKUBCSkZPQDRuZXlKfj1YeSp0PCpeCno7RXpRaTxnWjhrOTwkRG57KjlD
X2B8LUI/JT5+ZCNhXmN+fm9kQGE1U3I2bG8mK1A0eWJRZVVQd2hQZFpRQnFTdwp6I2xFY249Xl80
ZVhzRmZjSnJXSVE5KjAhRkkrTSN4TVZkaFVyTz1rQ1VBa3EhWFNCN3ZrNGUxVmtTYEtARiNmYk8K
ekRtd2FYN288U14lX3F0XmJhRVN4QkVSLShPVipOQW1pfSVgMEEpeUkjSGpSczYxYnx2NnU/Q2ti
SnJxZDV4RHdtCnpKRWtJN3JmSm5CY2hFTHtgUEJFa3JLUDNnRWwqdXQ5Vzc1I2xQTDs4S29fV0py
bCZLcXI7dSR7SEV+JVUtP3k9NAp6YCk7RVZQSm82KlVnUHRhZVgtNiU4bHE1S3pgXlM3VlBGJVJH
YXwlez9VYE56ZGshM24lK2x2JU5CeFZ4M3RXaHYKenpQODJ7ZmJ1JVVfcEdSXj52QSQ9cXNpQzBw
X1clK1QqQGxwZUd2YnxTayFxVHRabStAIyZFfWoqXz53KFMzRTAmCnp7K1dwKVp5SDNWOypSVzZM
TUYqZ1dUbCt6cmlARzc5VVZWNEcpeE9uIzxhYXY7V3FLdig8VCM3Uip+QGhaUnpWUAp6QHdQKlY+
N3FFfDloMXp4WFk0fE1HdnEkTVlkMXAzcW1yZl5zNiVsfG1ROVB5X3VZN3pxUk0lJWhSZX1Wbj84
QUUKejYrfnlnQGxpTHpBSDYxOW9NXkAlLWI7OEBubkZRUWsoeU92dmNEZ24oMUt3cCZIYm1lYEdx
cFZYK2xjUSM9d3d9CnoofExZYilVTmQ7RkZQQk52fTRfcj19bT9aPV83dTA5Qi1GZjliNjlBLTQ7
dlV5cFQhRTUpO1pzeDw8fkZBVCZaQQp6Y2NDQHA8RnZyKlp7Tk9NOyElNFk5c09sdTxMdkNydTJT
c0lvalZVNlQjSVo0TnxCPFlkKVI0dFdjcFdVPCU/djgKel4+RjtoJj8kJHVzLVB5ZUlPdUJBJjtJ
S09kRmR3eGs0JXNtKztxTW5zdWcwUU1mbX5HKTcweyY5N3hhcTh5Z2M5Cno2SnckenV9dntISFU+
dUY8bUFOUmFJczMzUiNzZFl5YDFXbyhxbV9Jb2l9KHlFQypXSm4pZUN7JHEmM3s4VXF8Zgp6UjBK
dCRueFloQjJaaGphREx2Zmk3bWwoa0gld194aTllcEpzQm02c1F0MzBtVj94Sj8tTWA8UHstRXlM
SHdqNWUKenp2VWxrR0ZncElsU1FUOSMlK1dXNSkqK2smOGEoWUhCdHstUyV1KiRqZGR5WTV7aVpq
YjhUNS10VVd3TDckYFlECnpuaH1KfSM0RzJGKzNWYmhTSUYrUzdkOXhTNCsqMHI0NW8zOFpSSXVf
N2todnJiSUNJPDw9al92VVUjZDVpQGpYdwp6JWhEYHgqX21zViRAKX1SMlkkZHVWKjItUVhUZkFH
MVRoO2V7JHpeU1RKNzA/a3tAUCpDOyQtfSVvdEQ+MFkyOWUKejxaTGZ6NyZoRXEwJT5kQTdfekk+
REtjeDB6X1BpJGpsYG95WlF0MT9CRnBMP2MqRVAzJiZ+RSlvK0VicHNDZkY8CnolOEpMeSFFSyR4
LS19JW42Qjl0KzZjaU1vS1k9OT83b01Ebng+YyZobUhYP0d3YWh3LXIyU0NIRX5+R0gyT3NOSwp6
VzVgRzIyOERaZWs/e181WDhjTDBCKGZ8fkJ9QX00VU9PKTcwflJIYihUa35RbnFqTzYxVypUc2Vz
cHd7KHRgbkgKekJuZ1VQY2AhYVBhb191M2B9Z25QK3VNI3BPc3hacjYjQT0wSn5ROFNiPHhQPDJ5
RkcjcmRfMzcjaDZUMS19KlcpCno1PzV8N25CMlgqVFVaRChBJjhWKDZHNjwqODM/QSZRUkt9eyhq
ZSYmR1hWYXRMZy14ZjY3dz4kX3oqUFZ1clNqXwp6ckFLaWVUKlNheEdCaTVab1hqKUBEYU5va0Yo
PDAhZnlOJDlpO3VzWVYzbnEzdCpBKTRCRXc2TXhAXmN4Jis9UlkKemxTQ3JNbFRjRyQ/dEZmQnM9
fVNVPHxVUzx1K1NMVEIrRkxHPjNVeVYrZXt6TkNKeERkMS12RzZuPHo3dDJMaStxCnprSVlnOEhv
cCs2RnR2eDxUdnNBdmRVU01VYnlke3NrND9weDNpbiQ4KGgqbEZNMW1FVih0MllQZVNJKTxLd19o
MQp6N1FtN1RpIXhkTVN9I29FWHMlZ1lyKWlYQyYoNT4wKWhVeylmNFRvWD5UMHNlX2tVNyRFRmQ1
dER+bW0mY1Z1a3IKemc3VmVNV3UybTY1OFl4TkFkYXJgSzBEMW5LcmduK1d4RFVJNyhFQ05aX3BF
R0c0eFhxQ1oobyFWSmhJaGpmez1jCnpHY3JnT3dsKzUlRCluYV9Kemw9Nyg8diRfT3pCO1lZe2VF
OUhsQmpQP2xnS31eO1NTZjwhWlFTQDl2P3VGUjByVwp6RkR9dTdDZ0pjbHFqQDlsJVltayZHfDwt
ZVcrYn0pWmdBR0l6NUttJDRtfnxSaS1mb0NqcmlRV0pUUE5RT3tIMmwKem5rWTxidG58S2ZMVnZp
c3hncFZrZXhNQW9DQDU/PDg9SEwxZnxFYWFsMmJvX2hSfjcrc2BEbDRDQTh8KCNQcX0rCnp7OGRw
YDJ6I3UzSCh2UmZnOUV7fFpPV0d+VXh3fDR1aDckSGVzLXczUGVUU0tETHAtWFhVRkxTfEYqT0d4
Xmhsagp6NTJnc0x5e0A2NUEoUnZRWFI1biZOVVd9RXdXNDBhWWB2d1BMTnJOM1RHdH1EKk5GfFBV
Pk57dDc2eWlEKlJ8b2EKemB8Zz9VNURSR0N6O350WGQmSmhaOTRHV21UfFhDOVhrNDE4JSUhYzNA
OFYodjE+OTsqaXcqJk89TSNxdk5DaE18CnpIMzJrOE9pYXVXX25kUkNTejIxcyhhfnxQRiUoTjk4
Q2lEYDE0a3h0dk1wOyMkTiVrTVpnaUJQJjF1Til2ZDEtSQp6eytLcEdsMl9QI2QqUHpCK0w1KShA
O2pnYmZOQDRqajMkMm17T2VWKHErX1kpQWVfM2dFYWgtb1E+JmtTJEt0eCkKelRlaFZnND0qbi1A
P2U9OEBpSXEydUx3VXdPcHcyamlKRVp7Z0UhLTV4OWhnUC1SJH11JUljZmMxdjIzczdSN0x7CnpH
ajdPRThffk00QGhrJDE/T3ohbCk9XlljNmt2RkAjPDd+aU1wbXFJR3FKMHF7QyRVfEE+VC11TUh8
P0skO3RQcQp6Mj55blhhd1BnbWk2TVMzZmoqXmxZUmhiSXttckgjOVokT3k1XzxxP3lVS0MrT0U9
O05UKDhaMSQ1ZSE0bHs2NkkKek1EYGNudHdUOHBGYGNHT0FFdHBlKFlnYEx3JXtVbUopJl5QUERu
TVZUYG1GKSgyTHBUVjNZSHM1dVFpcy1wZ3QzCnpQJG03O0dKYElsPHRwX1plfUluK1Zxe3t7SCNR
RVRJUWYzPjgtQVBAUk9Yb2RaKmYtZzs3MGRZI0wyRCpkUWQxfAp6QGswZjM4IWQrVHApKXxZM2lz
fHo2SmgkWWJaXnNiaiU3Sz9TR2R7NnlwLUlZP3J3akNneH1mOEBtN05nVW1gOFoKelVEYUskZGNl
WmMoazx4eksoPFU5RjAkc0gpTypDelFnPk85WXw4SjFRPWVIfGh5RHdmOXRhNCQ+QX00MXVtbWI0
CnpBXyFBeWlAeEA+WUdUJiQ7R3hOcFd+SUxUJDFtZyVRJXN+anxKST5mTkpkMFkrbGlQMXFYPHdZ
TG1NcTExd285LQp6X00hS29jUkdeVSRIJUExdn5QTDBiPjY4T1libUgjSSYjNzAkTVNBRFp3JU8r
bjMkaz1lKT5xWUpoKzNQZWo5e3UKeldiUF47e25+SmA5MHotWmBTYShjeHdmaz1PbmQ5UHl1eU5s
Yk5rMmwjbCNAbzBCUSElZFJHM01maDlSe3F2emY8CnpheH11eU1NP0k7VSY3MWZAVCNrTypiKmow
LXBVKCstUkFjSGFrI3R1Q3whSlBYZWlqNT45VldIY1lFUTthZGY/TAp6MTdzVldvI2QqfXgocjg/
Yzlwcmd7eyZWYzJBRHp9XnsjNz9rZCo0WnhNI1U4P35rNHlfUXZLbWc9YEpJMWtUdG4KekI+Rmd8
cXVne055JlQ7KzVIMDZTRU1rPzx5Mjk4bjRPVnwtYyRqUUhNNVN9cGdAWWVScj9DajZlRyY8RVNn
U2RJCnp7VTZQRzxNV201NztzeCleT1Apb2VDaXQtJkpUOXheVkhKcHN3TkotamNKSlRSVnYxYWU1
STV7QDd+byRBPmk8Tgp6Y3pDcTY+cGdjZEloeFdObDs3fGNHSV9nRHBXYlRHJElIS05ga1NgcHQk
NlAjMjY8V0x2eT9GOUQzbkl2PHdocGUKektgYmlwRkBhWUlRWkZIQFpUfFYhOVRHI1U/MHpZMjNs
OSRsYnJ2KD1QKFpzeT1OZU4xQWlFdUskaVh0fjVhM051CnpaQEd3UmtQK0B9SSpSOzBKWldyZm9T
OSs2Mj49N0d0KnpDVHo9MjhaUHJndWtzdiReX29TKFgzXkk8NTZxe2hCZAp6Z1Rxe2pTKWE7YGlq
dEM5KyhSSDxJVXA1NjNiKHA/e28qaEJ3LVVSRV9jbThvSnMwRGpkXj1nPmhwM1IzOSQpVjAKel87
fmtGVHgxVnE1ViUpfUc2d1M9djVHaih0bl9DcSV7NypDK095JVh8Ql4qY2VVYyNReCt3XygwZkYx
TW96Qm1FCno+WlUqeUZZWF5WdXxOUmhDPDRhQGE1bDJXVyVWZC1kaTFCcXtLZD5xKjV3anhRa29C
QzJWUXlmTy13eyl4d3lJMgp6UEMweTRMZWcxU1NiJD1BeHpsPigpWXE+LTN3U2V5NTtnQiExNVI7
eGNvK2E7fEojMGpMQmFLZz44OyZFc1k1ZCUKekJPe355czwkNmk2QlolKUAoYHk9RklQdmN1ZGxu
Znk4M0s5SE16PmpEOXQmeXc+QmJ1b2lTd0F0KipicyUmUEMlCnpedlRqYWJvQGxoYyRVXntmM3Fa
Mnw1byRjMj1lLWF4a3cxSE49bVJ5UmtnTUhEMUA9XjtvQEBvTzl5anZmflNtQgp6cCYoUHJiWCVP
a2JlNEtBLVVQV2BTbV5OVlM8akNqMWlDQEAyPCE8eTxMJD1POGZFdWBVY1koc0NVZ2ApTVRrYlIK
ejRpTTkkTjQ8YWtlNGdIVnFQO2dDQlk4SF9hQjUmUXFMSnJWVitnLXYhdWBWUlk3fmlkQGlFNChn
OGRDMUlnWGJMCnpFI3EhMiFrbWx4KXQhOFl3fkxSTDdtalReXz0+VGtTUV9ZMUlCU3FTcSpUbU9H
aXV5I1NHTXJFVndIMkM1PCFSXgp6ZjR9LTE5e2Jka2slKUYyb3N8Q3Z2U0wmeE5TViNlJX5IUzlI
N0tOanEkcWBLemteVWVHOD1OMGYwe3VaXkBfJi0KekAqbDdJX0tkS0JhKHtmfUR8UE0oYEYxa2d4
fTJxK1BUWXJ5c15eaGQ1cGkqR1FCaEc1ays5RTZeVkxIYEx4ejAmCnolQHE3XlNZK158PFRiI140
diZtbnFmKlMjNEE2Y2xwNigkWT9MfHZNIzMzYHtgdGhNZWhLWjM7ejFRQmFzSF52Kwp6Y0hiJDMj
dzlnVFBOd3w2dzFnMzBASUc4ampBNTFCLTB8PlZyUU16fStRMGI1PnhlQGFLVmFoMXBaWlV7a0BE
a1gKelc3cHs7ZUgkZHtCa180YTEyIzFeeHokQ1AyYmVMS2BWJmQ3dGduQ2RKQ19qcV9ETUg4SX4j
UT9rUX5gN1cxUGBwCnpzaW0hJkgmfDN1MWNyVGphKn47dWBKK3d8RDJBPjVJenZBMUoyWWdPRyFo
VX57YCMpfjkhVjNRbEQhNCoyVm8xWQp6ZXcmS3JEez9ldyNQenFncjZMeX5LIWNfPmszZT1VSS1t
WWRZPUI1Y3h7RkdrQjlMQEoyVFokQkV6I0Y2V259PloKelZUT3o/OyZ3M3gxX3Njd25ndzdqOWpa
Vl95alFhcFhDZHtLaVZPY3JTO1VWWDcjLUNXVk9CdXdjLTIkbEdIPF9YCnpwXm1fKyU8VEhAYEFm
d1NAaTFWVlVWP1pqYmA8WWI8ZSlWZ2t2IVNQSig0e0ExTHktV0RIZXJZZzU8NFklKVVVWQp6YDM5
VkQjPm9OPzk7entEYCp6PGI1SVFlQzsyUW12RTJTbjRDMkx9Sy0yaCZ1cmx1fH4/O0w7ZUJ8YiM3
MHh9bEMKem5MUUM9bERESnNAVzArQF5jV05PYnowWF8rLVVOUzNMUjRjazE8O3EjMDAxNyl7PXpV
PnxfTUc7YSFSUkYpPVpyCnpHRmdeX3xBNl8zU0wyQ1BmfV9hRXZmdFRxeFpHVW4qe0BQPjMwN1hs
YXBSJlBidTRJa2MtcUZMUlNeMz9QQkszfgp6NTRPZypiaVh0SFgwUFBBeER1aCV4bEM1KG5pdzsk
R0FHUEF2fkMxPW1nfT5zNGokdjNNcVYpJFE9enBYVlVjOEAKekdfTG5Ad1k5eUZ5YTBre2JFKiNG
aHBTUUZvMTI/S0wkalNJV0N5Jio2Sjx9UzI5KksyMXQtVHI4YCg8Nk8helRxCnpFaj1+V0xlSV83
UUdoODVMaHptY3pvMmw+X2V7PVJRM3orVEd6ZWxYRUk3ZWwxJn5aaVo8NnFZe3pwdzQoRWo+dgp6
SWA+QlNjWV5paWluc2NnYVJMdzt8NStYVXxHTiU8VFliYG83PGp8JmAxSWBYJkAlIW5hZHV6PDs1
SSE/b2RuTEgKemV8azYxPzxqQlU+K1RRZUZKU1A3RkpKeCs4JDVTKWJKSWp7cTNLbyNLNl9KQlFB
Sj5ybHlpKnpQRipkUl9jeH49CnpCTmx0bClfWi1vX0kqcTlAXn5QbGtqZClyKkZlV2ZNYXEybkBV
PlVCVH5SNDY3KXl3YiNnTTB0TyVoVlNJd1BENgp6JXZ9WlNeQEReOz5IM01VcS1KcVBNK2YrdG5p
fGBSdkNoVGMjUmdTeHY+e00pNXR7flo0YUdIO3VlJiFLOCU1OWkKenA2ekN3UGZlZDFKJTdGaHAj
bDZKMj8+ZEAqRDlBWk8qRzJgdXA7VmpVTzdZbCk1aXRGZ01PTz4/e0JmT3c5Kyg8CnpOQkVgOUxN
fmt4QWBmbWxWIWhAVWNRQ1RsUj5KYV5KYzIyN0tBQENFbT9mTVMrUUg/LWpYUjJuT0d2ME85cmtn
Qgp6KVB7fCRKJUluRztRIzcpXnY5TmxSV1h7bS14VWJ2NEM7amtDamRBLWVmR0VOZTIpTGorfCU9
cl4/WmpfSGpDIUgKenMwPkFkdCY3WCZxTjFEaGskZTA1YCt4cGFQZFIpUGRFYTFXJWJqOz9OWlE7
VEF3VHhoWXdaQERYZ2VqbENmPTNiCnorP19GT2xgc1JTZF4jZWhMNnBgJUgzZUdlUSQ8RDR1JHNJ
XnBaTHhxenUpMT47VnpIYmA8MmJqKyNXa2heX0B1bQp6WmBFSkV4QjtfUnZfKUc5Q1dFeDJ5bSpu
QTBBSXZkMTJMUTY8X0A5YlJgP35KP2A+QCRVdU5gYVNJfjx+ak9uenkKenBUQVF+SlU/NHs5PTh6
MFBfKGcxRi0mPChGSGRgVXQ1QFFmdlowd0o3aCppNDV6YmdMVWx8UThjckdDMmBtK19LCnpsanBq
fiUlS0FjMylOSXFSTWdhclloNE8tZERIS15KNkt2R1ErcTtXKmtRdFU1Y1NJeE5oZUx5JT4xU2pF
Mml7dQp6XlpZJjFiR057VTR8IXQlIStDUWR5MkslJCZ5REVNLUBvWiV1RF9yY1U8UlU3I1B0Xktn
MipxXz1jVUtaM1QhV2MKeiRkJCtseSRhWjckfGRiNHJUcCZeR2xtQGNvb301N09hVHFISm9mKHF2
NG9QPl93fDZsWWppUlFzfjBrazI2PnFWCnpWd0pqcVEoLWImcjBOT0pRVmstTm1hdURMY3NAYyoq
SH5FXzA4aXlMWXxNOEtWSDVeKWlAVHtra05efkQzOD99Swp6Q2kwc28ze3JIKm48YXJGa21JLXdh
b1IjVnQtTUFeWHowWC1uPlkmJFdJVSE8VTJhNmdESXZqWE5YPDRqblI9O1AKemJUJUl1YTlRZSg4
QDBFX1ZXTjZ0UyNYVXo0NDZiUjdzNjdZekEoKFlXYzxGcTZXXnQ3I3k/dWl5TjVNM3FFIT05Cnpn
TSpqQzw9JnZhJnBXOU9tWEVDdTM9RHc1cXtKTnpTQUR4Mip+JWo2YCpGPCskflEtSWJvNHt2RkpR
UjBKZGFASgp6QXJpZnx6SyhSJncmYW19REJhU1J6PlVQTVBuRF44X315IXxCU0RAT0xpQ3NwR24x
a0k3dFE/XkE8dGc0QihlIzMKendkWkEmdSgtUzJuKnAjaFNAUXlIem0rKWVgTEFFVVBFTmojdG9p
SD5KISR3YFMmRHhQcUd6RTEwSUIlcCEkY0ViCnptYDV4LWl+Y0Z1N019KGdCYzNGYiZyVDlKKThH
OUp8NlRCTG03MjkqOTloVCpJa1kkUnZyVXpXe3BRQDtyYUNNIQp6SlA3alo1Z2NnRT9FYU5zenZl
dUJKdzVkaHRyPSYzXjEjbGx1QzN3bmdpfipeI1E2UjA7Qmwpdm9wUFQoP1JAZ0IKenliNUEhZVRq
QG1JaHRBT0R9YnJTclN9KnBBclcqYEAzN1B5ezAhbUE7R2s/Xzt3TWs3Q2BnOEdNNlRwaiowTkYj
Cnp7Y15RUSFCcG4kRHx3Izw2bnZNbmI7YG5WKH52PTd6PGRtezAkWmx2YWt7KWZXeHkqJUx0WkJi
UEdDTXApKnhFVgp6PXpYTjNhPFpaKiQ7ODZLbSlLPVBqWWlTfHozcCNKRThlfVpmclgxRXomc1ht
IVJuZnRhNE1HUWN9UlVIc2J8PFQKemBNPEVVbTYrU3RqX0c1PnIjaFBUWj5KOWw3U0RaUXMtNTJB
TjA2aDJnUDVnezs4Xj1JMSUhcGNwcGdlUkBBZ1c5CnpFQzwwME5EREM0LW1XQj0+ezRUeHFxKH0m
bGxzciU5WCU3YTI+RE1CNTBCZDgtITRFWmo1IT50K1U5cShaZDZ1Ugp6PmxTRjBtXjEoPU9HLSNr
O2lUeVpKRkUxSVlZcThTMk9IVSY8V30/UUpmaVhAR0lpcyZgVnlYZlNTYTEmSllsKFgKekptUG1j
O3YhfVF4QlQqQHcxUjJDSExBOW9yQyRmZSN0djhXRzlacFYrWVhoS0pDfiVsXjZAIXMzTC1yfVph
QlhnCnpGKmgoa2hqLUVSbDFyWHVmajY4Xl4kXjZjcSRESkwpbDIpd0ZjYEpjZ09wVUQlP1RDN2hX
bmhkYzwkTFIpVDRqdAp6KCVLKVRsTWxDZ0NibW81PlVeeE1oQFp0fnNncmZSUFd1RlFWKnZqNik1
YElkbVJHMDw3IXlLKjBuaTgkTj8xTTIKejs9cm5qeTshMG9zRH18SyEzKlhwJFFJeHNSYUd0VGN7
UUJ2bUcqWGJPUyE9NHlRXmhqQVB6emlJU3Z+XkxlQGloCno7P0h3fktGY3pLN0RhfnxuMkZYcW95
QldueWV1MG1ybX4+WVQjVG0yJEExQksoP18xNFBNPT4zbSFyZ3VqKnA5Wgp6WXxtSXtfPmc9SW90
cTZIQm5eYCs4ZD1sNXQxPUkkNlVLO2cmRnE4P2Zad15NMHRZYHxaaSVNLTclX2ZYVHYyZ0oKej9x
JCZzaGwqJSZ2MzV2SFEyN1ZOQE4jP0N0bn16RjNudHIkJEIhUjNmUn5XZ1IhMztfQ0NYOzAqQkpo
c25nWGk+CnpmaH1BLUNBWVk9dzUhfEBQUWM1SEFWOHwjXykqXkFzQlBHdjclV1BRfDMqQ0lMZndu
YnBuRkUyRkZBXzlQKjlsSwp6ZzdoYWVjZDc1Kk8+SiF4O00wY2JuM0teUHZVQXNwYWs9ZFk3WCl2
dnQ/e2VUeWB0JmUxKyRpdGxteGRGa1pUKCoKek4xKSFjdyYhNFA1NWhBZ19lSVY3LWVuNnQ7V1Ja
XmYleGhtenxlQXJ3Q0JUVD97bGNxYTMmSWZ0T2tydzZFaX55Cnp7dXNvRU1BRXU/ZGVTV14+Rko7
eDFLQnxOVGMxUVpZfVJxU3tkfkgpYnluaT1XI28yM14hME0kV3trdFApP0tpcwp6ViRFPT8xelAk
aENXYG1QUSspbFdXKk9HcVVQQCQ7LVV9R0V1end8RWRyfDQ0OHI+cTNJRERYV1AjUXImRmU5UWcK
enFHRTZ0TyNiUyE4aXomWVhrTCQzWDIwWWptaUVheT48PVRtNDxHdH5WYzx5R257cVhkR2VUSmQh
NCVxYD90WlhzCnpyazdBdlJSemg4U15kbV40NytkZWlKWih3aFpfKmB2cjcwbGB8IXJrRnhQO3BQ
e3s2Nmg7dVpabGAwQ3ZLU31nRQp6T2d1YjFnbEFYOzRFVn40cGRqMGJQJiFAM256aHd7WFAxKTlv
Ny1PSTEmemBfaUk4OWcpM1dOJXBGZndDTiRVLX4KelAjc2grbEtXNChzck1JLTx9fFpORGZSKE5a
KH0yI1RaMzRkVDZmMG5ONEd7TkNXMX5NIyhoOV9aZl4xIT8jI2BaCnpgfXYqMkpQI1ZJS0whTE0z
YChtSGVLSWtzQ0U9SiRhblo9ME1wPD5FfDkqanZRZERlJVk1cVNrelByQFphRzJVcQp6cGlALU5u
ezdzR3JQREx7cVN6b3NzKUokJDdEYmY0JkFKOVNIQDBBWkRoJiM/SWVgSiVqOysqSnI2RjF1c3I1
WlEKejAmMUFzSXEyKV9nWmhSMTBiV3E8Rnp1TWQhPCpBOSFVZGxie2xMclJrfHk/TGItKzkzZipA
e1U8THt3JnJVOShXCno7QVQ8dWt2Kjc4c2FxRjVUSiFwRlo3PHsjRyRsRU81RjltSFY9eXZWWl9M
fjxaKkV6R3lhblcwYi1AVFMrR2lueQp6Q1YmMV5MKChQazhBWnIoSygjfnUwPTZ1JilmeyNpPmYx
aiRqQWRoQFpvU0p7WlNfYkl5eG09UmNSXlRFXjFMR0IKel5ySW1rSTBMbXVrNjxjRXZfZHBIODxg
QEx7OXFGWG5aPDU0aXRwZFFLUk1mUFYyeH1JOHlkQTJldW8tZDY9RXtmCnpwcz1aJHUoNSl7aXcm
OUwyazxxQS1lLVVrZm92Knw5KVpNRVEmYW85emg4bU9EZ09+cnspV3ZfdkwpO3k0c1lVdQp6ZiNU
NVdUcXtJM2dJb0s2N0xiTzZwRmorSmBFSzBGWVp7Y3dVWjtkX2cyNztaYFd8bHBhfFV0e0BaKGVi
PWohOSsKek1DLX11WXR4Zm5SenZjWUA8Yks1TDVOQjZ7SUl0dlJXNGlPZCp8UyslJmt7Njs9Xzs3
ZEwqeEhheGBtUFJ0RlNXCnplVGFtd3koRyE5ZT5jWWFUKXRzSlBlPkooQlg5eVV1SFYwWktieFVH
biptbCRPLT0xJW82KiNAaGQyMmczayRHKQp6I0ppNFBwbU9QND9sbWhKVDY/SDFoU2o5Yj9PRGU0
UH5TQGhPaVMkN2tRallpbVlJTkBvRSRKQ0NmfmRuSE9od1UKenFHRHBRSikofiE9KT9aaGB5VTRs
YU0lK087T2l3RUEwTUJ1I0dJfEhrNSVrPlU4N3xVLX5wMyZPRkNpaz19M3ROCnpBfj1QVnNSU0Mt
a1pwX352dj9pOSViKWFfQFdoIWZ6OW40fV43QENeQUlkNjhXKD1Tb2dLREFaWWlvfklgWj9GPAp6
TGt2aWhxN3x+aSQkK0RXJlNhK0ErU21ZRHElTUp5c2hXNn0qaXtLVlNXJlMlYEoocH14WUJEal8p
NmhXVlBUPGYKekx4WC1YdzhvNXQ+Zm5qKmNgKEo1ejZXOVFpa3MkMUZCI0RFR05+SUU5cW56Tmo5
VEJwdnRxbUxmJXRmRD45dUthCnpTYGR1VmVlfmM7NDxBMFBGKVpuflg+NlUoTUt5JXJXfWtie1Vv
RjtJWVl6VDU9bTFNM0AyWX1fcEtIazF1czNXVgp6LXNgdVVJeFEhUGNkSHlHQ3BUcW15SnNDQzhq
RiFRQjZETztlX2ReMyErWVUoT0Q3cll2RklGclAtOUE3Xl92Q1IKemQlYkR8dDRUXm8wUWk1cl42
QXI/dTB7M0U7OE09QzJMZTZgUihaTCgxT2EmWVE4MDIpOz9DJkpla1VtYHsxO00tCnoyPyFyZDc1
YnU9X202PXhWWSFCbGhWM2V+Wk9Zazk1T3RyTS1KT1okeVN0ZjBAOXVTd0FtfUVGYF9sI1dzRD8y
dAp6U1c4dDJuJl5pKW4hPjVfPDtVQnp4Wj5obHJsQD9PZW4oVlI0fjdzYEklRWZkfEhqc3E8Y3A8
bGE0OTgqSE5XQlUKellpazNAe0VLX3NyK3dVPW8jfWp1cnZ5ZCpgKFJ2fUp4SmdWKEZrPEZSPlFl
KGZmbVBoRnF5d1U+Rys1N15uUWI8CnordCFSLVZ+bzZBMW0wTGZlOGJ4Nj5nd2B4Zn1eQktHQWgt
KD9pT1dCIyV1QH5RXn1RMl9oMF45aGpqRTFEMjxDUQp6ZTlMP0pLRyp9T14mSExjK1lmWDh6c0BK
RyhmQWJOKXpYbmprY2AmV193TD1oJV93NGJWNkElJXxMU00xKjFZYTAKeiQ0OVF7eEZAZzJ6Nkk1
ZiFxU1lja3heUHxEbFAlI1YpSSkoQ1c7Vj1yU1RgUmtGdzY+IWMqT1djMiFlNVRRb1cyCnpzd0dx
MzMzKkYmQiYpfCU2bDhfJXtgSGBpPTdLbnFIdGY/cFE1bnF2K0xgdmQlcihoTUctNnJmIXtEazRf
bHdnYgp6U2J1Pys+bm01cGZWNT9uVXpGKWgpTjN7fTIlKUcjMzhASUxWVD88IXEoamdoWXRFZnlX
OXJqUS1jSzxlZlMlaj4Kel5YQ3QyaUJUWnBJfmNYOVpGV35+MT5RNWVGUEQpT3J+V2JfM0NyOEg+
ZiF9NjY5KSRlJGxXWH4yPWBAYk5iVm4qCnp0c3Z4S3JeQEE0ZWokMGdPbG14X1VJSSlzJlNxSzlY
MklSeW1DNEc9P3MkQXZOQWRGV2dWdXNvR3dgRmF2OWFvPwp6fDNDITBZNGw5S1pyblpEbjVhdGFT
KD9SIyFmSiFSTldmczVrZ0JZM1dZayp3ck9mKVVfaGQyWm1qK0pCO3hRVTsKel4kaVJOeVg0ZCsq
QEoxfldMSzZqY01nN2Ypa2g9bk5xY3kyLUdiYyR0Qk50bnZ3MkJocCE0YWlVUTBvJCY+K1ZSCnot
QUVVKSgrLXt0MWJIeSpGWlRDNExDQyhrWU1jMj5pcD4jKmtvIU1oSzhIQ29lUHEqQlhlMVNHVHlt
JmBuWk9LYgp6fEZFSX42flRQPnYpM1V0dis9cE1eYj0hT3UzWHVnWmZHYmtoc2xpZ0YwV3xadT9E
diEkUUA/TiZGQlFuPT1yYjQKelRsY3JWLW5vNHslWGErYTxZY1BPOVVzfShDeShnSFklKXBqVUVU
T3Y8dUcqPWJBQ1hMSyVWK2FpV3dsJG90QT1XCnpYPXljdlJBPVpyazlecDVJfFdqPVghTnlUUk5W
ZDx4OzQ2QUAtTEFaOVpreH1mTHV6QnVVR0hLSkdTVH5IZUl8WQp6O3VteWR1PXl7UmYxSipjTzBL
TXxLIyZOQDd6ciopNCZSRk1oajw1ZDBFQD4oV256WmNtdGhNc1VZWW9FZFJwMncKejUyTWQheEx5
M0s5Q0VUOUl9JHFoKnhhNnFZaUppcyQrTHJiTCV6ZmclUlkmb0IlWFlsO2V9KWJeYlJnRHZ4ZDsq
CnpfI2VsUjJnQUgra2luYVFQT1ZZQF5RZ3NKVUsoeUltaXl8KEk+Z2ZjemQhfSZZRi1hOWdHQnto
UnQ5I3Y4Kio3Ugp6V2dAI3V2WGVBI1RNe2wleklISnhnTm0yM1l9MjZta1h3K1BzPF9TMXshWnlE
T2oxX1p6Tj18eEhiQXtYMHk4TGQKekYlJXUwKiFiKU1iemxIP2dnRz8zaz9sQCRfckQ9MkJOQEBt
X1clckkjZT4oNTRwSXY9KlMoM1pWK1Z3eXU0eD5QCnojOz5xUSVOX2BTQkQxbko8UU5sNmMjRyhi
Vyk+eXJlKmphbmpJLTRZaU5sM1Ulby1zfmNmN2YpNiVjTmpXUl8yYgp6ZHZgQEJWNmtMMl5WV084
b0hhNHdAQnR4SiUyWVc/SS1kVGJ0ZHk2dD9YanRydlA/SnVkalNUeUsyRXk5cDJ2a0AKekNSVilo
bV5aQF8qZipCVHUmcVNYOV4tZDE/e3szfl9vQnY3ZlcrbHlWRTY9JmUpcGpFJkc/QWtXZihXWjt1
OTd7Cnp1bileMEdGZFlfOSZkdXBzN2JtUlh2bkZpSnlPbmNkI0VtP2RUdylMcUp2RVMtWWcyRTQr
LVl+dWppTXoxTzU9dAp6QTdtS0d3aVhzdVlnb2RtODEyWk0qdEgwZDt6UzREOEQ/JF5RQXFTQmJj
QGY3P0pIS0FGRHM4akFybztTQV8kUDwKemZjQzthQmd0WSZiRmFTNCN2K3c3dmV4UDtyWWtZWVR2
QlBzWENZZnNTYXwjbjhLQ3FJRXJpZGdYXzd5UyZ0KllXCnpUYXZ4OyUxVGQqaHttPDd0WWRrWC04
a0RtcUFfYTItU0wjUzMlZGFFe0FLY0JmZ3U9OFBmdFZUKH4kPyRedWJ6eQp6SC1EJFZDbHdkNyo7
a0IkR3kyNmtlMktGcXVgS3V6V2dtezttdT4kRiR6Z2x3Njc9Tz0pRW81dHd3Jlhfc0ojTTgKekEj
PHw2ekZyOSNjKUFmYms5cmtBQmp6O00wIy1eO1I1Wks7PzslNzdpO0lpWFVeTnU0TmQ4czB2dCQt
OXllTz5GCnpJVSNWcnY7RHAkWFBkLWk4UHlheXAzK3BAQngzcUBjUjYpdURYYzs7eDR8MUJWb31q
UmtiVGZFUFV4fXtkZnpreAp6K2NVbldZYktJVGI0MjwmczloSGcyMnNLMTxLbktMSDQ5OTBXXylS
MGt1aFpRaFQ1NDI2JkR1NWxDeVBEPTBpZU4KeitlfGVWQmtQV2pBTXg8MHFFc2U0ajxtR240Iyl5
d1NiX0g8UkpMPWBTPnpqSSg2KXpvbCleaitodnlCYWY0alJXCnp8TCR2SXswTmI8JjNMQUV1eiUj
WCFRez1ePF48d3opKUQtRmk+ISRDeEghWSpFVjhQPVdtMU81YDtJY2dzVDtkegp6Ryg3YEAxVE4t
TDtfcXNuTX05aVp2Oz1FSVF8XjAhVn0lRHpFcGRSP3FZVD42ZnNHe3d0fUBaRWJHMEdNbVB3ZXkK
emc4SGZrMmg0QihzRWZteyQoWCRgUTxTKzBEM09tZnN6aVMxRl9PT3U+UV5qdWlVYn5YMmZrQyMm
MWJjYEtCZWNICno8ZHFXTSU0ZiljN0dRdz1nYj1mQmFsZk5LdEZaOV8rSG1YcVklOXxlcVZkZzUy
PyNTRitfO0R2OVVFKHNjOHRMSwp6Nkc9VU1KPntTblNGcS1sLTQ5IzNYMFItUDB3RnhnOFE+Qmxl
MVlrZWppcGo7M0U+U2s4ZExXMTRZdz9IMGhQXz0KYWIzKDQoX1pzYStEKShWWTl9Z3xCQ1JaWTM4
dSZqbCNfN05TCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0No
YW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQxNTIzMDguLmU2NzU3Y2EgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjEgQEAKKzIwMTAtMDktMDkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiB1c2Ugc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHJlc291cmNlIHR5cGUgaW4g
ZXh0ZW5zaW9uIEFQSQorICAgICAgICBGaXhlZCBSZXNvcnVjZS5UeXBlLnRvU3RyaW5nKCkgdG8g
aGFuZGxlIFJlc291cmNlLlR5cGUuTWVkaWEuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NTI4NgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9leHRl
bnNpb25zLXJlc291cmNlcy5odG1sCisKKyAgICAgICAgKiBFbmdsaXNoLmxwcm9qL2xvY2FsaXpl
ZFN0cmluZ3MuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2
ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5f
Y29udmVydFJlc291cmNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIu
cHJvdG90eXBlLl9idWlsZEV4dGVuc2lvbkFQSUluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJl
c291cmNlLlR5cGUudG9VSVN0cmluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2Uu
VHlwZS50b1N0cmluZyk6CisKIDIwMTAtMDktMDkgIEtyaXN0aWFuIEFtbGllICA8a3Jpc3RpYW4u
YW1saWVAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1dl
YkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGMyNmMxNWZkOTZi
NTU3MGExOWY1ZDI4YmMzYmRmOGM5NzQ3ZjJhMTYuLjI4Y2RmMWFmYTFjOWUwZmQ1ZGU2MWFhMTNj
MTljNWY2ZWEzNjRlNWMgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgNDIKdGNtZG4/akgl
JXsofXdkQShrVHA/NDJjWCU0NnpJZjQ3TmI1I05mLTIkXmFKS3lkWXYpNmFXK1UzJjgqWQoKZGVs
dGEgMTQKVmNtWnA4JmF+fHIofXdkQW48WFJEcVgwSiQyRV9tWAoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCmluZGV4IGY0MTBkOGMuLmJkZjNhMjUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIu
anMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcwpA
QCAtMTAzLDcgKzEwMyw3IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBl
ID0gewogICAgIHsKICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgIGlkOiByZXNvdXJjZS5p
ZGVudGlmaWVyLAotICAgICAgICAgICAgdHlwZTogcmVzb3VyY2UudHlwZSwKKyAgICAgICAgICAg
IHR5cGU6IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKHJlc291cmNlLnR5cGUp
LAogICAgICAgICAgICAgaGFyOiAobmV3IFdlYkluc3BlY3Rvci5IQVJFbnRyeShyZXNvdXJjZSkp
LmJ1aWxkKCksCiAgICAgICAgIH07CiAgICAgfSwKQEAgLTMyMSwxMCArMzIxLDIwIEBAIFdlYklu
c3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogCiAgICAgX2J1aWxkRXh0ZW5z
aW9uQVBJSW5qZWN0ZWRTY3JpcHQ6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIHZhciByZXNv
dXJjZVR5cGVzID0ge307CisgICAgICAgIHZhciByZXNvdXJjZVR5cGVQcm9wZXJ0aWVzID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5TmFtZXMoV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUpOworICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc291cmNlVHlwZVByb3BlcnRpZXMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgICAgICB2YXIgcHJvcE5hbWUgPSByZXNvdXJjZVR5cGVQcm9wZXJ0aWVz
W2ldOworICAgICAgICAgICAgIHZhciBwcm9wVmFsdWUgPSBXZWJJbnNwZWN0b3IuUmVzb3VyY2Uu
VHlwZVtwcm9wTmFtZV07CisgICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wVmFsdWUgPT09ICJu
dW1iZXIiKQorICAgICAgICAgICAgICAgICByZXNvdXJjZVR5cGVzW3Byb3BOYW1lXSA9IFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKHByb3BWYWx1ZSk7CisgICAgICAgIH0KKwog
ICAgICAgICByZXR1cm4gIihmdW5jdGlvbigpeyAiICsKICAgICAgICAgICAgICJ2YXIgcHJpdmF0
ZSA9IHt9OyIgKwogICAgICAgICAgICAgIigiICsgV2ViSW5zcGVjdG9yLmNvbW1vbkV4dGVuc2lv
blN5bWJvbHMudG9TdHJpbmcoKSArICIpKHByaXZhdGUpOyIgKwogICAgICAgICAgICAgIigiICsg
V2ViSW5zcGVjdG9yLmluamVjdGVkRXh0ZW5zaW9uQVBJLnRvU3RyaW5nKCkgKyAiKS5hcHBseSh0
aGlzLCBhcmd1bWVudHMpOyIgKworICAgICAgICAgICAgIndlYkluc3BlY3Rvci5yZXNvdXJjZXMu
VHlwZXMgPSAiICsgSlNPTi5zdHJpbmdpZnkocmVzb3VyY2VUeXBlcykgKyAiOyIgKwogICAgICAg
ICAgICAgIn0pIjsKICAgICB9LAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2UuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2Uu
anMKaW5kZXggMDZhNjEwZC4uZGU4NzA0NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Jlc291cmNlLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZS5qcwpAQCAtNTIsMjQgKzUyLDMzIEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBl
ID0gewogICAgICAgICByZXR1cm4gKHR5cGUgPT09IHRoaXMuRG9jdW1lbnQpIHx8ICh0eXBlID09
PSB0aGlzLlN0eWxlc2hlZXQpIHx8ICh0eXBlID09PSB0aGlzLlNjcmlwdCkgfHwgKHR5cGUgPT09
IHRoaXMuWEhSKTsKICAgICB9LAogCisgICAgdG9VSVN0cmluZzogZnVuY3Rpb24odHlwZSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLlJl
c291cmNlLlR5cGUudG9TdHJpbmcodHlwZSkpOworICAgIH0sCisKKyAgICAvLyBSZXR1cm5zIGxv
Y2FsZS1pbmRlcGVuZGVudCBzdHJpbmcgaWRlbnRpZmllciBvZiByZXNvdXJjZSB0eXBlIChwcmlt
YXJpbHkgZm9yIHVzZSBpbiBleHRlbnNpb24gQVBJKS4KKyAgICAvLyBUaGUgSURzIG5lZWQgdG8g
YmUga2VwdCBpbiBzeW5jIHdpdGggd2ViSW5zcGVjdG9yLnJlc291cmVjZXMuVHlwZXMgb2JqZWN0
IGluIEV4dGVuc2lvbkFQSS5qcy4KICAgICB0b1N0cmluZzogZnVuY3Rpb24odHlwZSkKICAgICB7
CiAgICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgICAgY2FzZSB0aGlzLkRvY3VtZW50
OgotICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoImRvY3VtZW50
Iik7CisgICAgICAgICAgICAgICAgcmV0dXJuICJkb2N1bWVudCI7CiAgICAgICAgICAgICBjYXNl
IHRoaXMuU3R5bGVzaGVldDoKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJzdHlsZXNoZWV0Iik7CisgICAgICAgICAgICAgICAgcmV0dXJuICJzdHlsZXNoZWV0
IjsKICAgICAgICAgICAgIGNhc2UgdGhpcy5JbWFnZToKLSAgICAgICAgICAgICAgICByZXR1cm4g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJpbWFnZSIpOworICAgICAgICAgICAgICAgIHJldHVybiAi
aW1hZ2UiOwogICAgICAgICAgICAgY2FzZSB0aGlzLkZvbnQ6Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiZm9udCIpOworICAgICAgICAgICAgICAgIHJldHVy
biAiZm9udCI7CiAgICAgICAgICAgICBjYXNlIHRoaXMuU2NyaXB0OgotICAgICAgICAgICAgICAg
IHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoInNjcmlwdCIpOworICAgICAgICAgICAgICAg
IHJldHVybiAic2NyaXB0IjsKICAgICAgICAgICAgIGNhc2UgdGhpcy5YSFI6Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiWEhSIik7CisgICAgICAgICAgICAg
ICAgcmV0dXJuICJYSFIiOworICAgICAgICAgICAgY2FzZSB0aGlzLk1lZGlhOgorICAgICAgICAg
ICAgICAgIHJldHVybiAibWVkaWEiOwogICAgICAgICAgICAgY2FzZSB0aGlzLk90aGVyOgogICAg
ICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJvdGhlciIpOworICAgICAgICAgICAgICAgIHJldHVybiAib3RoZXIiOwogICAgICAg
ICB9CiAgICAgfQogfQpAQCAtNjAzLDcgKzYxMiw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVybCwKICAgICAgICAg
ICAgICAgICAgICAgICAgIG51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAxLAotICAgICAg
ICAgICAgICAgICAgICAgICAgU3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLldhcm5pbmdzLklu
Y29ycmVjdE1JTUVUeXBlLm1lc3NhZ2UsIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvU3Ry
aW5nKHRoaXMudHlwZSksIHRoaXMubWltZVR5cGUpLAorICAgICAgICAgICAgICAgICAgICAgICAg
U3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLldhcm5pbmdzLkluY29ycmVjdE1JTUVUeXBlLm1l
c3NhZ2UsIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvVUlTdHJpbmcodGhpcy50eXBlKSwg
dGhpcy5taW1lVHlwZSksCiAgICAgICAgICAgICAgICAgICAgICAgICBudWxsLAogICAgICAgICAg
ICAgICAgICAgICAgICAgbnVsbCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7Cg==
</data>
<flag name="review"
          id="56206"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>