<?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>45953</bug_id>
          
          <creation_ts>2010-09-17 02:48:26 -0700</creation_ts>
          <short_desc>Web Inspector: [Extensions API] Expose access to resource bodies</short_desc>
          <delta_ts>2010-10-19 02:44:19 -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="Andrey Kosyakov">caseq</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>280588</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-09-17 02:48:26 -0700</bug_when>
    <thetext>Extensions API currently offers resource meta-information in HAR format, but skips the bodies for efficiency reasons. It is suggested to expose a separate webInspectror.resources.getBodies(resourceIdList) method for extensions to access the resource bodies.
Ideally, we would use blobs to return the bodies. However, it appears that blobs are not fully functional yet, so it is suggested to return strings, using base64 for binary resource types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289639</commentid>
    <comment_count>1</comment_count>
      <attachid>69793</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-10-05 08:52:47 -0700</bug_when>
    <thetext>Created attachment 69793
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290139</commentid>
    <comment_count>2</comment_count>
      <attachid>69793</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-10-06 01:33:42 -0700</bug_when>
    <thetext>Comment on attachment 69793
patch

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

&gt; LayoutTests/inspector/extensions-api-expected.txt:63
&gt; +        getBodies : &lt;function&gt;

We should be consistent in naming either body or content everywhere.

&gt; LayoutTests/inspector/extensions-resources.html:98
&gt; +        return (a.response &amp;&amp; a.response.content || &quot;&quot;).localeCompare(b.response &amp;&amp; b.response.content || &quot;&quot;);

please embrace the &amp;&amp; expressions in bracketsю

&gt; WebCore/inspector/InspectorController.cpp:2095
&gt; +void InspectorController::getResourceContent(unsigned long identifier, const String&amp; encoding, String* content)

I&apos;d rather pass it as a boolean flag. We&apos;re not going to support other encodings any time soon.

&gt; WebCore/inspector/front-end/ExtensionServer.js:297
&gt; +        if (typeof message.ids === &quot;number&quot;) {

I don&apos;t think we should support non-array values for the field called ids.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290168</commentid>
    <comment_count>3</comment_count>
      <attachid>69912</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-10-06 03:12:23 -0700</bug_when>
    <thetext>Created attachment 69912
patch to land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290169</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-10-06 03:16:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 69793 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69793&amp;action=review
&gt; 
&gt; &gt; LayoutTests/inspector/extensions-api-expected.txt:63
&gt; &gt; +        getBodies : &lt;function&gt;
&gt; 
&gt; We should be consistent in naming either body or content everywhere.

Done.

&gt; 
&gt; &gt; LayoutTests/inspector/extensions-resources.html:98
&gt; &gt; +        return (a.response &amp;&amp; a.response.content || &quot;&quot;).localeCompare(b.response &amp;&amp; b.response.content || &quot;&quot;);
&gt; 
&gt; please embrace the &amp;&amp; expressions in bracketsю

Done.
&gt; 
&gt; &gt; WebCore/inspector/InspectorController.cpp:2095
&gt; &gt; +void InspectorController::getResourceContent(unsigned long identifier, const String&amp; encoding, String* content)
&gt; 
&gt; I&apos;d rather pass it as a boolean flag. We&apos;re not going to support other encodings any time soon.
&gt; 

Done.

&gt; &gt; WebCore/inspector/front-end/ExtensionServer.js:297
&gt; &gt; +        if (typeof message.ids === &quot;number&quot;) {
&gt; 
&gt; I don&apos;t think we should support non-array values for the field called ids.

Agreed offline to leave it as is. The idea is that we want to support array of ids to reduce latencies on roundtrips when processing large number of resources, yet uses cases when once requests a single resource id are probably equally frequent, and while it wouldn&apos;t be hard for a user to write &apos;[ id ]&apos;, it may be a bit counterintuitive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291628</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-10-08 07:03:53 -0700</bug_when>
    <thetext>Manually committed r69185: http://trac.webkit.org/changeset/69185</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294099</commentid>
    <comment_count>6</comment_count>
      <attachid>69793</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-14 07:19:11 -0700</bug_when>
    <thetext>Comment on attachment 69793
patch

Cleared Yury Semikhatsky&apos;s review+ from obsolete attachment 69793 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69793</attachid>
            <date>2010-10-05 08:52:47 -0700</date>
            <delta_ts>2010-10-14 07:19:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>resourcebodies</filename>
            <type>text/plain</type>
            <size>31523</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NmFmODU3Li40ZThhNmU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMTAt
MDUgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBbRXh0ZW5z
aW9ucyBBUEldIEV4cG9zZSBhY2Nlc3MgdG8gcmVzb3VyY2UgYm9kaWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTk1MworCisgICAgICAgICogaW5z
cGVjdG9yL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9l
eHRlbnNpb25zLXJlc291cmNlcy5odG1sOgorCiAyMDEwLTEwLTA1ICBTYXRpc2ggU2FtcGF0aCAg
PHNhdGlzaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtYXBpLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWFwaS1leHBlY3RlZC50
eHQKaW5kZXggZmRhMDg0Mi4uNTdjNDE2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0CkBAIC02MCw2ICs2MCw3IEBAIFJVTk5JTkcg
VEVTVDogZXh0ZW5zaW9uX3Rlc3RBUEkKICAgICAgICAgZ2V0QWxsIDogPGZ1bmN0aW9uPgogICAg
ICAgICBnZXQgOiA8ZnVuY3Rpb24+CiAgICAgICAgIGdldFBhZ2VUaW1pbmdzIDogPGZ1bmN0aW9u
PgorICAgICAgICBnZXRCb2RpZXMgOiA8ZnVuY3Rpb24+CiAgICAgfQogICAgIG9uUmVzZXQgOiB7
CiAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1leHBlY3RlZC50eHQKaW5kZXggMTc5
ZDNjYy4uM2IxMWRkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMtcmVzb3VyY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0
ZW5zaW9ucy1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0CkBAIC0yMSw2ICsyMSw1MiBAQCBHb3QgY2Fs
bGJhY2sgZnJvbSBnZXRQYWdlVGltaW5ncywgcGFnZVRpbWluZ3MgZHVtcCBmb2xsb3dzCiAgICAg
b25Db250ZW50TG9hZCA6IDxudW1iZXI+CiAgICAgb25Mb2FkIDogPG51bWJlcj4KIH0KK1JVTk5J
TkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJjZUJvZGllcworeworICAgIDAgOiB7Cisg
ICAgICAgIGNvZGUgOiAiRV9OT1RGT1VORCIKKyAgICAgICAgZGVzY3JpcHRpb24gOiAiT2JqZWN0
IG5vdCBmb3VuZDogJXMiCisgICAgICAgIGRldGFpbHMgOiB7CisgICAgICAgICAgICAwIDogMjEy
NjUwNgorICAgICAgICB9CisgICAgICAgIGlzRXJyb3IgOiB0cnVlCisgICAgfQorICAgIDEgOiB7
CisgICAgICAgIGlkIDogPG51bWJlcj4KKyAgICAgICAgcmVzcG9uc2UgOiB7CisgICAgICAgICAg
ICBlbmNvZGluZyA6ICIiCisgICAgICAgICAgICBjb250ZW50IDogIi5zb21lLXN0eWxlIHsKKyAg
ICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfSIKKyAgICAgICAgfQorICAgIH0KKyAgICAyIDog
eworICAgICAgICBpZCA6IDxudW1iZXI+CisgICAgICAgIHJlc3BvbnNlIDogeworICAgICAgICAg
ICAgZW5jb2RpbmcgOiAiYmFzZTY0IgorICAgICAgICAgICAgY29udGVudCA6ICJpVkJPUncwS0dn
b0FBQUFOU1VoRVVnQUFBRXdBQUFCbkNBSUFBQUFsbmpPSkFBQUFDWEJJV1hNQUFBc1RBQUFMRXdF
QW1wd1lBQUFnQUVsRVFWUjRuRzE4YVd3YzUzbi96T3pNN016c2ZTOTNlUitpZUlpa3BFaFJTTW1X
TGNlS2JUbEhIY1d1RXp2Tmw3UW9naDZmaWdKRmdhSm8rNmtGQ2pSQWc3Yi93a2xRRjAxaHVHa1Zx
WElkeWJVczZxWWtrdUlsTHNWZGNzbmwzdmZzN0J6L0R6L082NUhjK1VBczk1aDUzL2U1ZnMvdmVk
Nlh2bkxsaWlBSWtpU3hMR3NZaHFxcW1xWVpoaUZKRXNNd0RNUFFORTFSRkUzVCtGZlROSTdqTkUx
ck5wc013emdjRGszVGFyV2FMTXMybTQybTZYYTczVzYzZFYybmFacW1hVVZST0k0ekRFT1daVlZW
YlRZYnd6QzZycXVxNm5RNk9ZNXJOcHVxcWdxQ0lJb2l3ekEybTgxbXMyRWt1SW11NisxMnU5VnFz
U3pMOHp6SGNiZ0podFJzTnZIQ1pya3dERjNYRGNQUWRaMWxXWlpoR0lxaURNUFFOQTB6cENpSzR6
aE1EeC9oVFlxaVdKYkZnMjAybXlpS2dpQlVLcFZTcWVUeGVEUk5veWpLYnJjekRGT3YxOXZ0TnNN
d2Ryc2Q3MHVTUkZHVXBtazBUYk1zMjJnMDJ1MjJvaWcybTgzbGNnbUNZQmlHb2lpR1lkQTBiYlBa
c0RUNGlhN3J1QzBtUUZFVW1UOUdSWnNYbVR4a2hubXllSmRNbXFJb1NNeG1zK0gzK0lqSXM5MXUy
MncyUVJBd2lIYTdMUWpDd01CQXRWcHROQnFxcWpJTVl4Z0dGcHZuZWNpRXBtbXNXcXZWd3FkdXR4
c3l4RGV4OEhnY0dRT2VxS3FxWVJqNE9kRXNpQVFESTlNakk4Yzdobm50VHhjTGc1dXlMQXVGd2Iz
SUpIRWp2OTlmcjljcGlvSjJsY3RsV1pZWmhuRTZuVHpQTnhxTmVyMnVxaXB1Z2w5QldhQ2xQTTlq
bVhtZTUza2V6MVZWVlZFVXU5M3VjcmxxdFpyMXQwUnVXRHZLdk1nRWlPaUl4aEt6SXBySWtnOHdk
WElYVlZYSjdhd3FrYzFtWTdHWUpFazdPenVKUktMUmFEaWRUcmZibmNsa2ZENmZJQWlRbTkxdTEz
VzlWcXN4RENNSUFzdXlXSGlvQUVWUmlxSm9tc1l3REd5TW9pajhGVVVSaXdLUkV0VWxPZ1U1NHlO
aStXUnU1SUtON0lzTkMwQXNEWmRWeTU5NTdmVjZEY080ZWZQbWUrKzk5ei8vOHorR1lZVERZWjdu
UjBaR1JrWkdob2FHNEU0d2RMdmREajlFVVJUeEdVUU9lQlpVbDZJb1daWmJyWllrU1JBalJra0Vp
TCtZRmZHSUVCY1JJOTc4NHJCWnVBZWU1NjJXK293ZDR3Y1ltY2ZqK2NVdmZ2SDNmLy8zZCsvZWRU
Z2NzVmlzMld4bU1wbk56YzIxdGJYUjBkRm9OTXJ6dkNBSW9WQW9IQTdMc3B6TDVRekRpRWFqRG9l
alZDb1ZpMFZkMTkxdU41UkZrcVJRS0JRTUJpRXVLRFArNGwvTUJJcUFzV0ZXK0JjclFnUklabWhW
ZUZhV1pXZ1grU1dtQkYyQ1loQzkxWFY5WjJkbmRuWjJhV25KNC9INC9mNjl2VDFabGdPQkFNZHhl
M3Q3cXFxdXI2L1hhclYydXowNE9IajQ4T0d0cmEzRnhVVlpsZzhjT09CeXVWWlhWemMyTm5SZGow
YWpvaWp5UEMrS1lpd1dHeDBkSFJnWThIcTlmcjhmTTdRS0JNcUZBZENXQzZ0Zy9aZGNWbHVsUC9y
b0l5eTgzVzZIT2tIdU5wdXQzVzVybW9aLzhUT080NHJGNHV1dnY2NG9TcjFlOS9sOEhNZUZ3Mkdm
enlmTGNuZDM5K0Rnb01maktaZkxpVVFpa1VqazgvbmUzbDVZWUxGWXpHYXo1WElaSGxXVzVYZzhQ
alUxTlR3OHpEQk1QcCtuYWRydjkvTThINC9IM1c2M0tJcnhlRHdhalhJY3ArdTZMTXVWU3NYbGN1
bTZYcTFXb2RYUUJTSU1DQloyUVF4NFA0UVFyME9jT0pRRVZ2R01pVzV2YjFlclZWM1hGVVZwTkJw
WWRWVlZoNGFHc3Rsc0twWHllcjA5UFQzOS9mM2QzZDNWYW5WemMzTnZieStWU3VWeU9SaW5ydXU0
ZWJsY3ptUXlUcWRUMS9Wa01wbkw1WFJkRndUQlpyUFY2L1ZtcytuMWVzZkd4czZjT2ZQODg4K0xv
dWgydTNWZDV6ak83L2RqQW9xaVFQdXNVeUllRkZQYlJ3SzBKZkxBQVBBOXErcHpISWZWeW1henhH
c3BpZ0svVWk2WEh6MTZKRWtTeDNGNDArbDA5dmIyZG5aMlFyQzZycmRhTGNSWXNvNkZRbUZoWVdG
M2Q5ZG1zeFdMUlFpWjUzbTczVzYzMjFtVzNkcmFTaVFTOC9QenM3T3ozLzN1ZHc4ZVBOaHF0ZkRv
U3FVaUNBS1JrRFVRWUJFaFZmaFUxckJjVmdEUmJyZGhxTVNoSWFCbHMxbThDZDFHckcrMzJ3UWhZ
VjFLcGRMaTR1TGEydHJrNUdTOVhvY2NLcFVLNW1tMzJ5bUthalFhK1h5K1VDZ2c1RElNSTRvaVFC
ekRNQTZIUXhURmJEYWJTQ1RxOWZxaFE0Y09IanlJUnp1ZFRrM1RYQzRYNEFTeFE2dXpoTlpBY3Ar
REFTdXNzWVlnTWtuZzFmWDE5V2F6Mlc2M2VaNG44VkJSRk5nTVlBRG1nSDhybFFyMEJUTEhHdU51
VUEzNEdFZ0FrbFFVcFZLcDVQTjVqOGVER05ob05CS0pCT0F4VkJTQnFsZ3M0bGxFT2EyS1NadTRs
N1hhMnpPT2kzd2JyMlZaTGhhTEd4c2JCRHJqcWJpUkxNdE9wNVBnZFNBWXQ5dGRLQlRJU2tQNFdC
VGdac3dUWUpDb0djd1NDMGRSVkx2ZHJ0VnF4V0tSb3FpT2pvNTZ2ZDVxdGVyMU9zSWVGSWMyTVRv
SkIwQ2R1Q2RyeFFwV1Iwd3NrOERhWnJPWnorZVR5U1JOMDVJa1NaSlVxOVhnZmdWQkNJZkQwQWlH
WWR4dU4vS0dTcVhpOFhoZ3BiUUpYOXZ0TmxBUkFoWGNHOC96VVA1V3F3VTVRK3dZcnRQcDNOblpX
VmhZaUVRaWdpREFjQ2lLaWthamxVcUZ3RjNFUm93V2Q4UGtuNEoxVmdzbVlzUWs4ZmhxdGJxMXRk
VnV0OTF1dDl2dGhzcEpraVNLSW9UWmFyVmtXU2JRbWVmNWFyVktWQWpvL0JtOEJ1TmhHQVpBRCtD
V1lSZ0FRTnlOb3FpYk4yLys1Q2MvZWZMa3llVGs1T2pvcU0vbkt4UUs5WHFkUkF2YzhJdmhnQUoy
cFUxQWg5a1RjQ2NJUXJQWmhFcGtNaG1QeDFNcWxUaU84M2c4clZacmIyOFBvYlhaYkJZS0JTSWlF
b2cxVFZOVmxlTTR1RVJKa21DV0hvK251N3Y3MUtsVEhvL0hicmRuTXBtSER4OHVMeTlEc1JHZm9i
R3lMUE04NzNLNTRJYzJOalorL09NZmQzZDMvOG1mL01taFE0ZmNibmU5WGlmNmlWbGdnYUNySkp5
d0JCblFUK005aG1HcTFTckJWajZmcjlsc3JxeXMxR28xQWswTncyZzBHbzFHQTZPeG9tY1NEQW5D
YWphYkZFVU5EZzUrNjF2ZmV1MjExd0tCZ05QcFpGbTJYQzQvZWZMa3pwMDdGeTlldkhuekptTW1h
TFZhelRBTWg4T2g2M3FwVklLM3AyazZtVXgrOE1FSGtVaEVGRVdIdy9GTS9tQU4rNStEQVpMRldN
RUFIR0M5WHZkNFBPMTJHeTcrOGVQSDE2OWZSOEFrd29jL0ZBUUJWb2VJMG1xMWNGdWd0bmE3N2Zm
N2p4MDdkdWJNbWFtcHFXQXdpUEFGNndvR2c3RlliSHg4ZkhCd2NIeDgvRmUvK2xXdFZxTW95dXYx
MXV2MXZiMDlTWks2dXJvcWxRcHVXNjFXTDF5NDhPYWJiNGJEWWJneDZ5Uy82RGdwaW1LeDJBUWxr
SVVoNndHM3ViVzE5ZkhISHk4dExUbWRUaVM0UkU4UTkxcXRGdWFQcDlydDltQXc2UGY3anh3NU1q
bzZPalUxRlkxR1lmeGdPb0FOY0N1SHcrSDMrNy82MWE5T1RVMk5qWTFkdkhqeDAwOC9iYlZheUU1
VVZTMlZTZzZIUTFWVkdHRW1rMG1uMDdGWURBKzFZaDJNMlRwSm1xWlo0dDhKSk1CWFZWVVZSUkVx
MTI2Mzc5NjllL1hxVlF3TG5sMlNKT2dQYnRUVDArUDFlajBlRDVUVDQvSDA5ZlYxZFhXOTl0cHJa
QVU1am1OWlZwYmxVcWtVQ0FRTXd5Q2NDSExscnE2dUgvemdCNGNQSDM3Ly9mY3ZYYnBVTHBjRlFk
QTByZFZxd1lCcnRSclA4NjFXYTNaMmRueDhuQ0NRWjVTV01yTlRpR28vbjhSYkpJV0RFMmRaRmpS
VXJWYTdmLy8rOXZZMkxBUmVudWQ1bjg4bmlxTFA1d3NFQXJGWUxCZ01SaUlSbDh2Rjg3emI3ZTdv
NkFpSHc2VlNTUkFFbnVmaGgzQmJuOCtIOEFPL3duRWNxQk9iemFacDJwZSs5Q1cvM3o4eU1uTDE2
dFU3ZCs3SXN0elgxNWZQNXdPQmdLSW9GRVVwaXZMWlo1OUI4aVJCc2M2VHNwQUpORTJ6UkltSkpQ
RTludWVoUzVJa2JXeHNKQklKT0d2SU1CQUlEQThQZDNkM2U3M2VlRHplMWRYRmNad2tTVTZuVTVJ
a1VCdmdwaHdPQjVZUHRxcHBHc2hCeE5KOTJNV3kwQm84dlZ3dWk2TDQybXV2alk2Ty92TS8vL09W
SzFkS3BSSkU3WEE0NnZXNnJ1dVpUT2IyN2RzOVBUMCtuNDlNejdBd0cxWWFnU1VFanpWamh1VlVL
aFc4eUdhemhVTEI2WFNtMDJtZTUvMSsvOFRFeE1tVEo3dTd1eEVuZzhGZ0tCUUNFb0pIWVZsVzEv
VkdvMkczMnhWRkFYN0F4UEExd0YzRE1CQWVSVkcwMld5dFZrc1FCSWZEZ2ZqcDgvbUN3U0J5Rkla
aElHMVpsaUdsaHc4ZlF1YTBtWEJhRGZLcGRBUnJqR2ZEcWJJc0MvMEJlYk83dTh0eFhDQVFxRlFx
VHFlelhxOGZQbno0bFZkZU9YTGtpTWZqY2JsYzhYZ2NZaWZUdzYzaFFrbmVvQ2dLd2RNa204UDZh
cHFHM0FwZlEwQnl1OTFlcjNkd2NMQy92OTh3REkvSGswd21YMzMxVlFnOG1VdytlZkprZm40K2s4
azBHZzA4RkpRYVFqZHRJVFQybjBTMGxNaGRGRVVvbU4xdUQ0ZkRTR1RCNVJ3N2Rpd2FqYklzRzRs
RUVBOWdWNFJsZ3hKaTdheFlpb0JKNjBPdGwyRVlQTThERzBFTFJrZEhEeDgrM05IUkFRTmpHT2Fk
ZDk1QllnbXhBOThERENQQWdvYUcvZU12UXlqelo5d3NJU0FFUVhDNzNXQXJHSVpCK2k5Smtpekxk
cnRkRkVYRHpNZVJDc0xrb0FVZWo0Y2dCK3NLR3BZMDF3cVNDY1dHck44d2pMNit2aE1uVG95T2py
YmI3ZjcrL21xMU9qTXpNejA5SFl2RkVva0VRQklTUzhwayttRDJWdWkyUDhsbjFwV3NoOTF1eDdl
RHdTQ1NQVW1TWUxTQTdCUkZRVmRiVDE4a255WVNmb1pOc3pvNXE2aUJiNTFPcDkxdUIvL1UyZGs1
T2pvYURBWnBtbDVlWHE3VmFpTWpJOFBEdzVGSVpHVmxKWi9QSTFBVG5wSGdXSEx0SnpoazBzVEh3
dldwcWdyNGV1REFnWEE0VERJTUVNR05Sa1BUTkVtU21zMG1TWE53UStncVlCRDlCYXovVEV3akY4
Rk0wRnNBR2ttU09qczd6NTQ5dTc2K1BqOC9mK2ZPblVLaHdISGNxNisrMm1nMGxwZVhLNVVLWWcv
S0xjQVAxbVZsaU1PMVhsZ01XWmFyMWFxbWFSNlBaM2g0T0JnTUlxeGhBb2pnbFVxbDJXeFdLcFZH
bzlGc05sdXRGb2FJREFPRkVIS1J4U1poMmpvOUtBaDBwMTZ2SS9kSGN1eDJ1OCtlUFh2bzBLRlNx
WFR4NHNWQ29iQzd1OXRzTm4wKzMvTHljaktaVkJRRklCRUIzSm82NjdyKzFEK2s0SU1McmgvOHYy
RVlLR09CZlNrVUNpQjc0Qmp0ZG51bFVxbFVLdFZxdFZhclljS0tvaUIyazRzQUR5andNL01FQ0tI
TTBwQXN5NmdtSUl4RklwSGYrcTNmNnVqb2VQejRNVmI1OHVYTDI5dmJHeHNiQ3dzTGUzdDdnaURB
RkFsWC9qbDJ0VTZTc29CWUNNVGhjRGlkemthanNiMjluVTZua1grNVhDNFFkdkY0SFA0TkdUTWNv
Slg4aHo4a3NaZE1oakxSbFZXU21LU2lLRDZmejJhendlQVpzNExTYXJWR1JrYjYrdnFheldheFdB
d0dnNDhlUGRyYjJ6dDgrUER5OHZMdzhIQTBHc1hTd0F0YTZhdDk0TVpZV0Vrays0cWl1TjN1YXJW
cXM5bENvZERzN0N3a3c3SnNNcG5NNS9PcXFucTkzb01IRDFJVUJTRWpncXVxNm5BNGtDc0hnMEdH
WVNxVkNydzBTYVlocm1LeENKV0dTUVBXTmhvTlNFK1NwSFE2VFZFVUdNQnl1Znpnd1lOSGp4NXhI
SmRPcHdPQkFOaWRsWlVWbG1XZFRtZEhSd2ZvUWl3V0tCVmNMQlllYjFGbW1BWTZKNWE1c3JKeS8v
NzlUQ2FqNjNvNm5VYmt3SUxCUXlDMUkzVTdWVlZoV2dCb2tpUWhGMnMybXh6SE9Sd09lQlNQeDRN
blF1YUtvcWlxR2d3R204MG1ZbGcrbjkvWTJPanA2VGw2OUdpejJVd21rNlZTU2RkMVFCU1daWnZO
WnIxZVgxcGFNZ3hqZkh6ODJMRmprVWhFbHVWQ29ZQlVjMStTRUIxaktSREFRU0dqcDJtNlZxdmR2
WHYzeG8wYm1Vekc2L1ZtczltQmdZR2hvU0dmejlmWjJRbEtHN1huVnF1RmVGaXRWajBlRDh1eTBH
cFM5QlZGRVdsS3NWaVVaUmw0QS9rcUZnV2hHTkVMQTVpYm04dG1zMGVQSGwxZVhwNmZud2RHNys3
dWJyVmE0WEI0ZTN1N1ZxdXBxcHJQNTR2Rm9xcXF3UDEydTkzS1hUMWxrekJXVEJ1Sk9jL3orWHgr
WVdGaGMzTVRFYlhaYkNKOFlSQ1FQSDRpU1JJTVcxVlZmQmtFS1pUVDRYRElzcHhLcFJZV0ZoNCtm
RmdxbGFhbnAwZEdSa2pCcjFRcXdRdGd1V1ZaeGlPV2w1ZDNkbllrU1lKL0xoYUxvaWllUFh0MmFH
aW9VcW44OUtjLzNkN2VoaEVLZ2xBdWwxbVd4Vm9RajgyUytQWk1VRWFJVTFVMWxVcHRibTRDMzJt
YXRyYTIxbXcyRnhZV29MUnV0enNRQ1BqOS9wNmVudkh4Y2FRdjhISlE3RXFsa3MxbXE5VnFzVmhj
WEZ4OCtQQWh0QTQxRWlTaVdFMjRSMW1XNGIxa1dVYU9CcitkeStWcXRacmI3UTZGUW9jUEh4NFlH
TGgxNjlhZE8zZWdkKzEydTFRcUFYVVIwRThneCtlU05MNVFXcVlvcWw2dmwwb2xWVlVCZEhSZHoy
YXp4V0lSU1laaEdBQjlraVNCbTNLNzNXQmZPanM3bDVlWG56eDU0bks1NXVibVZsWldjcmxjT3Aw
RzEreDBPamMyTmo3ODhFTmtFaSsrK09MWTJCakhjZFZxRlhnZEJTK1B4d01HaEtLb2JEYXI2N3JY
NnhWRjhkNjllN3U3dTlldVhkdmUzdlo2dlVoV1pGbHVOcHZvNTBCdS9ibTZXcU16WXlsWmt5RG04
WGg2ZW5vS2hVSXFsVUw2ZzRRRHRKcWlLS2prb0NqZ2REcTd1N3ZENGZDNzc3NHJ5L0tISDM2WXkr
VlNxWlNpS0JnM3lwTFZhbFVVeGUzdGJZcWlvdEhvMXRaV1IwZEhNQmlFNnlMcHBTQUlyVllybDh2
SnNwekpaRnd1MTdGangrcjErdHpjbkNpS0w3LzhzaVJKVjY1Y0FjOENXZ3hCbThUaHo3MHJ3YXRX
ZVdxYUJtd2RpOFZxdGRyVzFsWXFsZEoxSGVER1pyT0pva2hSRkR3RWJBbVU3Tzd1YmpRYS9aM2Yr
WjJ1cnE1VUtvVWc1SFE2S1lxcTFXbzBUWVBJUklxenM3Tno0Y0tGWC8vNjF5ZFBubnpublhlbXA2
ZlJEMExUZExGWWJMVmFjTTdsY2htREdSb2FXbDVlaGd2OHhqZStBWko2ZTN1NzJXenlQQjhLaGNC
M2tSVDg4emhKMHpTb1I2U3pITWNSWmdWTGN1REFnVXdtOCtEQkE1N25RYy9CTVNMblJEK0V3K0hB
cDVxbXpjek1nQlErZi83OCsrKy9YeTZYRVFZMVRmTjZ2YVZTcWErdjcrREJnNElnb0dnbENNTE5t
emNGUVVBMUhpUWdTcFEybTIxblo0ZW02WGE3UFRBd2tNMW1rOGxrTkJvTkJBS0lUTWVPSFd1MzIr
RncrRXRmK2xLMVdrV3N0Z3FNb2lqYm0yKyt5VmlxQ0FRV0Vjb1U0c3BtczQ4ZVBVSVJqakJBYnJj
YlgvRDVmUGw4bmlRY2ZYMTl3V0RRNS9QRjQzRzRvbVF5V2EvWENXak81L095TEkrT2pvNlBqNE9W
THhhTFRxZno0TUdEMFdnVWZvdW02VktwZE92V3JVUWlJWXBpYjIrdnBtbnBkQnIxN0Znc05qSXk0
dmY3T3pvNmhvYUdSa2RIQTRFQWJiTHlHQjZabCszTk45OGsySXBrZEVoRENmWURGYkt5c3JLN3Uw
dkVpRFFLeFN5S292QW1nTTc1OCtkUG5qeloxZFdGZkJvVmRUakdiRGFMMmttOVhyOTM3OTdLeWdw
TjArRndHUHJjYXJXbXBxWWNEZ2VxWnRWcXRWQW9sTXZsQXdjT25EeDVzbGdzenMzTkljREN4MGFq
VVZtV0k1R0lKRW43bXNteVlOdWVza25LMG81RWNnVTRaYWdmNkJtLzN4K1B4OWZXMWdqamhreks2
WFFpTDZsVUtzQ3I3WFlibUFZUGlNVmlMNzMwVXIxZS8raWpqeWlLaXNWaWtVaGtmWDI5djcvLytQ
SGpwMDZkYXJmYitYeGVFQVNvVExQWkJINUFTamsxTlZVb0ZIcDdleWNuSjFWVnZYbnpacVZTUWUw
TXZnRGtvQ3pMS0xDVFZCYVZSWXpCOXAzdmZFYzNhMllrRlVLMFFEWU0yRW5UTklJVndCcE4wNklv
Z2xNQ2VvWWtXWmFOeCtOdnZQRUdYR1dqMFVCVlkzaDRHRkFlWWJDN3U3dFdxK1Z5dVdBd2VQejQ4
VU9IRG9WQ0lhL1gyOS9mNzNRNlVRZ0Q5ZTV3T1BMNS9NREF3T0RnSU1Nd0N3c0w2K3ZydXE2UGpv
NCs5OXh6U0d0Uk1nS1pxSnZ0YUtUVmd3YTViTFZSSW1KSUhGb09ZUTRNREJ3OGVEQ1ZTb0diOG5x
OWRydTlXcTIyV2kyWHl3WDE3dW5wZWVXVlY3Nzg1Uzh6REZNc0ZnRkUrdnY3OC9rOE9QVVRKMDVV
cTlYZDNkM1RwMDhmT0hEZzZOR2pTT0xBcnlOc0lNT2lLTXB1dHlOYUJvTkJ1OTArTURBd01URngv
LzU5dTkzZTFkWGw5L3ZCSHVUeitYQTQzR3ExYXJXYTErc2xaVStTMzlqZWVPTU5vTEJuc2o0Z1FG
SkxROUtFZU5EYjI0dWhkSFoydXQxdXZFZ2tFbU5qWStmT25Ydnh4UmY5Zm4rcFZGSVVCWm9NS09O
eXVUWTJOdGJXMXFMUjZQZSs5NzJwcVNtLzMrL3orVUQ1WVRSZFhWMm90NU9zVFpibHpjM05lRHdP
bnJKUUtPenM3SFIxZFgzdGExOGJHUmxCSStMMTY5ZEJLUm1HNFhhNzBhNWhaZEJ0My96bU4wbVYy
NXJhb1ZTTWdHR1lUWURGWWpFVUNyMzQ0b3VxcXE2dXJxSWF0N3E2V2lnVVhuNzU1ZWVlZTI1aVln
SnJHUTZIN1haN3NWakVjalFhamE5ODVTczlQVDJxcW01dGJjM096Z0pZZ3pjQ2JBSzBBUE9QdWwy
ajBjaG1zeXNySzhGZzBPVnlHWVpSclZieitYeFBUOC8wOUxUZjcxZFY5ZU9QUC83YnYvMWJYZGRS
cDNDNVhPVnlHVjhtYzJFYmpRWkJyZnRtYXJNaGtBQUt3eXdsU1VKM1p6Z2NwaWpxekprekxNc3VM
Q3djUEhqd2hSZGVjRHFkTXpNejYrdnJHeHNiQnc0Y1FPQk9KcFBvN3dFbGtVcWxlbnQ3ejU0OSs4
WWJiK1R6K2QzZFhUaFZraEpBZ0tRSXJTaksrdnI2N3U3dXIzLzk2ME9IRG9HWWpVYWpmL2lIZndo
b0NreHkvLzc5VUNpRUVJQVY5SHE5eUorSTByS0FBU1NFVUNiYlJjZ0l3K3hFWkZsV2txVGJ0MitM
b2pnOFBEdzVPVGs0T0lpMG1PTzQxZFhWWEM3M3dnc3ZrQjVDQUVCRlVicTZ1dGJYMXgwT1I2VlNn
VlY3UEo1NFBJNTZFUVlFSWtMWGRheExQcDlmWFYyOWV2WHFqUnMzUVBPVVNpV2Z6d2RmU3BrTXh1
Ym1aakFZZlBubGw0OGZQKzd4ZUlEcEVmRGdYZmNOa0hyNklsZ0JnZHV3OUwyd0xJdEYydG5aS1Jh
TGZyOC9Gb3NCSjBVaWtjSEJ3WGE3aldLQllSaGdnQVJCNk96c3ZILy9QanErc0Zpam82TW9MWUlL
Sk05Q1hwL0paRlJWVGFmVHE2dXIxNjlmMzl6Y0hCd2NyRmFyZHJ2ZDcvZTdYQzU4TXhBSW9CQStP
RGg0NnRTcFE0Y093UzVJYkdNc3BEWmpKZEZvcytjWFJCQkpGQ21UTVVDTDVQYjJkcVZTUVdLS0pN
dmxjdjN5bDcvYzJkbEJ5dzVRQzRJSDVGYXRWaTlkdWdTOHRyR3hnVENJWEJuRVBHcVBXMXRiNVhL
NVVxbklzdHh1dDNkMmRweE9aendlQjM1QWtvbThES3N2U2RMWTJGZzRIRVlVOFhxOURNT2dNWVRF
RDRxaVRPRHpmL1dBUUpJRUp4aG1jWHR6Y3hPdGNEelBSeUlSWGRjLy9QRERUei85OVBqeDR4MGRI
YUlvb3ViUmJyZXoyV3lwVk1JcTVQUDVuL3prSndBb3dJUHdNZERZY3JsY0xCYlgxdFlXRnhldlg3
K3U2enBxekpGSVpHQmdZSFIwbEhEcUxwZExGTVZHbzFHcjFWd3VWelFhUldvT2VJQXB3RjFUWnBL
ODMxaGtQRjNjTTB3U0dxa25YaUNJalkyTi9leG5Qd05WSVFnQ1dJbkxseStQajQrSFFxRmtNdG5W
MVlYNkxGRlhRSlp3T1B6bmYvN25pVVRpci83cXIzdytIeXdaMmw2cjFWQ2lLUlFLcTZ1clhxKzN1
N3Y3OGVQSDQrUGpJeU1qWHEvM3lwVXJ6ei8vUEVnRFFQOUNvYURyT2h3c1NpUE5ack5VS29GNXNs
b2ZUZFA3QVAyTEYyQTZUQkZvQmg0L0dBeGV2WHAxYVdrSm1lU2RPM2Z1M2J2WGJyY2JqY2JDd3NL
REJ3OGcvRWFqZ1p3QU9TR2F1SHA2ZWo3ODhNTkVJaEdMeFFnY0E2eUQ2NTZibTJOWmRuQndNQnFO
WmpLWjhmSHg4Zkh4Mjdkdi8vVmYvM1VvRkhJNm5kVnFkV05qSTUvUEk0RUczRUh1QmllSDFBOFJn
Y2lNTlo0bTdZbkdBdXpDczVOYUZjTXdrVWprOU9uVC8vVmYvM1g1OG1Xd1ZaVkt4ZTEyKy8zKytm
bDVpcUkrL3ZoanU5M2UzOThQbUpyTlp0SGY4NmQvK3FmdnZQUE8rdnI2KysrL3Y3YTI5dFpiYjNW
MmRsSVVKVWtTNkFLMGZBOE9Eb3FpbUVxbFhuLzlkV1RuOSs3ZFV4VGx6LzdzejM3djkzNnZwNmNu
bjgrSFFxSFIwVkZKa2tDTFFyYWt2TTlZeUVkSWtvV2lBMG1SWmdxYjJkd0RENFQrQTl5Q3B1blRw
MDkvOE1FSFNDbjhmajlTcmNuSnlVYWpzYm01YWJQWnl1WHlyVnUza0ZYelBPOTBPdDk0NHcySHc4
R3k3SGUvKzEyTzQzNys4NS8vM2QvOVhXOXY3OFRFeEsxYnR3WUdCbDU2NlNWQkVJNGVQZXB3T0ZD
UWhISW1rMG5RSmJGWXJORm8rSHkra1pFUlFSREErZ0d2d2pSMHkyWUVlQ1lTQlZuQ2N6Tm1Rdzls
TmtVVGVJVUxWcVFvU2pnY1BuTGt5T3pzTEpMYWNEZzhQajVPR3ZuUUpZYTZpTmZyUFhMa3lBc3Z2
SEQ2OUdrUUgwZU9ITkYxdlZxdC91ZC8vaWZETUYxZFhkLys5cmYvNGkvK1lubDUrUi8vOFI5RG9S
Q2NPVUlMbG1sMGRMU3JxeXNXaS9YMzkvZjA5TGpkYnF3NG5MOWhhU2FuTGRWQlluY1VSZG5lZXVz
dEVqbklEQ0ZTQUJmeUpzcVBJTFdLeGVLMWE5ZEVVUVNkMGQzZFBUQXdzTE96ZzlaT1JWSFFQUEhs
TDMvNS9QbnpKMDZjNk83dXBzMXFERkR4aXkrK3VMYTJkdWZPbldQSGptVXltU2RQbmd3TkRRVUNB
VGhlVVJUaGxuWjNkNzFlNzRrVEo4Ykh4enM2T3VCYUVlaEo1ZVlabmhIenRNWUwyMi8rNW0rUzVJ
TVlxKzNwQzlZTSt4WkZFUlh2eno3N0RML0NIcWE5dlQxZDF5T1JDSDVDVVZRNEhENS8vdnpSbzBk
Qm1lTExDR0xqNCtPcXFrNU1URXhPVGw2NmRLbFlMSjQ3ZDI1a1pDU2J6WVpDSVlaaDBQaU42bUFr
RWtFUXdoeVF0YUk2U0t6dS81d2tlZk9wZlM0a0t0Sm1JeXZranE1dXFDNTJCUFQyOXA0NmRlcnUz
YnMybTYxV3F5V1RTWFFVcUtwYUxCYkQ0VER3NU5iV1ZqNmZoeHVzVnF0Z0pVRjJRRXJmL3ZhM0dZ
YjVmLy92LzRIZDdPenN4Rk9Bem9QQklFaDZ4dXlCZ2gwU1FoUmxjMEp3VzZlZ1d6cTFXSUxkaUVM
dkIxQ1diWnRiaTBqbW91czZBSDAwR2gwZkg3OS8vejVGVVdoaThmbDhQcDh2bFVvMW04MXNObHVw
VkRSTnkrVnlseTlmUnRNTHpKVmhtTjNkM1VRaU1USXljdVRJRVVWUmhvZUgyKzEyUEI3MytYeDQz
K2wwS29xU1NDUldWbFpBNGNEQllIcFFZOHJDK2xzbFpGamFYY2pGa21hTno1RWV3OER4R0dhWENI
UURyeHVOQm9obWxKa0IwTkQ4ZnViTUdmUlU1L1A1dWJrNXQ5dmQwOU1UaVVTUUtNYmpjVTNUc3Ru
czB0TFN2WHYzRE1QNDFyZStGWXZGSGo5K3JPdDZKcE5KcFZMWTJLU3E2dTd1N3BNblQvYjI5amlP
Nit6c0pIVlZaQ2RFUzBIRTBKWW1KTVBzM2JGT2VIODN3VE0rQ3FHR0JGTVNadUNmVVBaSkpwTVVS
U0dyNWpqdThlUEg5WHBkbHVYejU4K2ZPM2Z1M0xsenNWZ01aVHdzLytycTZ2ejh2TmZyZmZYVlY3
LzJ0YThCTGRScU5UU0JYcjE2bGVmNWwxOSsyVzYzNTNJNTlLN3dQTi9iMjRzOG1EU29JUWFDNE5I
TWJRR1VoZnUzVG1kL2tnaUdwRVJKZkE5dDdremI5OEttTVdCV0hvOG5GQW9waWlKSlVxUFI2T3Jx
NG5sK2VYbFpGTVdmL3ZTblY2NWM2ZXZydzZjMm15MGVqMy95eVNkMnUvM2RkOS85eWxlK3NyZTNw
MmxhUHA5UHBWS2hVT2pLbFN0ZXJ6Y1lES2JUYVhCUXlXUlMwN1JVS3RYVDAwT3FsN0I1VkkyYXpT
WXFpK2ludGJvZkROWHFkV2lhWnJXbjkwaDgvb0dweGtScGNhSERKaEFJN096c1JDS1JUQ2FqYVJy
eWtsZ3NWcTFXczlsc3E5VjYvUGh4cFZLcDErdXhXQ3lmejA5TVRQem9SejhhSGg0dWw4dG9EMGtr
RWx0YlcvZnYzMGMxQ2UyaXlXUlNsbVZabGg4K2ZMaTV1WWtPSG83alVxa1UzQS9nSWFBdnRpRWdy
bUpzdXRsYVpqemR5Y0phTVo3Vk1xM2l0aHE2Mys4dkZBb28xb01jUWZvVGlVVFFvREEyTmxZcWxR
cUZ3dlBQUHgrUHg3dTd1KzEyKzhURXhNaklTREtaZExsY3BWTHA1czJiVjY1Y0FmcHRObU9HMUZr
QUFBOTRTVVJCVkp0dXQ5dHV0OGZqOFZRcXRiaTRXS2xVcmwrLzN0L2ZQejQrRHNOQkVnUEt0MXF0
dWx3dVRkUEFJY0ZFNmFlN2VJMm4yNkJZa3UvUWxtMms1Sy8xSS93ZUUvdlhmLzNYZERwZHE5VjZl
M3RCUm1DQkhRN0hLNis4MHRuWitlbW5uM1oyZHY3d2h6OUUvejhXWlgxOS9jR0RCLy83di84cml1
TFMwaElBRFdBVGRLZFNxWHp5eVNlNDFjbVRKd2NHQnRDNDV2ZjdaMmRuWlZrK2ZQZ3d4M0VvalNE
RHRKcmwvM25STk0xYUV4UHI5RWo4cEMzTjIvQ3VkcnQ5WldVRmJaR2hVQWpMakoyd0w3MzAwc0dE
QjJ1MTJzVEVoQ2lLYzNOeitYeCtlWG41eG8wYmlMM3o4L09QSGowNmMrWU1BcjNkYm9jQ2N4eTN0
cmEydTd1N3Q3Zm45WHEvL3ZXdno4ek1RSFE4ejJQTHhOTFNrcy9uaTBRaWFESURIL2xGQmJUaTAz
M25RakpqcS9sUlp0dkZNOHF0Nnpvc0h1MGVZRU82dXJwMFhkL2EydXJzN0N3V2kvLzkzLzhkaVVR
TXc5amEyanA0OE9Cbm4zMEdySWZpNFlFREI0Zy9xOWZyV0RWTTQrN2R1NGdaS0hXZ3lrQlJGUEtt
WURENDNudnZPWjNPMTE1N3JiT3pFMFI3cTlVaVREbVpyVldHeElPeXBFZUpzbXgxb1o2T3R1UmY4
QlJUVTFPLy9PVXZRVlZRRkZVdWwwT2hVTGxjM3QzZGpjZmpEeDgrTEJhTG1xYXRyNi9Mc2x5cjFY
cDZlZ0tCUUwxZVQ2ZlQyR21JOUkraUtGUXZLcFZLc1ZqTTVYSWRIUjNZYitad09Gd3VGellQWXdm
ZTl2YjJyMzcxSzFWVlgzLzlkYi9mai96WUtrUGlIYTNEcHNpV0NUSXI2K3N2VGhLRUVNL3pwMDZk
bXBpWWVQRGdnYVpwaVVRQ1VNSHI5VzVzYkpSS0pacW1jN21jeitkaldUYWRUa3VTUkx4dU1CakUv
aVJzTGdFaDBHNjNVWElFTUo2ZW51N3A2Y0VjR0lZQjJlRndPQVJCV0ZsWlFjU2FucDUydTkyQ0lE
UWFqV2Y4alc3dXV5S1R0UDN1Ny82dWJyYlhNWmFPS2JJRndtWnV2c1h6SEE0SE9zSkRvVkNwVkZw
ZlgwYzdQSnArZ04zaEdPeDJlejZmQnplQjFtTnNoRUpwRFVnTlRoTGxHanh1Ykd6czlPblRnNE9E
c1ZnTVhRNFlkektadkhUcGtxSW9wVklwbFVvaEUzUTZuYkJuaVBRWklYMHVTZmdZMHZwQmZBenBr
aU9LU2xFVUdvZlJubmY0OEdGWmxyZTN0NWVYbDJHOTROUVk4NUFCQkhGaTJOYS9GRVhoU0FIRGJJ
bkF0QU9CZ00vbmkwYWowRWFTY0dEaFFLdUNBZnlYZi9tWCtmbjVyMzcxcXlkUG5vUnhBcW1qWFFO
Qm5reG5IOFZiSi9NTUNId21iRUp6RUVoZWV1a2xsbVV2WHJ5NHRMUzBzYkZCV2RKelRkTlFxMFRV
UWNIUDZzTVEvYUNyU0pFOUhzL0F3QUIydnpxZFRzeWZNVTh0Mk52YmcvMUxrcVFveXU3dUxseng0
dUppZjMvL29VT0hlbnQ3MFk5ZXE5WHE5VHE0K1gyZ1prMnVpV1lUa280a3pjQkRVRjNVNnByTlpr
ZEh4K3V2dno0NE9Iano1czIvK1p1L3FWYXJzaXlqWVJGbFZzM2NjNjFibWtESkMraXFZUmhJdnVG
MWdYTEF4S0xlU05NMHgzRWJHeHZ3a2JWYVRSQUU3RGk2ZnYzNnZYdjM0dkg0ME5EUWdRTUhob2FH
aG9hR3VycTZnc0VnNFFBQTRsbXJ3NFgvQk00QXBpVkJCWDRmYmdEN0pVcWxrdHZ0OXZsOG9GdHRO
cHZENFNnV2k4MW1FNXZ2Q2F4bkxIMGw4T1NvQXNHWWNZWUMrc0JuWm1aQ29aQmhkbWFRTFdlcnE2
dHV0OXZwZEdZeUdXeWhKSVBjM3Q1T0pCS1hMbDJLUkNKVFUxUEhqaDNyNit1THhXSit2eCs5eUt4
dTJhTm1qUzJVcGVuRmVKb3lNY3lxTmVRMlB6Ly9zNS85ckZ3dWQzWjJUazlQUDNueUJPZ0U0ZUdM
bWtLWlBlNk5SZ090ZG1oSG5KeWMvUDczdngrTHhZalYyR3cybENqVDZUUWFYRkVMYUxmYmFHVnh1
VnhvQ0Vla1RhZlQrWHoreG8wYmdpQk1UMDhQRGc1T1RrNzI5L2V6SktXeXpvR3lrQ0J3UDhTSURj
TUEyd2xiUjlYcDRzV0xUcWZUNy9mUHpNdzRuYzVQUC8wVTByYkdYc29zWUlPYklidElBVjltWm1i
ZWZ2dnRreWRQZ2lJQ0x3RUwxSFY5Y1hFUmVSbCthTTJlc2JrR3ZBejhUYlBaYkRRYVAvLzV6OEdi
UktOUnhzclQ0VUl0aEJBODFrOUpXUWFNYUtWU3VYVHAwa2NmZlFRMkhYc0dvV3lVMlN4dlJiL2tX
VFJOVjZ0Vnd6RGdkY2JHeHY3Z0QvN2czTGx6bTV1YjBDRGdVbGhzcFZLNWZmczJNQ0NzQUNrQnFV
d1QvMFNNSHdoSlZkWEhqeDlmdTNadG55bUhmaE9wR3VZaEhTUm1XbWtlNElHbHBhWExseTlmdm53
WlViSFZhbzJQajZONGp2bytGb2owdllEN2c5SWliQVFDQVZtVysvdjcvK2lQL3VqczJiUDFlaDBS
SDRFbkVBaWdMVUdXNVd2WHJsRVVoWm9IR3E0Y0RnZGNJTmt2WnVVcEFjdUFCMjAyMi81K0FXUVNt
Q1FwcEpIT1NreVlZUmhGVWRDRHVyUzB0THE2K3VqUkkrempobHNIbUk1R295TWpJeXNySzZWU0tS
d083KzN0K1h3K1VENG9RcmZiYlpmTHRiZTN0N096ODl4enovM29Sejk2NFlVWHF0V3FxcXArdjc5
YXJUcWRUdUErVGRQOGZ2K0ZDeGZRUFloRlIrNWltSHNZU1JaQ20rME5jR3hvVjlobk13QmxJREY0
Rkt3MzVveGdoWjJEMld3V2ZWa3JLeXRMUzB1NVhLN1JhTURGNDZZb3Y0YkQ0Vzk4NHh1dFZ1dkNo
UXQ3ZTN0dXR4dEZkVXdBQWFaY0xyLzExbHM4ejMvem05OUVPUUF0c29xaUlDdENhY3poY0pUTDVZ
OCsrZ2h3SEo2TXVHaG9MQW55eE1vSUgvczU0Z0dEd0pxbnVKRGtRemZQVGdMcG1FZ2s3dDI3dDdh
MnRyQ3drTXZsVU1xRnJ5T2RQVEI5bG1XbnBxWUNnUUNvalpXVkZVZ21uOCtqbEQ4Mk52YmJ2LzNi
TXpNellFYlFqdWYzK3gwT3g5N2VYaUFRSUJzUGFacis0SU1QMEhacU05dm5OZk9nQkpRM3lRWVVF
dHV0MFo0eVdRN1daaDZpWkUwK0VJNUxwVkkybTBXeSsvRGh3NjJ0TFdBb3FEVFJjQ2loeldZREtL
L1Zha2VQSHUzdjd6OXo1c3l0VzdldVhMbnk2TkVqVlZVOUhzLzN2dmU5ZDk5OWQzSnlFbjRGM1RJ
NDFLUmVyNlBUQW5lbUtPckdqUnZ2di85K3FWUWk4SVVJZ0lBSDJxVGFudEZiYS9CbkdjdlpHU3pM
QW55aVhBRmN1cmk0dUxLeUF2cVkzQWdPVFRWM1k3SG1YaUFVUW1BLzZMQTdlL2JzbTIrKytkNTc3
eVVTaWU5ODV6dm56cDJ6Mld5bFVva3hTNlVNd3pnY0RrVlJ3R3MwR2cydjE0dFRFbVpuWnpjM056
RVpPR3I0WjFnZEFSdTBKY1duekkxd1QzVkprbGVNMmI2RHZkZ1BIanhZWFYyZG01dkRsaWgwYVBJ
OGo0MERKS0lRZ0Fac2pXZWdKUUJOOFlJZ1RFNU8vdVZmL2lXNkNGRHhocE1FK2tOWkdxdURaYUxN
NmoyNkVBazhKQkdJc09NRXNSRDRTWElSeGtJZFA3VkpGT2RScE5QcFRDWnovZnIxOWZYMTlmVjFo
SFVVMGtGa29YK05ZQ3NvakNBSVBUMDlEb2NERGdNZFpsNnZGNTdHWnJPUllpYVlhR0I5ekFyUkM5
cUJTZUx2OVBUMEwzN3hDeFNWeVJsVXVHano2QzJDTjJFN1JKK2hrbEI3bHBpaUxNdnBkSHBoWVdG
dWJtNWpZMk5qWXdQM1Fya0dPL3BoNkJSRmhjTmhkQzJvcWdySVFwdVZCVm1XRnhZVy91RWYvdUhS
bzBjQXNVTkRRL0Y0dkZBb0xDOHZ0MXF0MGRIUnljbkprWkdSVUNqVTI5dUxkbEhOM0l6QTgvenQy
N2ViemViaHc0Y3ZYTGlBT0lIVHh6Uk5RemFMamV2SUU2QzlpSndJajFBVDB2MElsV1pSazFwYld3
UExSRTdjSVlVUWtrUG81bVl6K041NnZZNFVBUWZOTEMwdGRYVjFaYlBaUC83alAzN3c0SUhmNzg5
a01nNkhnM0R0V0l0ME92M0pKNThVQ29Wb05OclIwWEhnd0lIcDZXbWc2a0FnY1BIaXhmZmVlMjkr
Zmo0V2k4RWJ1Vnl1VENiRG1ZZHVZVERnQjlIV1Ixc09BdVBNYll5R3VlR1ZwbWtXMjlrWEZ4ZnYz
Nysvc3JLU3pXWlY4eXc1a3Z0UkpqOUFVUlFjRE82T2xtU080N3hlN3p2dnZETXhNYUZwMnZ6OC9O
Mjdkd0VrME5CRkZNeG03aHBCOVJ2dHZMZHUzZnFQLy9nUEZDVDlmajg2V3lSSnltUXluWjJkdVZ3
Ty9ra3pUMzBoV01vd20rOFFXbFZ6c3pIZWgrL1k5NjdYcjEvZjJOaVluNS9mM054RUxzOVp6cFFn
anBnZ1dBQlhQQWxZajZLb2MrZk8vZUFIUCtqbzZNaG1zNDhmUHdiRGpVUUJaUXpPUE1rUGdSNTRE
VW9GR0l3VmNUcWRsVW9GRlo2ZG5SMTRYYlJody9NQkd5SkVROG54UGxZQm9xYk5zeDFKZEdRLy92
ampYQzZYeVdUUVBzMllKNmdRMXVTWkZLUmVyOE9Yb0xrRFgvdis5NzhmQ29Wa1dVYlRHSHdZRWs3
QVdyVFlZNU1zRUNabEhqdFFyVllGUVlEcWRuWjJwbElwaG1GS3BSSllIeGdoYWlwRW9SQ3hPUE5J
UTl3UWs4U1dDUXlNZEYyeER4NDhRR1RIVVJDa3BxbVptMGZ3THlHVVNMeXExV3JvSU1aT1ZhQy85
ZlgxMjdkdjB6UU5oMG1PbDhCdENRK0NnYUxYSEllandDQXptY3pzN0N3a0dRZ0U0TWFCWmhtelBZ
eHdia0RrRUNsOEJDbWkwalNOSFZINzJKWG9Ia0ZEK0Rhd0NHVnBYQ0xaT3BhVEZNK09IRGtDMFQx
OCtQQ2YvdW1mUHZua0V4eFJoaG96ZkNhNFJoUjJvQWhrYXpiUDh6Z0xyZFZxNGFBdG5ES2w2em8y
aWRJMFRReWJSRDhTSjlHcm9acDc0Y2lSbTJSREdzTXdiREFZUk5BakV0UE5VNnFJWDJVc2xXYVEx
b3Fpa0dUbjFLbFRFTWlQZi96amYvdTNmM081WERBR2RDdUNpZHNuV3N6VFZTdVZpcy9uMjl2Yjgz
ZzhvaWdDOTN1OTNrS2g0UEY0a0lWaER3Yk1HQkFLRHQ5NG12Nm16UTRKbTNud0ptYU9nMS8ySzZ1
SUZvYUZMOVRONmp4dUFkVW45Q1NJQnZCVW9paTZYSzRqUjQ1d0hKZkw1V1puWjNFU0VVVlIxV29W
NUkwa1NiQkp4SDNnYVlRZkVMYm9VNGRwZEhSMEJBS0JSQ0xSMGRFQi9nYWhHSjEzdUJVZ0hrQ2wx
K3ZGZVRwWVB0d2NyclZjTG1ORHJxcXErNVFrZ1VpVVNUUUJHVkpmcU9FQkpXTUV1cTZqN1lSbFdW
UUVFSFd4c2Nubjh5RmVvMnlLd0kzdGQzRDlMTXVpNU43VjFSVUtoVERWZXIzZTM5Ky9zcklTQ29V
UTBDdVZDbnd2eWpDd1RIUmg0WVFaTXVCYXJWWXVsK0d1a1I0QmlyR2srNXl4OE9xR3BTQkxkSU8y
bEkyUVNlUHdSSERrMkd4R0tFYWczTDI5dlVna2d2M3RpT01vaElFUU9uSGl4Q3V2dkRJNU9ZbkpB
RXMxbTgzbDVlWGYvLzNmUnhjLzlrWXo1bUdCMXVVMlRNcmJNRHZLeUR0a0k4YyszTEVPM1FvQVNO
MlMzQlRmTWN5eUQ4cXZ3OFBESE1jMW04M1BQdnRNVVJRSXBGcXRsc3RsTkp6QjE0Mk9qbjc5NjE4
L2NlSUVXbFlvODNSUkdEa3liOW84ZGJSU3FXQ2w0SDRRaEFnWW9DeUhhbUtEcmFxcWRyc2RaNnVn
U3dOTmFhQk9kRjFueWF5c0FBQU9qVXpiZVBwVVZaTDRDSUl3TURBQWM0ZER5dVZ5T0w0WmcvQjRQ
STFHNCt6WnMyKy8vZmJNekF6MjkxSm1md01rUThJQVlHcXRWcnQyN1JwOEk4ZHhicmZiNFhEVWFq
WEVRemhuMmp3WUZhRUl0NExuQnhqQU8zQkNOcHZ0OC80UXpkTFRBblJpalR5VXVXK0xzUDJnWkhw
NmVoQ3lmdmpESDNxOTNnOCsrQUROU242L0gyNGdIbysvL2ZiYnYvRWJ2NkZwR2pZaVl3OGJVU0pW
VlFIMFVEeTIyKzNaYkRZYWpXSmZHRVZSckxsTkJIOUoyUWIyUmxBWFkxYXJNRDNNZ3BSR1dLZ2Za
U25kV1hXWWVwcUp4UzVjR0Vrd0dBd0dnNFpoOER4Lyt2VHB2cjQrcDlQNTcvLys3NkJrQkVIbzd1
NCtkKzdjOGVQSERjUFkyZG5CUVhDS29vQUVRRXVNM1c1SGtxbnJlcVBSZVBqd1lUcWRSaWoyK1h6
WUk0RjBqellKR29Sb1pFaTZyZ01xSUJCZ0lkcnRkcUZRTUV6dTUvOERKYytjVWNoZFREc0FBQUFB
U1VWT1JLNUNZSUk9IgorICAgICAgICB9CisgICAgfQorICAgIDMgOiB7CisgICAgICAgIGlkIDog
PG51bWJlcj4KKyAgICAgICAgcmVzcG9uc2UgOiB7CisgICAgICAgICAgICBlbmNvZGluZyA6ICJi
YXNlNjQiCisgICAgICAgICAgICBjb250ZW50IDogIiIKKyAgICAgICAgfQorICAgIH0KK30KK1JV
Tk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJjZUJvZHkKK3sKKyAgICAwIDogewor
ICAgICAgICBpZCA6IDxudW1iZXI+CisgICAgICAgIHJlc3BvbnNlIDogeworICAgICAgICAgICAg
ZW5jb2RpbmcgOiAiIgorICAgICAgICAgICAgY29udGVudCA6ICIuc29tZS1zdHlsZSB7CisgICAg
dmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30iCisgICAgICAgIH0KKyAgICB9Cit9CiBSVU5OSU5H
IFRFU1Q6IGV4dGVuc2lvbl90ZXN0UmVzb3VyY2VOb3RpZmljYXRpb24KIFJlc291cmNlIGZpbmlz
aGVkOiAuLi4vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwK
IEFsbCB0ZXN0cyBkb25lLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMtcmVzb3VyY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1y
ZXNvdXJjZXMuaHRtbAppbmRleCBkYTk4NzhmLi45ZTczMjk2IDEwMDc1NQotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMuaHRtbApAQCAtNzUsNiArNzUsNDYgQEAg
ZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RSZXNvdXJjZU5vdGlmaWNhdGlvbihuZXh0VGVzdCkKICAg
ICBleHRlbnNpb25fZG9YSFIoKTsKIH0KIAorZnVuY3Rpb24gZXh0ZW5zaW9uX2dldFJlc291cmNl
QnlVcmwodXJscywgY2FsbGJhY2spCit7CisgICAgZnVuY3Rpb24gb25Hb3RSZXNvdXJjZXMocmVz
cG9uc2UpCisgICAgeworICAgICAgICB2YXIgaWRzID0gW107CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgcmVzcG9uc2UubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGZvciAodmFyIHVy
bCA9IDA7IHVybCA8IHVybHMubGVuZ3RoOyArK3VybCkgeworICAgICAgICAgICAgICAgIGlmICh1
cmxzW3VybF0udGVzdChyZXNwb25zZVtpXS5oYXIucmVxdWVzdC51cmwpKQorICAgICAgICAgICAg
ICAgICAgICBpZHMucHVzaChyZXNwb25zZVtpXS5pZCk7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgY2FsbGJhY2soaWRzKTsKKyAgICB9CisgICAgd2ViSW5zcGVjdG9yLnJlc291
cmNlcy5nZXRBbGwob25Hb3RSZXNvdXJjZXMpOworfQorCitmdW5jdGlvbiBleHRlbnNpb25fb25S
ZXNvdXJjZUJvZGllcyhyZXNwb25zZSkKK3sKKyAgICBmdW5jdGlvbiBjb21wYXJlQm9kaWVzKGEs
IGIpCisgICAgeworICAgICAgICByZXR1cm4gKGEucmVzcG9uc2UgJiYgYS5yZXNwb25zZS5jb250
ZW50IHx8ICIiKS5sb2NhbGVDb21wYXJlKGIucmVzcG9uc2UgJiYgYi5yZXNwb25zZS5jb250ZW50
IHx8ICIiKTsKKyAgICB9CisgICAgZHVtcE9iamVjdChyZXNwb25zZSwgeyBpZDogMSB9KTsKK30K
KworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJjZUJvZHkobmV4dFRlc3QpCit7Cisg
ICAgZXh0ZW5zaW9uX2dldFJlc291cmNlQnlVcmwoWy9hdWRpdHMtc3R5bGUxLmNzcyQvXSwgZnVu
Y3Rpb24oaWRzKSB7CisgICAgICAgIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMuZ2V0Qm9kaWVzKGlk
c1swXSwgY2FsbGJhY2tBbmROZXh0VGVzdChleHRlbnNpb25fb25SZXNvdXJjZUJvZGllcywgbmV4
dFRlc3QpKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RHZXRSZXNvdXJj
ZUJvZGllcyhuZXh0VGVzdCkKK3sKKyAgICBleHRlbnNpb25fZ2V0UmVzb3VyY2VCeVVybChbL2Fi
ZS5wbmckLywgL21pc3NpbmctaW1hZ2UucG5nJC8sIC9hdWRpdHMtc3R5bGUxLmNzcyQvIF0sIGZ1
bmN0aW9uKGlkcykgeworICAgICAgICBpZHMucHVzaCgyMTI2NTA2KTsgLy8gTm9uLWV4aXN0ZW50
IHJlc291cmNlIGlkLgorICAgICAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLmdldEJvZGllcyhp
ZHMsIGNhbGxiYWNrQW5kTmV4dFRlc3QoZXh0ZW5zaW9uX29uUmVzb3VyY2VCb2RpZXMsIG5leHRU
ZXN0KSk7CisgICAgfSk7Cit9CisKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA1MzEyZGQ3Li5kM2VjZTAzIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEwLTEwLTA1ICBB
bmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogW0V4dGVuc2lvbnMg
QVBJXSBFeHBvc2UgYWNjZXNzIHRvIHJlc291cmNlIGJvZGllcworICAgICAgICBBZGRlZCBzdXBw
b3J0IGZvciBlbmNvZGluZyByZXNvdXJjZSBpbiBXZWJJbnNwZWN0b3IuZ2V0UmVzb3VyY2VDb250
ZW50KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1
OTUzCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmlkbDogQWRkZWQgZW5jb2Rpbmcg
cGFyYW1ldGVyIHRvIGdldFJlc291cmNlQ29udGVudCgpCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJv
bGxlcjo6Z2V0UmVzb3VyY2VDb250ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHA6
IEFkZGVkIHNvdXJjZUJ5dGVzKCkgdG8gcmV0dXJuIGVuY29kZWQgcmVwcmVzZW50YXRpb24gb2Yg
cmVzb3VyY2UncyBiaW5hcnkgYm9keS4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291
cmNlOjpzb3VyY2VCeXRlcyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuaW5qZWN0ZWRFeHRlbnNpb25BUEkuUmVzb3VyY2VzLnByb3RvdHlw
ZS5nZXRQYWdlVGltaW5ncyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaW5qZWN0ZWRFeHRlbnNp
b25BUEkuUmVzb3VyY2VzLnByb3RvdHlwZS5nZXRCb2RpZXMpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4
dGVuc2lvblNlcnZlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnBy
b3RvdHlwZS5fb25HZXRSZXNvdXJjZUJvZGllcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0
ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fb25HZXRSZXNvdXJjZUJvZGllcy5vbkNvbnRlbnRBdmFp
bGFibGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmdldEVuY29kZWRSZXNvdXJjZUNvbnRlbnQp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLmdldFJlc291cmNlQ29udGVudCk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5nZXRS
ZXNvdXJjZUNvbnRlbnQpOgorCiAyMDEwLTEwLTA1ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlkbCBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5pZGwKaW5kZXggYTA4YTYyMi4uMzE3YzY5MCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlkbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuaWRsCkBAIC0xMDgsNyArMTA4LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBbaGFuZGxl
cj1Db250cm9sbGVyXSB2b2lkIHNldE1vbml0b3JpbmdYSFJFbmFibGVkKGluIGJvb2xlYW4gZW5h
YmxlLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7CiAKICAgICAgICAgW2hhbmRsZXI9Q29udHJvbGxl
cl0gdm9pZCBzZXRSZXNvdXJjZVRyYWNraW5nRW5hYmxlZChpbiBib29sZWFuIGVuYWJsZWQsIGlu
IGJvb2xlYW4gYWx3YXlzLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7Ci0gICAgICAgIFtoYW5kbGVy
PUNvbnRyb2xsZXJdIHZvaWQgZ2V0UmVzb3VyY2VDb250ZW50KGluIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgb3V0IFN0cmluZyBjb250ZW50KTsKKyAgICAgICAgW2hhbmRsZXI9Q29udHJvbGxl
cl0gdm9pZCBnZXRSZXNvdXJjZUNvbnRlbnQoaW4gdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBp
biBTdHJpbmcgZW5jb2RpbmcsIG91dCBTdHJpbmcgY29udGVudCk7CiAgICAgICAgIFtoYW5kbGVy
PUNvbnRyb2xsZXJdIHZvaWQgcmVsb2FkUGFnZSgpOwogCiAgICAgICAgIFtoYW5kbGVyPUNvbnRy
b2xsZXJdIHZvaWQgc3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDZjNmY5YzAuLjkxZGZmNDAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0yMDkyLDEwICsyMDkyLDE0IEBA
IHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2V0SW5zcGVjdG9yRXh0ZW5zaW9uQVBJKGNvbnN0
IFN0cmluZyYgc291cmNlKQogICAgIG1faW5zcGVjdG9yRXh0ZW5zaW9uQVBJID0gc291cmNlOwog
fQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmdldFJlc291cmNlQ29udGVudCh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIFN0cmluZyogY29udGVudCkKK3ZvaWQgSW5zcGVjdG9yQ29udHJv
bGxlcjo6Z2V0UmVzb3VyY2VDb250ZW50KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBlbmNvZGluZywgU3RyaW5nKiBjb250ZW50KQogewogICAgIFJlZlB0cjxJbnNwZWN0
b3JSZXNvdXJjZT4gcmVzb3VyY2UgPSBtX3Jlc291cmNlcy5nZXQoaWRlbnRpZmllcik7Ci0gICAg
KmNvbnRlbnQgPSByZXNvdXJjZSA/IHJlc291cmNlLT5zb3VyY2VTdHJpbmcoKSA6IFN0cmluZygp
OworICAgIGlmICghcmVzb3VyY2UpIHsKKyAgICAgICAgKmNvbnRlbnQgPSBTdHJpbmcoKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICAqY29udGVudCA9IGVuY29kaW5nID09ICJiYXNlNjQi
ID8gcmVzb3VyY2UtPnNvdXJjZUJ5dGVzKCkgOiByZXNvdXJjZS0+c291cmNlU3RyaW5nKCk7CiB9
CiAKIGJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzb3VyY2VDb250ZW50Rm9yVVJMKGNvbnN0
IEtVUkwmIHVybCwgRG9jdW1lbnQqIGZyYW1lRG9jdW1lbnQsIFN0cmluZyogcmVzdWx0KQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDQxYTAzMGIuLmUwMWFkNmMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTMyMSw3ICszMjEs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgYWRkUmVzb3VyY2UoSW5zcGVjdG9yUmVzb3VyY2UqKTsK
ICAgICB2b2lkIHJlbW92ZVJlc291cmNlKEluc3BlY3RvclJlc291cmNlKik7CiAgICAgSW5zcGVj
dG9yUmVzb3VyY2UqIGdldFRyYWNrZWRSZXNvdXJjZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIp
OwotICAgIHZvaWQgZ2V0UmVzb3VyY2VDb250ZW50KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
U3RyaW5nKiBjb250ZW50KTsKKyAgICB2b2lkIGdldFJlc291cmNlQ29udGVudCh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIFN0cmluZyogY29udGVudCk7
CiAKICAgICB2b2lkIHBydW5lUmVzb3VyY2VzKFJlc291cmNlc01hcCosIERvY3VtZW50TG9hZGVy
KiBsb2FkZXJUb0tlZXAgPSAwKTsKICAgICB2b2lkIHJlbW92ZUFsbFJlc291cmNlcyhSZXNvdXJj
ZXNNYXAqIG1hcCkgeyBwcnVuZVJlc291cmNlcyhtYXApOyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXNvdXJjZS5jcHAKaW5kZXggMDY2Y2ZmNC4uNTcwYTRmYiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikKIAorI2luY2x1ZGUgIkJhc2U2NC5oIgogI2luY2x1ZGUgIkNhY2hlLmgiCiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIgpAQCAtNDMzLDYgKzQzNCwyNCBAQCBTdHJpbmcgSW5zcGVjdG9yUmVzb3VyY2U6OnNvdXJj
ZVN0cmluZygpIGNvbnN0CiAgICAgcmV0dXJuIGVuY29kaW5nLmRlY29kZShidWZmZXItPmRhdGEo
KSwgYnVmZmVyLT5zaXplKCkpOwogfQogCitTdHJpbmcgSW5zcGVjdG9yUmVzb3VyY2U6OnNvdXJj
ZUJ5dGVzKCkgY29uc3QKK3sKKyAgICBWZWN0b3I8Y2hhcj4gb3V0OworICAgIGlmICghbV9vdmVy
cmlkZUNvbnRlbnQuaXNOdWxsKCkpIHsKKyAgICAgICAgVmVjdG9yPGNoYXI+IGRhdGE7CisgICAg
ICAgIFN0cmluZyBvdmVycmlkZUNvbnRlbnQgPSBtX292ZXJyaWRlQ29udGVudDsKKyAgICAgICAg
ZGF0YS5hcHBlbmQob3ZlcnJpZGVDb250ZW50LmNoYXJhY3RlcnMoKSwgb3ZlcnJpZGVDb250ZW50
Lmxlbmd0aCgpKTsKKyAgICAgICAgYmFzZTY0RW5jb2RlKGRhdGEsIG91dCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgU3RyaW5nIHRleHRFbmNvZGluZ05hbWU7CisgICAgICAgIFJlZlB0cjxTaGFy
ZWRCdWZmZXI+IGRhdGEgPSByZXNvdXJjZURhdGEoJnRleHRFbmNvZGluZ05hbWUpOworICAgICAg
ICBpZiAoIWRhdGEpCisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgICAgIGJhc2U2
NEVuY29kZShkYXRhLT5idWZmZXIoKSwgb3V0KTsKKyAgICB9CisgICAgcmV0dXJuIFN0cmluZyhv
dXQuZGF0YSgpLCBvdXQuc2l6ZSgpKTsKK30KKwogUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IElu
c3BlY3RvclJlc291cmNlOjpyZXNvdXJjZURhdGEoU3RyaW5nKiB0ZXh0RW5jb2RpbmdOYW1lKSBj
b25zdAogewogICAgIGlmIChtX2xvYWRlciAmJiBlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlm
aWVyKG1fcmVxdWVzdFVSTCwgbV9sb2FkZXItPnJlcXVlc3RVUkwoKSkpIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmggYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZS5oCmluZGV4IDkxNDIzMmUuLjdmNzFlNmEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuaApAQCAtMTAxLDYgKzEwMSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRPdmVycmlkZUNvbnRlbnQoY29uc3QgU2NyaXB0U3Ry
aW5nJiBkYXRhLCBUeXBlKTsKIAogICAgICAgICBTdHJpbmcgc291cmNlU3RyaW5nKCkgY29uc3Q7
CisgICAgICAgIFN0cmluZyBzb3VyY2VCeXRlcygpIGNvbnN0OwogICAgICAgICBQYXNzUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gcmVzb3VyY2VEYXRhKFN0cmluZyogdGV4dEVuY29kaW5nTmFtZSkgY29u
c3Q7CiAKICAgICAgICAgYm9vbCBpc1NhbWVMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikg
Y29uc3QgeyByZXR1cm4gbG9hZGVyID09IG1fbG9hZGVyOyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcwppbmRleCA5MDYyMTI2Li5mODFjZDI2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMKQEAgLTEyOCw2ICsxMjgs
MTEgQEAgUmVzb3VyY2VzLnByb3RvdHlwZSA9IHsKICAgICBnZXRQYWdlVGltaW5nczogZnVuY3Rp
b24oY2FsbGJhY2spCiAgICAgewogICAgICAgICByZXR1cm4gZXh0ZW5zaW9uU2VydmVyLnNlbmRS
ZXF1ZXN0KHsgY29tbWFuZDogImdldFBhZ2VUaW1pbmdzIiB9LCBjYWxsYmFjayk7CisgICAgfSwK
KworICAgIGdldEJvZGllczogZnVuY3Rpb24oaWRzLCBjYWxsYmFjaykKKyAgICB7CisgICAgICAg
IHJldHVybiBleHRlbnNpb25TZXJ2ZXIuc2VuZFJlcXVlc3QoeyBjb21tYW5kOiAiZ2V0UmVzb3Vy
Y2VCb2RpZXMiLCBpZHM6IGlkcyB9LCBjYWxsYmFjayk7CiAgICAgfQogfQogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcwppbmRleCA3MmQ5YTg5Li40
Y2EzNGFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9u
U2VydmVyLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2
ZXIuanMKQEAgLTM4LDYgKzM4LDcgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlciA9IGZ1
bmN0aW9uKCkKICAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoInN1YnNjcmliZSIsIHRoaXMuX29u
U3Vic2NyaWJlLmJpbmQodGhpcykpOwogICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxlcigidW5zdWJz
Y3JpYmUiLCB0aGlzLl9vblVuc3Vic2NyaWJlLmJpbmQodGhpcykpOwogICAgIHRoaXMuX3JlZ2lz
dGVySGFuZGxlcigiZ2V0UmVzb3VyY2VzIiwgdGhpcy5fb25HZXRSZXNvdXJjZXMuYmluZCh0aGlz
KSk7CisgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJnZXRSZXNvdXJjZUJvZGllcyIsIHRoaXMu
X29uR2V0UmVzb3VyY2VCb2RpZXMuYmluZCh0aGlzKSk7CiAgICAgdGhpcy5fcmVnaXN0ZXJIYW5k
bGVyKCJnZXRQYWdlVGltaW5ncyIsIHRoaXMuX29uR2V0UGFnZVRpbWluZ3MuYmluZCh0aGlzKSk7
CiAgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJjcmVhdGVQYW5lbCIsIHRoaXMuX29uQ3JlYXRl
UGFuZWwuYmluZCh0aGlzKSk7CiAgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJjcmVhdGVTaWRl
YmFyUGFuZSIsIHRoaXMuX29uQ3JlYXRlU2lkZWJhci5iaW5kKHRoaXMpKTsKQEAgLTI2Niw2ICsy
NjcsNTUgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIHJldHVybiByZXNwb25zZTsKICAgICB9LAogCisgICAgX29uR2V0UmVzb3VyY2VCb2RpZXM6
IGZ1bmN0aW9uKG1lc3NhZ2UsIHBvcnQpCisgICAgeworICAgICAgICB2YXIgaWRzOworICAgICAg
ICB2YXIgcmVzcG9uc2UgPSBbXTsKKworICAgICAgICBmdW5jdGlvbiBidWlsZEJvZHlJbmZvKGVu
Y29kaW5nLCBjb250ZW50KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4geworICAgICAg
ICAgICAgICAgIGVuY29kaW5nOiBlbmNvZGluZywKKyAgICAgICAgICAgICAgICBjb250ZW50OiBj
b250ZW50CisgICAgICAgICAgICB9OworICAgICAgICB9CisgICAgICAgIGZ1bmN0aW9uIG9uQ29u
dGVudEF2YWlsYWJsZShpZCwgZW5jb2RpbmcsIGNvbnRlbnQpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHZhciByZXNvdXJjZUNvbnRlbnRzID0geworICAgICAgICAgICAgICAgIGlkOiBpZCwKKyAg
ICAgICAgICAgICAgICByZXNwb25zZTogYnVpbGRCb2R5SW5mbyhlbmNvZGluZywgY29udGVudCkK
KyAgICAgICAgICAgIH07CisgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3Iu
cmVzb3VyY2VzW2lkXTsKKyAgICAgICAgICAgIGlmIChyZXNvdXJjZS5yZXF1ZXN0Rm9ybURhdGEp
CisgICAgICAgICAgICAgICAgcmVzb3VyY2VDb250ZW50cy5yZXF1ZXN0ID0gYnVpbGRCb2R5SW5m
byhudWxsLCByZXNvdXJjZS5yZXF1ZXN0Rm9ybURhdGEpOworCisgICAgICAgICAgICByZXNwb25z
ZS5wdXNoKHJlc291cmNlQ29udGVudHMpOworICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmxlbmd0
aCA9PT0gaWRzLmxlbmd0aCkKKyAgICAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaENhbGxiYWNr
KG1lc3NhZ2UucmVxdWVzdElkLCBwb3J0LCByZXNwb25zZSk7CisgICAgICAgIH0KKworICAgICAg
ICBpZiAodHlwZW9mIG1lc3NhZ2UuaWRzID09PSAibnVtYmVyIikgeworICAgICAgICAgICAgaWRz
ID0gWyBtZXNzYWdlLmlkcyBdOworICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaWRzIGluc3Rh
bmNlb2YgQXJyYXkpIHsKKyAgICAgICAgICAgIGlkcyA9IG1lc3NhZ2UuaWRzOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1cy5FX0JBREFSR1RZUEUoIm1l
c3NhZ2UuaWRzIiwgIkFycmF5IiwgdHlwZW9mIG1lc3NhZ2UuaWRzKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaWRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAg
ICB2YXIgaWQgPSBpZHNbaV07CisgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0
b3IucmVzb3VyY2VzW2lkXTsKKyAgICAgICAgICAgIGlmICghcmVzb3VyY2UpCisgICAgICAgICAg
ICAgICAgcmVzcG9uc2UucHVzaCh0aGlzLl9zdGF0dXMuRV9OT1RGT1VORChpZCkpOworICAgICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgdmFyIGVuY29kaW5nID0gV2ViSW5zcGVjdG9y
LlJlc291cmNlLlR5cGUuaXNUZXh0VHlwZShyZXNvdXJjZS50eXBlKSA/ICIiIDogImJhc2U2NCI7
CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmdldEVuY29kZWRSZXNvdXJjZUNvbnRlbnQo
aWQsIGVuY29kaW5nLCBvbkNvbnRlbnRBdmFpbGFibGUuYmluZCh0aGlzLCBpZCwgZW5jb2Rpbmcp
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAocmVzcG9uc2UubGVuZ3Ro
ID09PSBpZHMubGVuZ3RoKQorICAgICAgICAgICAgdGhpcy5fZGlzcGF0Y2hDYWxsYmFjayhtZXNz
YWdlLnJlcXVlc3RJZCwgcG9ydCwgcmVzcG9uc2UpOworICAgIH0sCisKICAgICBfb25HZXRQYWdl
VGltaW5nczogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIChuZXcgV2ViSW5zcGVj
dG9yLkhBUkxvZygpKS5idWlsZE1haW5SZXNvdXJjZVRpbWluZ3MoKTsKQEAgLTQwNywzICs0NTcs
OCBAQCBXZWJJbnNwZWN0b3IuYWRkRXh0ZW5zaW9ucyA9IGZ1bmN0aW9uKGV4dGVuc2lvbnMpCiB9
CiAKIFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkV4dGVu
c2lvblNlcnZlcigpOworCitXZWJJbnNwZWN0b3IuZ2V0RW5jb2RlZFJlc291cmNlQ29udGVudCA9
IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGVuY29kaW5nLCBjYWxsYmFjaykKK3sKKyAgICBJbnNwZWN0
b3JCYWNrZW5kLmdldFJlc291cmNlQ29udGVudChpZGVudGlmaWVyLCBlbmNvZGluZywgY2FsbGJh
Y2spOworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5k
ZXggZDNkMzQ1Yy4uMjQ3YWYxNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL05ldHdvcmtQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0
d29ya1BhbmVsLmpzCkBAIC0xMDExLDcgKzEwMTEsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1Bh
bmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlOwog
CiBXZWJJbnNwZWN0b3IuZ2V0UmVzb3VyY2VDb250ZW50ID0gZnVuY3Rpb24oaWRlbnRpZmllciwg
Y2FsbGJhY2spCiB7Ci0gICAgSW5zcGVjdG9yQmFja2VuZC5nZXRSZXNvdXJjZUNvbnRlbnQoaWRl
bnRpZmllciwgY2FsbGJhY2spOworICAgIEluc3BlY3RvckJhY2tlbmQuZ2V0UmVzb3VyY2VDb250
ZW50KGlkZW50aWZpZXIsICIiLCBjYWxsYmFjayk7CiB9CiAKIFdlYkluc3BlY3Rvci5OZXR3b3Jr
QmFzZUNhbGN1bGF0b3IgPSBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VzUGFuZWwuanMKaW5kZXggMTkzOWVmYy4uYmUyMDNiZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwpAQCAtMTI4Myw3ICsxMjgz
LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlOwogCiBXZWJJbnNwZWN0b3IuZ2V0UmVzb3VyY2VD
b250ZW50ID0gZnVuY3Rpb24oaWRlbnRpZmllciwgY2FsbGJhY2spCiB7Ci0gICAgSW5zcGVjdG9y
QmFja2VuZC5nZXRSZXNvdXJjZUNvbnRlbnQoaWRlbnRpZmllciwgY2FsbGJhY2spOworICAgIElu
c3BlY3RvckJhY2tlbmQuZ2V0UmVzb3VyY2VDb250ZW50KGlkZW50aWZpZXIsICIiLCBjYWxsYmFj
ayk7CiB9CiAKIFdlYkluc3BlY3Rvci5SZXNvdXJjZUJhc2VDYWxjdWxhdG9yID0gZnVuY3Rpb24o
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69912</attachid>
            <date>2010-10-06 03:12:23 -0700</date>
            <delta_ts>2010-10-06 03:12:23 -0700</delta_ts>
            <desc>patch to land</desc>
            <filename>resourcebodies</filename>
            <type>text/plain</type>
            <size>30728</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YTZmY2JkLi5lY2NhNWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMTAt
MDUgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtFeHRl
bnNpb25zIEFQSV0gRXhwb3NlIGFjY2VzcyB0byByZXNvdXJjZSBib2RpZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1OTUzCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rv
ci9leHRlbnNpb25zLXJlc291cmNlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9y
L2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWw6CisKIDIwMTAtMTAtMDYgIEtlbnQgVGFtdXJhICA8
dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHRlc3QgZXhwZWN0YXRp
b24gdXBkYXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
YXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLWFwaS1l
eHBlY3RlZC50eHQKaW5kZXggZmRhMDg0Mi4uZjQ0NDNmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0CkBAIC02MCw2ICs2MCw3IEBA
IFJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RBUEkKICAgICAgICAgZ2V0QWxsIDogPGZ1bmN0
aW9uPgogICAgICAgICBnZXQgOiA8ZnVuY3Rpb24+CiAgICAgICAgIGdldFBhZ2VUaW1pbmdzIDog
PGZ1bmN0aW9uPgorICAgICAgICBnZXRDb250ZW50IDogPGZ1bmN0aW9uPgogICAgIH0KICAgICBv
blJlc2V0IDogewogICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtZXhwZWN0ZWQudHh0
CmluZGV4IDE3OWQzY2MuLjc1ZmMxM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9leHRlbnNpb25zLXJlc291cmNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLWV4cGVjdGVkLnR4dApAQCAtMjEsNiArMjEsMzQg
QEAgR290IGNhbGxiYWNrIGZyb20gZ2V0UGFnZVRpbWluZ3MsIHBhZ2VUaW1pbmdzIGR1bXAgZm9s
bG93cwogICAgIG9uQ29udGVudExvYWQgOiA8bnVtYmVyPgogICAgIG9uTG9hZCA6IDxudW1iZXI+
CiB9CitSVU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0R2V0UmVzb3VyY2VDb250ZW50Cit7Cisg
ICAgMCA6IHsKKyAgICAgICAgY29kZSA6ICJFX05PVEZPVU5EIgorICAgICAgICBkZXNjcmlwdGlv
biA6ICJPYmplY3Qgbm90IGZvdW5kOiAlcyIKKyAgICAgICAgZGV0YWlscyA6IHsKKyAgICAgICAg
ICAgIDAgOiAyMTI2NTA2CisgICAgICAgIH0KKyAgICAgICAgaXNFcnJvciA6IHRydWUKKyAgICB9
CisgICAgMSA6IHsKKyAgICAgICAgaWQgOiA8bnVtYmVyPgorICAgICAgICBlbmNvZGluZyA6ICIi
CisgICAgICAgIGNvbnRlbnQgOiAiLnNvbWUtc3R5bGUgeworICAgIHZlcnRpY2FsLWFsaWduOiBt
aWRkbGU7Cit9IgorICAgIH0KKyAgICAyIDogeworICAgICAgICBpZCA6IDxudW1iZXI+CisgICAg
ICAgIGVuY29kaW5nIDogImJhc2U2NCIKKyAgICAgICAgY29udGVudCA6ICJpVkJPUncwS0dnb0FB
QUFOU1VoRVVnQUFBRXdBQUFCbkNBSUFBQUFsbmpPSkFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1w
d1lBQUFnQUVsRVFWUjRuRzE4YVd3YzUzbi96T3pNN016c2ZTOTNlUitpZUlpa3BFaFJTTW1XTGNl
S2JUbEhIY1d1RXp2Tmw3UW9naDZmaWdKRmdhSm8rNmtGQ2pSQWc3Yi93a2xRRjAxaHVHa1ZxWElk
eWJVczZxWWtrdUlsTHNWZGNzbmwzdmZzN0J6L0R6L082NUhjK1VBczk1aDUzL2U1ZnMvdmVkNlh2
bkxsaWlBSWtpU3hMR3NZaHFxcW1xWVpoaUZKRXNNd0RNUFFORTFSRkUzVCtGZlROSTdqTkUxck5w
c013emdjRGszVGFyV2FMTXMybTQybTZYYTczVzYzZFYybmFacW1hVVZST0k0ekRFT1daVlZWYlRZ
Ynd6QzZycXVxNm5RNk9ZNXJOcHVxcWdxQ0lJb2l3ekEybTgxbXMyRWt1SW11NisxMnU5VnFzU3pM
OHp6SGNiZ0podFJzTnZIQ1pya3dERjNYRGNQUWRaMWxXWlpoR0lxaURNUFFOQTB6cENpSzR6aE1E
eC9oVFlxaVdKYkZnMjAybXlpS2dpQlVLcFZTcWVUeGVEUk5veWpLYnJjekRGT3YxOXZ0TnNNd2Ry
c2Q3MHVTUkZHVXBtazBUYk1zMjJnMDJ1MjJvaWcybTgzbGNnbUNZQmlHb2lpR1lkQTBiYlBac0RU
NGlhN3J1QzBtUUZFVW1UOUdSWnNYbVR4a2hubXllSmRNbXFJb1NNeG1zK0gzK0lqSXM5MXUyMncy
UVJBd2lIYTdMUWpDd01CQXRWcHROQnFxcWpJTVl4Z0dGcHZuZWNpRXBtbXNXcXZWd3FkdXR4c3l4
RGV4OEhnY0dRT2VxS3FxWVJqNE9kRXNpQVFESTlNakk4Yzdobm50VHhjTGc1dXlMQXVGd2IzSUpI
RWp2OTlmcjljcGlvSjJsY3RsV1pZWmhuRTZuVHpQTnhxTmVyMnVxaXB1Z2w5QldhQ2xQTTlqbVht
ZTUza2V6MVZWVlZFVXU5M3VjcmxxdFpyMXQwUnVXRHZLdk1nRWlPaUl4aEt6SXBySWtnOHdkWElY
VlZYSjdhd3FrYzFtWTdHWUpFazdPenVKUktMUmFEaWRUcmZibmNsa2ZENmZJQWlRbTkxdTEzVzlW
cXN4RENNSUFzdXlXSGlvQUVWUmlxSm9tc1l3REd5TW9pajhGVVVSaXdLUkV0VWxPZ1U1NHlOaStX
UnU1SUtON0lzTkMwQXNEWmRWeTU5NTdmVjZEY080ZWZQbWUrKzk5ei8vOHorR1lZVERZWjduUjBa
R1JrWkdob2FHNEU0d2RMdmREajlFVVJUeEdVUU9lQlpVbDZJb1daWmJyWllrU1JBalJra0VpTCtZ
RmZHSUVCY1JJOTc4NHJCWnVBZWU1NjJXK293ZDR3Y1ltY2ZqK2NVdmZ2SDNmLy8zZCsvZWRUZ2Nz
VmlzMld4bU1wbk56YzIxdGJYUjBkRm9OTXJ6dkNBSW9WQW9IQTdMc3B6TDVRekRpRWFqRG9lalZD
b1ZpMFZkMTkxdU41UkZrcVJRS0JRTUJpRXVLRFArNGwvTUJJcUFzV0ZXK0JjclFnUklabWhWZUZh
V1pXZ1grU1dtQkYyQ1loQzkxWFY5WjJkbmRuWjJhV25KNC9INC9mNjl2VDFabGdPQkFNZHhlM3Q3
cXFxdXI2L1hhclYydXowNE9IajQ4T0d0cmEzRnhVVlpsZzhjT09CeXVWWlhWemMyTm5SZGowYWpv
aWp5UEMrS1lpd1dHeDBkSFJnWThIcTlmcjhmTTdRS0JNcUZBZENXQzZ0Zy9aZGNWbHVsUC9yb0l5
eTgzVzZIT2tIdU5wdXQzVzVybW9aLzhUT080NHJGNHV1dnY2NG9TcjFlOS9sOEhNZUZ3Mkdmenlm
TGNuZDM5K0Rnb01maktaZkxpVVFpa1VqazgvbmUzbDVZWUxGWXpHYXo1WElaSGxXVzVYZzhQalUx
TlR3OHpEQk1QcCtuYWRydjkvTThINC9IM1c2M0tJcnhlRHdhalhJY3ArdTZMTXVWU3NYbGN1bTZY
cTFXb2RYUUJTSU1DQloyUVF4NFA0UVFyME9jT0pRRVZ2R01pVzV2YjFlclZWM1hGVVZwTkJwWWRW
VlZoNGFHc3Rsc0twWHllcjA5UFQzOS9mM2QzZDNWYW5WemMzTnZieStWU3VWeU9SaW5ydXU0ZWJs
Y3ptUXlUcWRUMS9Wa01wbkw1WFJkRndUQlpyUFY2L1ZtcytuMWVzZkd4czZjT2ZQODg4K0xvdWgy
dTNWZDV6ak83L2RqQW9xaVFQdXNVeUllRkZQYlJ3SzBKZkxBQVBBOXErcHpISWZWeW1henhHc3Bp
Z0svVWk2WEh6MTZKRWtTeDNGNDArbDA5dmIyZG5aMlFyQzZycmRhTGNSWXNvNkZRbUZoWVdGM2Q5
ZG1zeFdMUlFpWjUzbTczVzYzMjFtVzNkcmFTaVFTOC9QenM3T3ozLzN1ZHc4ZVBOaHF0ZkRvU3FV
aUNBS1JrRFVRWUJFaFZmaFUxckJjVmdEUmJyZGhxTVNoSWFCbHMxbThDZDFHckcrMzJ3UWhZVjFL
cGRMaTR1TGEydHJrNUdTOVhvY2NLcFVLNW1tMzJ5bUthalFhK1h5K1VDZ2c1RElNSTRvaVFCekRN
QTZIUXhURmJEYWJTQ1RxOWZxaFE0Y09IanlJUnp1ZFRrM1RYQzRYNEFTeFE2dXpoTlpBY3ArREFT
dXNzWVlnTWtuZzFmWDE5V2F6Mlc2M2VaNG44VkJSRk5nTVlBRG1nSDhybFFyMEJUTEhHdU51VUEz
NEdFZ0FrbFFVcFZLcDVQTjVqOGVER05ob05CS0pCT0F4VkJTQnFsZ3M0bGxFT2EyS1NadTRsN1hh
MnpPT2kzd2JyMlZaTGhhTEd4c2JCRHJqcWJpUkxNdE9wNVBnZFNBWXQ5dGRLQlRJU2tQNFdCVGda
c3dUWUpDb0djd1NDMGRSVkx2ZHJ0VnF4V0tSb3FpT2pvNTZ2ZDVxdGVyMU9zSWVGSWMyTVRvSkIw
Q2R1Q2RyeFFwV1Iwd3NrOERhWnJPWnorZVR5U1JOMDVJa1NaSlVxOVhnZmdWQkNJZkQwQWlHWWR4
dU4vS0dTcVhpOFhoZ3BiUUpYOXZ0TmxBUkFoWGNHOC96VVA1V3F3VTVRK3dZcnRQcDNOblpXVmhZ
aUVRaWdpREFjQ2lLaWthamxVcUZ3RjNFUm93V2Q4UGtuNEoxVmdzbVlzUWs4ZmhxdGJxMXRkVnV0
OTF1dDl2dGhzcEpraVNLSW9UWmFyVmtXU2JRbWVmNWFyVktWQWpvL0JtOEJ1TmhHQVpBRCtDV1lS
Z0FRTnlOb3FpYk4yLys1Q2MvZWZMa3llVGs1T2pvcU0vbkt4UUs5WHFkUkF2YzhJdmhnQUoycFUx
QWg5a1RjQ2NJUXJQWmhFcGtNaG1QeDFNcWxUaU84M2c4clZacmIyOFBvYlhaYkJZS0JTSWlFb2cx
VFZOVmxlTTR1RVJKa21DV0hvK251N3Y3MUtsVEhvL0hicmRuTXBtSER4OHVMeTlEc1JHZm9iR3lM
UE04NzNLNTRJYzJOalorL09NZmQzZDMvOG1mL01taFE0ZmNibmU5WGlmNmlWbGdnYUNySkp5d0JC
blFUK005aG1HcTFTckJWajZmcjlsc3JxeXMxR28xQWswTncyZzBHbzFHQTZPeG9tY1NEQW5DYWph
YkZFVU5EZzUrNjF2ZmV1MjExd0tCZ05QcFpGbTJYQzQvZWZMa3pwMDdGeTlldkhuekptTW1hTFZh
elRBTWg4T2g2M3FwVklLM3AyazZtVXgrOE1FSGtVaEVGRVdIdy9GTS9tQU4rNStEQVpMRldNRUFI
R0M5WHZkNFBPMTJHeTcrOGVQSDE2OWZSOEFrd29jL0ZBUUJWb2VJMG1xMWNGdWd0bmE3N2ZmN2p4
MDdkdWJNbWFtcHFXQXdpUEFGNndvR2c3RlliSHg4ZkhCd2NIeDgvRmUvK2xXdFZxTW95dXYxMXV2
MXZiMDlTWks2dXJvcWxRcHVXNjFXTDF5NDhPYWJiNGJEWWJneDZ5Uy82RGdwaW1LeDJBUWxrSVVo
NndHM3ViVzE5ZkhISHk4dExUbWRUaVM0UkU4UTkxcXRGdWFQcDlydDltQXc2UGY3anh3NU1qbzZP
alUxRlkxR1lmeGdPb0FOY0N1SHcrSDMrNy82MWE5T1RVMk5qWTFkdkhqeDAwOC9iYlZheUU1VVZT
MlZTZzZIUTFWVkdHRW1rMG1uMDdGWURBKzFZaDJNMlRwSm1xWlo0dDhKSk1CWFZWVVZSUkVxMTI2
Mzc5NjllL1hxVlF3TG5sMlNKT2dQYnRUVDArUDFlajBlRDVUVDQvSDA5ZlYxZFhXOTl0cHJaQVU1
am1OWlZwYmxVcWtVQ0FRTXd5Q2NDSExscnE2dUgvemdCNGNQSDM3Ly9mY3ZYYnBVTHBjRlFkQTBy
ZFZxd1lCcnRSclA4NjFXYTNaMmRueDhuQ0NRWjVTV01yTlRpR28vbjhSYkpJV0RFMmRaRmpSVXJW
YTdmLy8rOXZZMkxBUmVudWQ1bjg4bmlxTFA1d3NFQXJGWUxCZ01SaUlSbDh2Rjg3emI3ZTdvNkFp
SHc2VlNTUkFFbnVmaGgzQmJuOCtIOEFPL3duRWNxQk9iemFacDJwZSs5Q1cvM3o4eU1uTDE2dFU3
ZCs3SXN0elgxNWZQNXdPQmdLSW9GRVVwaXZMWlo1OUI4aVJCc2M2VHNwQUpORTJ6UkltSkpQRTlu
dWVoUzVJa2JXeHNKQklKT0d2SU1CQUlEQThQZDNkM2U3M2VlRHplMWRYRmNad2tTVTZuVTVJa1VC
dmdwaHdPQjVZUHRxcHBHc2hCeE5KOTJNV3kwQm84dlZ3dWk2TDQybXV2alk2Ty92TS8vL09WSzFk
S3BSSkU3WEE0NnZXNnJ1dVpUT2IyN2RzOVBUMCtuNDlNejdBd0cxWWFnU1VFanpWamh1VlVLaFc4
eUdhemhVTEI2WFNtMDJtZTUvMSsvOFRFeE1tVEo3dTd1eEVuZzhGZ0tCUUNFb0pIWVZsVzEvVkdv
MkczMnhWRkFYN0F4UEExd0YzRE1CQWVSVkcwMld5dFZrc1FCSWZEZ2ZqcDgvbUN3U0J5RklaaElH
MVpsaUdsaHc4ZlF1YTBtWEJhRGZLcGRBUnJqR2ZEcWJJc0MvMEJlYk83dTh0eFhDQVFxRlFxVHFl
elhxOGZQbno0bFZkZU9YTGtpTWZqY2JsYzhYZ2NZaWZUdzYzaFFrbmVvQ2dLd2RNa204UDZhcHFH
M0FwZlEwQnl1OTFlcjNkd2NMQy92OTh3REkvSGswd21YMzMxVlFnOG1VdytlZkprZm40K2s4azBH
ZzA4RkpRYVFqZHRJVFQybjBTMGxNaGRGRVVvbU4xdUQ0ZkRTR1RCNVJ3N2Rpd2FqYklzRzRsRUVB
OWdWNFJsZ3hKaTdheFlpb0JKNjBPdGwyRVlQTThERzBFTFJrZEhEeDgrM05IUkFRTmpHT2FkZDk1
QllnbXhBOThERENQQWdvYUcvZU12UXlqelo5d3NJU0FFUVhDNzNXQXJHSVpCK2k5SmtpekxkcnRk
RkVYRHpNZVJDc0xrb0FVZWo0Y2dCK3NLR3BZMDF3cVNDY1dHck44d2pMNit2aE1uVG95T2pyYmI3
ZjcrL21xMU9qTXpNejA5SFl2RkVva0VRQklTUzhwayttRDJWdWkyUDhsbjFwV3NoOTF1eDdlRHdT
Q1NQVW1TWUxTQTdCUkZRVmRiVDE4a255WVNmb1pOc3pvNXE2aUJiNTFPcDkxdUIvL1UyZGs1T2pv
YURBWnBtbDVlWHE3VmFpTWpJOFBEdzVGSVpHVmxKWi9QSTFBVG5wSGdXSEx0SnpoazBzVEh3dldw
cWdyNGV1REFnWEE0VERJTUVNR05Sa1BUTkVtU21zMG1TWE53UStncVlCRDlCYXovVEV3akY4Rk0w
RnNBR2ttU09qczd6NTQ5dTc2K1BqOC9mK2ZPblVLaHdISGNxNisrMm1nMGxwZVhLNVVLWWcvS0xj
QVAxbVZsaU1PMVhsZ01XWmFyMWFxbWFSNlBaM2g0T0JnTUlxeGhBb2pnbFVxbDJXeFdLcFZHbzlG
c05sdXRGb2FJREFPRkVIS1J4U1poMmpvOUtBaDBwMTZ2SS9kSGN1eDJ1OCtlUFh2bzBLRlNxWFR4
NHNWQ29iQzd1OXRzTm4wKzMvTHljaktaVkJRRklCRUIzSm82NjdyKzFEK2s0SU1McmgvOHYyRVlL
R09CZlNrVUNpQjc0Qmp0ZG51bFVxbFVLdFZxdFZhclljS0tvaUIyazRzQUR5andNL01FQ0tITTBw
QXN5NmdtSUl4RklwSGYrcTNmNnVqb2VQejRNVmI1OHVYTDI5dmJHeHNiQ3dzTGUzdDdnaURBRkFs
WC9qbDJ0VTZTc29CWUNNVGhjRGlkemthanNiMjluVTZua1grNVhDNFFkdkY0SFA0TkdUTWNvSlg4
aHo4a3NaZE1oakxSbFZXU21LU2lLRDZmejJhendlQVpzNExTYXJWR1JrYjYrdnFheldheFdBd0dn
NDhlUGRyYjJ6dDgrUER5OHZMdzhIQTBHc1hTd0F0YTZhdDk0TVpZV0Vrays0cWl1TjN1YXJWcXM5
bENvZERzN0N3a3c3SnNNcG5NNS9PcXFucTkzb01IRDFJVUJTRWpncXVxNm5BNGtDc0hnMEdHWVNx
VkNydzBTYVlocm1LeENKV0dTUVBXTmhvTlNFK1NwSFE2VFZFVUdNQnl1Znpnd1lOSGp4NXhISmRP
cHdPQkFOaWRsWlVWbG1XZFRtZEhSd2ZvUWl3V0tCVmNMQlllYjFGbW1BWTZKNWE1c3JKeS8vNzlU
Q2FqNjNvNm5VYmt3SUxCUXlDMUkzVTdWVlZoV2dCb2tpUWhGMnMybXh6SE9Sd09lQlNQeDRNblF1
YUtvcWlxR2d3R204MG1ZbGcrbjkvWTJPanA2VGw2OUdpejJVd21rNlZTU2RkMVFCU1daWnZOWnIx
ZVgxcGFNZ3hqZkh6ODJMRmprVWhFbHVWQ29ZQlVjMStTRUIxaktSREFRU0dqcDJtNlZxdmR2WHYz
eG8wYm1Vekc2L1ZtczltQmdZR2hvU0dmejlmWjJRbEtHN1huVnF1RmVGaXRWajBlRDh1eTBHcFM5
QlZGRVdsS3NWaVVaUmw0QS9rcUZnV2hHTkVMQTVpYm04dG1zMGVQSGwxZVhwNmZud2RHNys3dWJy
VmE0WEI0ZTN1N1ZxdXBxcHJQNTR2Rm9xcXF3UDEydTkzS1hUMWxrekJXVEJ1Sk9jL3orWHgrWVdG
aGMzTVRFYlhaYkNKOFlSQ1FQSDRpU1JJTVcxVlZmQmtFS1pUVDRYRElzcHhLcFJZV0ZoNCtmRmdx
bGFhbnAwZEdSa2pCcjFRcXdRdGd1V1ZaeGlPV2w1ZDNkbllrU1lKL0xoYUxvaWllUFh0MmFHaW9V
cW44OUtjLzNkN2VoaEVLZ2xBdWwxbVd4Vm9RajgyUytQWk1VRWFJVTFVMWxVcHRibTRDMzJtYXRy
YTIxbXcyRnhZV29MUnV0enNRQ1BqOS9wNmVudkh4Y2FRdjhISlE3RXFsa3MxbXE5VnFzVmhjWEZ4
OCtQQWh0QTQxRWlTaVdFMjRSMW1XNGIxa1dVYU9CcitkeStWcXRacmI3UTZGUW9jUEh4NFlHTGgx
NjlhZE8zZWdkKzEydTFRcUFYVVIwRThneCtlU05MNVFXcVlvcWw2dmwwb2xWVlVCZEhSZHoyYXp4
V0lSU1laaEdBQjlraVNCbTNLNzNXQmZPanM3bDVlWG56eDU0bks1NXVibVZsWldjcmxjT3AwRzEr
eDBPamMyTmo3ODhFTmtFaSsrK09MWTJCakhjZFZxRlhnZEJTK1B4d01HaEtLb2JEYXI2N3JYNnhW
RjhkNjllN3U3dTlldVhkdmUzdlo2dlVoV1pGbHVOcHZvNTBCdS9ibTZXcU16WXlsWmt5RG04WGg2
ZW5vS2hVSXFsVUw2ZzRRRHRKcWlLS2prb0NqZ2REcTd1N3ZENGZDNzc3NHJ5L0tISDM2WXkrVlNx
WlNpS0JnM3lwTFZhbFVVeGUzdGJZcWlvdEhvMXRaV1IwZEhNQmlFNnlMcHBTQUlyVllybDh2SnNw
ekpaRnd1MTdGangrcjErdHpjbkNpS0w3LzhzaVJKVjY1Y0FjOENXZ3hCbThUaHo3MHJ3YXRXZVdx
YUJtd2RpOFZxdGRyVzFsWXFsZEoxSGVER1pyT0pva2hSRkR3RWJBbVU3Tzd1YmpRYS9aM2YrWjJ1
cnE1VUtvVWc1SFE2S1lxcTFXbzBUWVBJUklxenM3Tno0Y0tGWC8vNjF5ZFBubnpublhlbXA2ZlJE
MExUZExGWWJMVmFjTTdsY2htREdSb2FXbDVlaGd2OHhqZStBWko2ZTN1NzJXenlQQjhLaGNCM2tS
VDg4emhKMHpTb1I2U3pITWNSWmdWTGN1REFnVXdtOCtEQkE1N25RYy9CTVNMblJEK0V3K0hBcDVx
bXpjek1nQlErZi83OCsrKy9YeTZYRVFZMVRmTjZ2YVZTcWErdjcrREJnNElnb0dnbENNTE5temNG
UVVBMUhpUWdTcFEybTIxblo0ZW02WGE3UFRBd2tNMW1rOGxrTkJvTkJBS0lUTWVPSFd1MzIrRncr
RXRmK2xLMVdrV3N0Z3FNb2lqYm0yKyt5VmlxQ0FRV0Vjb1U0c3BtczQ4ZVBVSVJqakJBYnJjYlgv
RDVmUGw4bmlRY2ZYMTl3V0RRNS9QRjQzRzRvbVF5V2EvWENXak81L095TEkrT2pvNlBqNE9WTHhh
TFRxZno0TUdEMFdnVWZvdW02VktwZE92V3JVUWlJWXBpYjIrdnBtbnBkQnIxN0Znc05qSXk0dmY3
T3pvNmhvYUdSa2RIQTRFQWJiTHlHQjZabCszTk45OGsySXBrZEVoRENmWURGYkt5c3JLN3UwdkVp
RFFLeFN5S292QW1nTTc1OCtkUG5qeloxZFdGZkJvVmRUakdiRGFMMmttOVhyOTM3OTdLeWdwTjAr
RndHUHJjYXJXbXBxWWNEZ2VxWnRWcXRWQW9sTXZsQXdjT25EeDVzbGdzenMzTkljREN4MGFqVVZt
V0k1R0lKRW43bXNteVlOdWVza25LMG81RWNnVTRaYWdmNkJtLzN4K1B4OWZXMWdqamhreks2WFFp
TDZsVUtzQ3I3WFlibUFZUGlNVmlMNzMwVXIxZS8raWpqeWlLaXNWaWtVaGtmWDI5djcvLytQSGpw
MDZkYXJmYitYeGVFQVNvVExQWkJINUFTamsxTlZVb0ZIcDdleWNuSjFWVnZYbnpacVZTUWUwTXZn
RGtvQ3pMS0xDVFZCYVZSWXpCOXAzdmZFYzNhMllrRlVLMFFEWU0yRW5UTklJVndCcE4wNklvZ2xN
Q2VvWWtXWmFOeCtOdnZQRUdYR1dqMFVCVlkzaDRHRkFlWWJDN3U3dFdxK1Z5dVdBd2VQejQ4VU9I
RG9WQ0lhL1gyOS9mNzNRNlVRZ0Q5ZTV3T1BMNS9NREF3T0RnSU1Nd0N3c0w2K3ZydXE2UGpvNCs5
OXh6U0d0Uk1nS1pxSnZ0YUtUVmd3YTViTFZSSW1KSUhGb09ZUTRNREJ3OGVEQ1ZTb0diOG5xOWRy
dTlXcTIyV2kyWHl3WDE3dW5wZWVXVlY3Nzg1Uzh6REZNc0ZnRkUrdnY3OC9rOE9QVVRKMDVVcTlY
ZDNkM1RwMDhmT0hEZzZOR2pTT0xBcnlOc0lNT2lLTXB1dHlOYUJvTkJ1OTArTURBd01URngvLzU5
dTkzZTFkWGw5L3ZCSHVUeitYQTQzR3ExYXJXYTErc2xaVStTMzlqZWVPTU5vTEJuc2o0Z1FGSkxR
OUtFZU5EYjI0dWhkSFoydXQxdXZFZ2tFbU5qWStmT25Ydnh4UmY5Zm4rcFZGSVVCWm9NS09OeXVU
WTJOdGJXMXFMUjZQZSs5NzJwcVNtLzMrL3orVUQ1WVRSZFhWMm90NU9zVFpibHpjM05lRHdPbnJK
UUtPenM3SFIxZFgzdGExOGJHUmxCSStMMTY5ZEJLUm1HNFhhNzBhNWhaZEJ0My96bU4wbVYyNXJh
b1ZTTWdHR1lUWURGWWpFVUNyMzQ0b3VxcXE2dXJxSWF0N3E2V2lnVVhuNzU1ZWVlZTI1aVlnSnJH
UTZIN1haN3NWakVjalFhamE5ODVTczlQVDJxcW01dGJjM096Z0pZZ3pjQ2JBSzBBUE9QdWwyajBj
aG1zeXNySzhGZzBPVnlHWVpSclZieitYeFBUOC8wOUxUZjcxZFY5ZU9QUC83YnYvMWJYZGRScDND
NVhPVnlHVjhtYzJFYmpRWkJyZnRtYXJNaGtBQUt3eXdsU1VKM1p6Z2NwaWpxekprekxNc3VMQ3dj
UEhqd2hSZGVjRHFkTXpNejYrdnJHeHNiQnc0Y1FPQk9KcFBvN3dFbGtVcWxlbnQ3ejU0OSs4WWJi
K1R6K2QzZFhUaFZraEpBZ0tRSXJTaksrdnI2N3U3dXIzLzk2ME9IRG9HWWpVYWpmL2lIZndob0Nr
eHkvLzc5VUNpRUVJQVY5SHE5eUorSTByS0FBU1NFVUNiYlJjZ0l3K3hFWkZsV2txVGJ0MitMb2pn
OFBEdzVPVGs0T0lpMG1PTzQxZFhWWEM3M3dnc3ZrQjVDQUVCRlVicTZ1dGJYMXgwT1I2VlNnVlY3
UEo1NFBJNTZFUVlFSWtMWGRheExQcDlmWFYyOWV2WHFqUnMzUVBPVVNpV2Z6d2RmU3BrTXh1Ym1a
akFZZlBubGw0OGZQKzd4ZUlEcEVmRGdYZmNOa0hyNklsZ0JnZHV3OUwyd0xJdEYydG5aS1JhTGZy
OC9Gb3NCSjBVaWtjSEJ3WGE3aldLQllSaGdnQVJCNk96c3ZILy9QanErc0Zpam82TW9MWUlLSk05
Q1hwL0paRlJWVGFmVHE2dXIxNjlmMzl6Y0hCd2NyRmFyZHJ2ZDcvZTdYQzU4TXhBSW9CQStPRGg0
NnRTcFE0Y093UzVJYkdNc3BEWmpKZEZvcytjWFJCQkpGQ21UTVVDTDVQYjJkcVZTUVdLS0pNdmxj
djN5bDcvYzJkbEJ5dzVRQzRJSDVGYXRWaTlkdWdTOHRyR3hnVENJWEJuRVBHcVBXMXRiNVhLNVVx
bklzdHh1dDNkMmRweE9aendlQjM1QWtvbThES3N2U2RMWTJGZzRIRVlVOFhxOURNT2dNWVRFRDRx
aVRPRHpmL1dBUUpJRUp4aG1jWHR6Y3hPdGNEelBSeUlSWGRjLy9QRERUei85OVBqeDR4MGRIYUlv
b3ViUmJyZXoyV3lwVk1JcTVQUDVuL3prSndBb3dJUHdNZERZY3JsY0xCYlgxdFlXRnhldlg3K3U2
enBxekpGSVpHQmdZSFIwbEhEcUxwZExGTVZHbzFHcjFWd3VWelFhUldvT2VJQXB3RjFUWnBLODMx
aGtQRjNjTTB3U0dxa25YaUNJalkyTi9leG5Qd05WSVFnQ1dJbkxseStQajQrSFFxRmtNdG5WMVlY
NkxGRlhRSlp3T1B6bmYvN25pVVRpci83cXIzdytIeXdaMmw2cjFWQ2lLUlFLcTZ1clhxKzN1N3Y3
OGVQSDQrUGpJeU1qWHEvM3lwVXJ6ei8vUEVnRFFQOUNvYURyT2h3c1NpUE5ack5VS29GNXNsb2ZU
ZFA3QVAyTEYyQTZUQkZvQmg0L0dBeGV2WHAxYVdrSm1lU2RPM2Z1M2J2WGJyY2JqY2JDd3NLREJ3
OGcvRWFqZ1p3QU9TR2F1SHA2ZWo3ODhNTkVJaEdMeFFnY0E2eUQ2NTZibTJOWmRuQndNQnFOWmpL
WjhmSHg4Zkh4Mjdkdi8vVmYvM1VvRkhJNm5kVnFkV05qSTUvUEk0RUczRUh1QmllSDFBOFJnY2lN
Tlo0bTdZbkdBdXpDczVOYUZjTXdrVWprOU9uVC8vVmYvM1g1OG1Xd1ZaVkt4ZTEyKy8zKytmbDVp
cUkrL3ZoanU5M2UzOThQbUpyTlp0SGY4NmQvK3FmdnZQUE8rdnI2KysrL3Y3YTI5dFpiYjNWMmRs
SVVKVWtTNkFLMGZBOE9Eb3FpbUVxbFhuLzlkV1RuOSs3ZFV4VGx6LzdzejM3djkzNnZwNmNubjgr
SFFxSFIwVkZKa2tDTFFyYWt2TTlZeUVkSWtvV2lBMG1SWmdxYjJkd0RENFQrQTl5Q3B1blRwMDkv
OE1FSFNDbjhmajlTcmNuSnlVYWpzYm01YWJQWnl1WHlyVnUza0ZYelBPOTBPdDk0NHcySHc4R3k3
SGUvKzEyTzQzNys4NS8vM2QvOVhXOXY3OFRFeEsxYnR3WUdCbDU2NlNWQkVJNGVQZXB3T0ZDUWhI
SW1rMG5RSmJGWXJORm8rSHkra1pFUlFSREErZ0d2d2pSMHkyWUVlQ1lTQlZuQ2N6Tm1RdzlsTmtV
VGVJVUxWcVFvU2pnY1BuTGt5T3pzTEpMYWNEZzhQajVPR3ZuUUpZYTZpTmZyUFhMa3lBc3Z2SEQ2
OUdrUUgwZU9ITkYxdlZxdC91ZC8vaWZETUYxZFhkLys5cmYvNGkvK1lubDUrUi8vOFI5RG9SQ2NP
VUlMbG1sMGRMU3JxeXNXaS9YMzkvZjA5TGpkYnF3NG5MOWhhU2FuTGRWQlluY1VSZG5lZXVzdEVq
bklEQ0ZTQUJmeUpzcVBJTFdLeGVLMWE5ZEVVUVNkMGQzZFBUQXdzTE96ZzlaT1JWSFFQUEhsTDMv
NS9QbnpKMDZjNk83dXBzMXFERkR4aXkrK3VMYTJkdWZPbldQSGptVXltU2RQbmd3TkRRVUNBVGhl
VVJUaGxuWjNkNzFlNzRrVEo4Ykh4enM2T3VCYUVlaEo1ZVlabmhIenRNWUwyMi8rNW0rUzVJTVlx
KzNwQzlZTSt4WkZFUlh2eno3N0RML0NIcWE5dlQxZDF5T1JDSDVDVVZRNEhENS8vdnpSbzBkQm1l
TExDR0xqNCtPcXFrNU1URXhPVGw2NmRLbFlMSjQ3ZDI1a1pDU2J6WVpDSVlaaDBQaU42bUFrRWtF
UXdoeVF0YUk2U0t6dS81d2tlZk9wZlM0a0t0Sm1JeXZranE1dXFDNTJCUFQyOXA0NmRlcnUzYnMy
bTYxV3F5V1RTWFFVcUtwYUxCYkQ0VER3NU5iV1ZqNmZoeHVzVnF0Z0pVRjJRRXJmL3ZhM0dZYjVm
Ly92LzRIZDdPenN4Rk9Bem9QQklFaDZ4dXlCZ2gwU1FoUmxjMEp3VzZlZ1d6cTFXSUxkaUVMdkIx
Q1diWnRiaTBqbW91czZBSDAwR2gwZkg3OS8vejVGVVdoaThmbDhQcDh2bFVvMW04MXNObHVwVkRS
TnkrVnlseTlmUnRNTHpKVmhtTjNkM1VRaU1USXljdVRJRVVWUmhvZUgyKzEyUEI3MytYeDQzK2ww
S29xU1NDUldWbFpBNGNEQllIcFFZOHJDK2xzbFpGamFYY2pGa21hTno1RWV3OER4R0dhWENIUURy
eHVOQm9obWxKa0IwTkQ4ZnViTUdmUlU1L1A1dWJrNXQ5dmQwOU1UaVVTUUtNYmpjVTNUc3RuczB0
TFN2WHYzRE1QNDFyZStGWXZGSGo5K3JPdDZKcE5KcFZMWTJLU3E2dTd1N3BNblQvYjI5amlPNit6
c0pIVlZaQ2RFUzBIRTBKWW1KTVBzM2JGT2VIODN3VE0rQ3FHR0JGTVNadUNmVVBaSkpwTVVSU0dy
NWpqdThlUEg5WHBkbHVYejU4K2ZPM2Z1M0xsenNWZ01aVHdzLytycTZ2ejh2TmZyZmZYVlY3LzJ0
YThCTGRScU5UU0JYcjE2bGVmNWwxOSsyVzYzNTNJNTlLN3dQTi9iMjRzOG1EU29JUWFDNE5ITWJR
R1VoZnUzVG1kL2tnaUdwRVJKZkE5dDdremI5OEttTVdCV0hvOG5GQW9waWlKSlVxUFI2T3JxNG5s
K2VYbFpGTVdmL3ZTblY2NWM2ZXZydzZjMm15MGVqMy95eVNkMnUvM2RkOS85eWxlK3NyZTNwMmxh
UHA5UHBWS2hVT2pLbFN0ZXJ6Y1lES2JUYVhCUXlXUlMwN1JVS3RYVDAwT3FsN0I1VkkyYXpTWXFp
K2ludGJvZkROWHFkV2lhWnJXbjkwaDgvb0dweGtScGNhSERKaEFJN096c1JDS1JUQ2FqYVJyeWts
Z3NWcTFXczlsc3E5VjYvUGh4cFZLcDErdXhXQ3lmejA5TVRQem9SejhhSGg0dWw4dG9EMGtrRWx0
YlcvZnYzMGMxQ2UyaXlXUlNsbVZabGg4K2ZMaTV1WWtPSG83alVxa1UzQS9nSWFBdnRpRWdybUpz
dXRsYVpqemR5Y0phTVo3Vk1xM2l0aHE2Mys4dkZBb28xb01jUWZvVGlVVFFvREEyTmxZcWxRcUZ3
dlBQUHgrUHg3dTd1KzEyKzhURXhNaklTREtaZExsY3BWTHA1czJiVjY1Y0FmcHRObU9HMUZrQUFB
OTRTVVJCVkp0dXQ5dHV0OGZqOFZRcXRiaTRXS2xVcmwrLzN0L2ZQejQrRHNOQkVnUEt0MXF0dWx3
dVRkUEFJY0ZFNmFlN2VJMm4yNkJZa3UvUWxtMms1Sy8xSS93ZUUvdlhmLzNYZERwZHE5VjZlM3RC
Um1DQkhRN0hLNis4MHRuWitlbW5uM1oyZHY3d2h6OUUvejhXWlgxOS9jR0RCLy83di84cml1TFMw
aElBRFdBVGRLZFNxWHp5eVNlNDFjbVRKd2NHQnRDNDV2ZjdaMmRuWlZrK2ZQZ3d4M0VvalNERHRK
cmwvM25STk0xYUV4UHI5RWo4cEMzTjIvQ3VkcnQ5WldVRmJaR2hVQWpMakoyd0w3MzAwc0dEQjJ1
MTJzVEVoQ2lLYzNOeitYeCtlWG41eG8wYmlMM3o4L09QSGowNmMrWU1BcjNkYm9jQ2N4eTN0cmEy
dTd1N3Q3Zm45WHEvL3ZXdno4ek1RSFE4ejJQTHhOTFNrcy9uaTBRaWFESURIL2xGQmJUaTAzM25R
akpqcS9sUlp0dkZNOHF0Nnpvc0h1MGVZRU82dXJwMFhkL2EydXJzN0N3V2kvLzkzLzhkaVVRTXc5
amEyanA0OE9Cbm4zMEdySWZpNFlFREI0Zy9xOWZyV0RWTTQrN2R1NGdaS0hXZ3lrQlJGUEttWURE
NDNudnZPWjNPMTE1N3JiT3pFMFI3cTlVaVREbVpyVldHeElPeXBFZUpzbXgxb1o2T3R1UmY4QlJU
VTFPLy9PVXZRVlZRRkZVdWwwT2hVTGxjM3QzZGpjZmpEeDgrTEJhTG1xYXRyNi9Mc2x5cjFYcDZl
Z0tCUUwxZVQ2ZlQyR21JOUkraUtGUXZLcFZLc1ZqTTVYSWRIUjNZYitad09Gd3VGellQWXdmZTl2
YjJyMzcxSzFWVlgzLzlkYi9mai96WUtrUGlIYTNEcHNpV0NUSXI2K3N2VGhLRUVNL3pwMDZkbXBp
WWVQRGdnYVpwaVVRQ1VNSHI5VzVzYkpSS0pacW1jN21jeitkaldUYWRUa3VTUkx4dU1CakUvaVJz
TGdFaDBHNjNVWElFTUo2ZW51N3A2Y0VjR0lZQjJlRndPQVJCV0ZsWlFjU2FucDUydTkyQ0lEUWFq
V2Y4alc3dXV5S1R0UDN1Ny82dWJyYlhNWmFPS2JJRndtWnV2c1h6SEE0SE9zSkRvVkNwVkZwZlgw
YzdQSnArZ04zaEdPeDJlejZmQnplQjFtTnNoRUpwRFVnTlRoTGxHanh1Ykd6czlPblRnNE9Ec1Zn
TVhRNFlkektadkhUcGtxSW9wVklwbFVvaEUzUTZuYkJuaVBRWklYMHVTZmdZMHZwQmZBenBraU9L
U2xFVUdvZlJubmY0OEdGWmxyZTN0NWVYbDJHOTROUVk4NUFCQkhGaTJOYS9GRVhoU0FIRGJJbkF0
QU9CZ00vbmkwYWowRWFTY0dEaFFLdUNBZnlYZi9tWCtmbjVyMzcxcXlkUG5vUnhBcW1qWFFOQm5r
eG5IOFZiSi9NTUNId21iRUp6RUVoZWV1a2xsbVV2WHJ5NHRMUzBzYkZCV2RKelRkTlFxMFRVUWNI
UDZzTVEvYUNyU0pFOUhzL0F3QUIydnpxZFRzeWZNVTh0Mk52YmcvMUxrcVFveXU3dUxseng0dUpp
ZjMvL29VT0hlbnQ3MFk5ZXE5WHE5VHE0K1gyZ1prMnVpV1lUa280a3pjQkRVRjNVNnByTlprZEh4
K3V2dno0NE9Iano1czIvK1p1L3FWYXJzaXlqWVJGbFZzM2NjNjFibWtESkMraXFZUmhJdnVGMWdY
TEF4S0xlU05NMHgzRWJHeHZ3a2JWYVRSQUU3RGk2ZnYzNnZYdjM0dkg0ME5EUWdRTUhob2FHaG9h
R3VycTZnc0VnNFFBQTRsbXJ3NFgvQk00QXBpVkJCWDRmYmdEN0pVcWxrdHZ0OXZsOG9GdHROcHZE
NFNnV2k4MW1FNXZ2Q2F4bkxIMGw4T1NvQXNHWWNZWUMrc0JuWm1aQ29aQmhkbWFRTFdlcnE2dHV0
OXZwZEdZeUdXeWhKSVBjM3Q1T0pCS1hMbDJLUkNKVFUxUEhqaDNyNit1THhXSit2eCs5eUt4dTJh
Tm1qUzJVcGVuRmVKb3lNY3lxTmVRMlB6Ly9zNS85ckZ3dWQzWjJUazlQUDNueUJPZ0U0ZUdMbWtL
WlBlNk5SZ090ZG1oSG5KeWMvUDczdngrTHhZalYyR3cybENqVDZUUWFYRkVMYUxmYmFHVnh1Vnhv
Q0Vla1RhZlQrWHoreG8wYmdpQk1UMDhQRGc1T1RrNzI5L2V6SktXeXpvR3lrQ0J3UDhTSURjTUEy
d2xiUjlYcDRzV0xUcWZUNy9mUHpNdzRuYzVQUC8wVTByYkdYc29zWUlPYklidElBVjltWm1iZWZ2
dnRreWRQZ2lJQ0x3RUwxSFY5Y1hFUmVSbCthTTJlc2JrR3ZBejhUYlBaYkRRYVAvLzV6OEdiUktO
UnhzclQ0VUl0aEJBODFrOUpXUWFNYUtWU3VYVHAwa2NmZlFRMkhYc0dvV3lVMlN4dlJiL2tXVFJO
VjZ0Vnd6RGdkY2JHeHY3Z0QvN2czTGx6bTV1YjBDRGdVbGhzcFZLNWZmczJNQ0NzQUNrQnFVd1Qv
MFNNSHdoSlZkWEhqeDlmdTNadG55bUhmaE9wR3VZaEhTUm1XbWtlNElHbHBhWExseTlmdm53WlVi
SFZhbzJQajZONGp2bytGb2owdllEN2c5SWliQVFDQVZtVysvdjcvK2lQL3VqczJiUDFlaDBSSDRF
bkVBaWdMVUdXNVd2WHJsRVVoWm9IR3E0Y0RnZGNJTmt2WnVVcEFjdUFCMjAyMi81K0FXUVNtQ1Fw
cEpIT1NreVlZUmhGVWRDRHVyUzB0THE2K3VqUkkrempobHNIbUk1R295TWpJeXNySzZWU0tSd083
KzN0K1h3K1VENG9RcmZiYlpmTHRiZTN0N096ODl4enovM29Sejk2NFlVWHF0V3FxcXArdjc5YXJU
cWRUdUErVGRQOGZ2K0ZDeGZRUFloRlIrNWltSHNZU1JaQ20rME5jR3hvVjlobk13QmxJREY0Rkt3
MzVveGdoWjJEMld3V2ZWa3JLeXRMUzB1NVhLN1JhTURGNDZZb3Y0YkQ0Vzk4NHh1dFZ1dkNoUXQ3
ZTN0dXR4dEZkVXdBQWFaY0xyLzExbHM4ejMvem05OUVPUUF0c29xaUlDdENhY3poY0pUTDVZOCsr
Z2h3SEo2TXVHaG9MQW55eE1vSUgvczU0Z0dEd0pxbnVKRGtRemZQVGdMcG1FZ2s3dDI3dDdhMnRy
Q3drTXZsVU1xRnJ5T2RQVEI5bG1XbnBxWUNnUUNvalpXVkZVZ21uOCtqbEQ4Mk52YmJ2LzNiTXpN
ellFYlFqdWYzK3gwT3g5N2VYaUFRSUJzUGFacis0SU1QMEhacU05dm5OZk9nQkpRM3lRWVVFdHV0
MFo0eVdRN1daaDZpWkUwK0VJNUxwVkkybTBXeSsvRGh3NjJ0TFdBb3FEVFJjQ2loeldZREtLL1Zh
a2VQSHUzdjd6OXo1c3l0VzdldVhMbnk2TkVqVlZVOUhzLzN2dmU5ZDk5OWQzSnlFbjRGM1RJNDFL
UmVyNlBUQW5lbUtPckdqUnZ2di85K3FWUWk4SVVJZ0lBSDJxVGFudEZiYS9CbkdjdlpHU3pMQW55
aVhBRmN1cmk0dUxLeUF2cVkzQWdPVFRWM1k3SG1YaUFVUW1BLzZMQTdlL2JzbTIrKytkNTc3eVVT
aWU5ODV6dm56cDJ6Mld5bFVva3hTNlVNd3pnY0RrVlJ3R3MwR2cydjE0dFRFbVpuWnpjM056RVpP
R3I0WjFnZEFSdTBKY1duekkxd1QzVkprbGVNMmI2RHZkZ1BIanhZWFYyZG01dkRsaWgwYVBJOGo0
MERKS0lRZ0Fac2pXZWdKUUJOOFlJZ1RFNU8vdVZmL2lXNkNGRHhocE1FK2tOWkdxdURaYUxNNmoy
NkVBazhKQkdJc09NRXNSRDRTWElSeGtJZFA3VkpGT2RScE5QcFRDWnovZnIxOWZYMTlmVjFoSFVV
MGtGa29YK05ZQ3NvakNBSVBUMDlEb2NERGdNZFpsNnZGNTdHWnJPUllpYVlhR0I5ekFyUkM5cUJT
ZUx2OVBUMEwzN3hDeFNWeVJsVXVHano2QzJDTjJFN1JKK2hrbEI3bHBpaUxNdnBkSHBoWVdGdWJt
NWpZMk5qWXdQM1Fya0dPL3BoNkJSRmhjTmhkQzJvcWdySVFwdVZCVm1XRnhZVy91RWYvdUhSbzBj
QXNVTkRRL0Y0dkZBb0xDOHZ0MXF0MGRIUnljbkprWkdSVUNqVTI5dUxkbEhOM0l6QTgvenQyN2Vi
emViaHc0Y3ZYTGlBT0lIVHh6Uk5RemFMamV2SUU2QzlpSndJajFBVDB2MElsV1pSazFwYld3UExS
RTdjSVlVUWtrUG81bVl6K041NnZZNFVBUWZOTEMwdGRYVjFaYlBaUC83alAzN3c0SUhmNzg5a01n
NkhnM0R0V0l0ME92M0pKNThVQ29Wb05OclIwWEhnd0lIcDZXbWc2a0FnY1BIaXhmZmVlMjkrZmo0
V2k4RWJ1Vnl1VENiRG1ZZHVZVERnQjlIV1Ixc09BdVBNYll5R3VlR1ZwbWtXMjlrWEZ4ZnYzNysv
c3JLU3pXWlY4eXc1a3Z0UkpqOUFVUlFjRE82T2xtU080N3hlN3p2dnZETXhNYUZwMnZ6OC9OMjdk
d0VrME5CRkZNeG03aHBCOVJ2dHZMZHUzZnFQLy9nUEZDVDlmajg2V3lSSnltUXluWjJkdVZ3Ty9r
a3pUMzBoV01vd20rOFFXbFZ6c3pIZWgrL1k5NjdYcjEvZjJOaVluNS9mM054RUxzOVp6cFFnanBn
Z1dBQlhQQWxZajZLb2MrZk8vZUFIUCtqbzZNaG1zNDhmUHdiRGpVUUJaUXpPUE1rUGdSNTREVW9G
R0l3VmNUcWRsVW9GRlo2ZG5SMTRYYlJody9NQkd5SkVROG54UGxZQm9xYk5zeDFKZEdRLy92ampY
QzZYeVdUUVBzMllKNmdRMXVTWkZLUmVyOE9Yb0xrRFgvdis5NzhmQ29Wa1dVYlRHSHdZRWs3QVdy
VFlZNU1zRUNabEhqdFFyVllGUVlEcWRuWjJwbElwaG1GS3BSSllIeGdoYWlwRW9SQ3hPUE5JUTl3
UWs4U1dDUXlNZEYyeER4NDhRR1RIVVJDa3BxbVptMGZ3THlHVVNMeXExV3JvSU1aT1ZhQy85Zlgx
MjdkdjB6UU5oMG1PbDhCdENRK0NnYUxYSEllandDQXptY3pzN0N3a0dRZ0U0TWFCWmhtelBZeHdi
a0RrRUNsOEJDbWkwalNOSFZINzJKWG9Ia0ZEK0Rhd0NHVnBYQ0xaT3BhVEZNK09IRGtDMFQxOCtQ
Q2YvdW1mUHZua0V4eFJoaG96ZkNhNFJoUjJvQWhrYXpiUDh6Z0xyZFZxNGFBdG5ES2w2em8yaWRJ
MFRReWJSRDhTSjlHcm9acDc0Y2lSbTJSREdzTXdiREFZUk5BakV0UE5VNnFJWDJVc2xXYVExb3Fp
a0dUbjFLbFRFTWlQZi96amYvdTNmM081WERBR2RDdUNpZHNuV3N6VFZTdVZpcy9uMjl2YjgzZzhv
aWdDOTN1OTNrS2g0UEY0a0lWaER3Yk1HQkFLRHQ5NG12Nm16UTRKbTNud0ptYU9nMS8ySzZ1SUZv
YUZMOVRONmp4dUFkVW45Q1NJQnZCVW9paTZYSzRqUjQ1d0hKZkw1V1puWjNFU0VVVlIxV29WNUkw
a1NiQkp4SDNnYVlRZkVMYm9VNGRwZEhSMEJBS0JSQ0xSMGRFQi9nYWhHSjEzdUJVZ0hrQ2wxK3ZG
ZVRwWVB0d2NyclZjTG1ORHJxcXErNVFrZ1VpVVNUUUJHVkpmcU9FQkpXTUV1cTZqN1lSbFdWUUVF
SFd4c2Nubjh5RmVvMnlLd0kzdGQzRDlMTXVpNU43VjFSVUtoVERWZXIzZTM5Ky9zcklTQ29VUTBD
dVZDbnd2eWpDd1RIUmg0WVFaTXVCYXJWWXVsK0d1a1I0QmlyR2srNXl4OE9xR3BTQkxkSU8ybEky
UVNlUHdSSERrMkd4R0tFYWczTDI5dlVna2d2M3RpT01vaElFUU9uSGl4Q3V2dkRJNU9ZbkpBRXMx
bTgzbDVlWGYvLzNmUnhjLzlrWXo1bUdCMXVVMlRNcmJNRHZLeUR0a0k4YyszTEVPM1FvQVNOMlMz
QlRmTWN5eUQ4cXZ3OFBESE1jMW04M1BQdnRNVVJRSXBGcXRsc3RsTkp6QjE0Mk9qbjc5NjE4L2Nl
SUVXbFlvODNSUkdEa3liOW84ZGJSU3FXQ2w0SDRRaEFnWW9DeUhhbUtEcmFxcWRyc2RaNnVnU3dO
TmFhQk9kRjFueWF5c0FBQU9qVXpiZVBwVVZaTDRDSUl3TURBQWM0ZER5dVZ5T0w0WmcvQjRQSTFH
NCt6WnMyKy8vZmJNekF6MjkxSm1md01rUThJQVlHcXRWcnQyN1JwOEk4ZHhicmZiNFhEVWFqWEVR
emhuMmp3WUZhRUl0NExuQnhqQU8zQkNOcHZ0OC80UXpkTFRBblJpalR5VXVXK0xzUDJnWkhwNmVo
Q3lmdmpESDNxOTNnOCsrQUROU242L0gyNGdIbysvL2ZiYnYvRWJ2NkZwR2pZaVl3OGJVU0pWVlFI
MFVEeTIyKzNaYkRZYWpXSmZHRVZSckxsTkJIOUoyUWIyUmxBWFkxYXJNRDNNZ3BSR1dLZ2ZaU25k
V1hXWWVwcUp4UzVjR0Vrd0dBd0dnNFpoOER4Lyt2VHB2cjQrcDlQNTcvLys3NkJrQkVIbzd1NCtk
KzdjOGVQSERjUFkyZG5CUVhDS29vQUVRRXVNM1c1SGtxbnJlcVBSZVBqd1lUcWRSaWoyK1h6WUk0
RjBqellKR29Sb1pFaTZyZ01xSUJCZ0lkcnRkcUZRTUV6dTUvOERKYytjVWNoZFREc0FBQUFBU1VW
T1JLNUNZSUk9IgorICAgIH0KKyAgICAzIDogeworICAgICAgICBpZCA6IDxudW1iZXI+CisgICAg
ICAgIGVuY29kaW5nIDogImJhc2U2NCIKKyAgICAgICAgY29udGVudCA6ICIiCisgICAgfQorfQog
UlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdFJlc291cmNlTm90aWZpY2F0aW9uCiBSZXNvdXJj
ZSBmaW5pc2hlZDogLi4uL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNl
cy5odG1sCiBBbGwgdGVzdHMgZG9uZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9leHRlbnNpb25zLXJlc291cmNlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMtcmVzb3VyY2VzLmh0bWwKaW5kZXggZGE5ODc4Zi4uYjcwZjk3MSAxMDA3NTUKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLmh0bWwKQEAgLTc1LDYgKzc1
LDQ2IEBAIGZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0UmVzb3VyY2VOb3RpZmljYXRpb24obmV4dFRl
c3QpCiAgICAgZXh0ZW5zaW9uX2RvWEhSKCk7CiB9CiAKK2Z1bmN0aW9uIGV4dGVuc2lvbl9nZXRS
ZXNvdXJjZUJ5VXJsKHVybHMsIGNhbGxiYWNrKQoreworICAgIGZ1bmN0aW9uIG9uR290UmVzb3Vy
Y2VzKHJlc3BvbnNlKQorICAgIHsKKyAgICAgICAgdmFyIGlkcyA9IFtdOworICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHJlc3BvbnNlLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBmb3Ig
KHZhciB1cmwgPSAwOyB1cmwgPCB1cmxzLmxlbmd0aDsgKyt1cmwpIHsKKyAgICAgICAgICAgICAg
ICBpZiAodXJsc1t1cmxdLnRlc3QocmVzcG9uc2VbaV0uaGFyLnJlcXVlc3QudXJsKSkKKyAgICAg
ICAgICAgICAgICAgICAgaWRzLnB1c2gocmVzcG9uc2VbaV0uaWQpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIGNhbGxiYWNrKGlkcyk7CisgICAgfQorICAgIHdlYkluc3BlY3Rv
ci5yZXNvdXJjZXMuZ2V0QWxsKG9uR290UmVzb3VyY2VzKTsKK30KKworZnVuY3Rpb24gZXh0ZW5z
aW9uX29uUmVzb3VyY2VCb2RpZXMocmVzcG9uc2UpCit7CisgICAgZnVuY3Rpb24gY29tcGFyZUJv
ZGllcyhhLCBiKQorICAgIHsKKyAgICAgICAgcmV0dXJuICgoYS5yZXNwb25zZSAmJiBhLnJlc3Bv
bnNlLmNvbnRlbnQpIHx8ICIiKS5sb2NhbGVDb21wYXJlKChiLnJlc3BvbnNlICYmIGIucmVzcG9u
c2UuY29udGVudCkgfHwgIiIpOworICAgIH0KKyAgICBkdW1wT2JqZWN0KHJlc3BvbnNlLCB7IGlk
OiAxIH0pOworfQorCitmdW5jdGlvbiBleHRlbnNpb25fdGVzdEdldFJlc291cmNlQ29udGVudChu
ZXh0VGVzdCkKK3sKKyAgICBleHRlbnNpb25fZ2V0UmVzb3VyY2VCeVVybChbL2F1ZGl0cy1zdHls
ZTEuY3NzJC9dLCBmdW5jdGlvbihpZHMpIHsKKyAgICAgICAgd2ViSW5zcGVjdG9yLnJlc291cmNl
cy5nZXRDb250ZW50KGlkc1swXSwgY2FsbGJhY2tBbmROZXh0VGVzdChleHRlbnNpb25fb25SZXNv
dXJjZUJvZGllcywgbmV4dFRlc3QpKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gZXh0ZW5zaW9u
X3Rlc3RHZXRSZXNvdXJjZUNvbnRlbnQobmV4dFRlc3QpCit7CisgICAgZXh0ZW5zaW9uX2dldFJl
c291cmNlQnlVcmwoWy9hYmUucG5nJC8sIC9taXNzaW5nLWltYWdlLnBuZyQvLCAvYXVkaXRzLXN0
eWxlMS5jc3MkLyBdLCBmdW5jdGlvbihpZHMpIHsKKyAgICAgICAgaWRzLnB1c2goMjEyNjUwNik7
IC8vIE5vbi1leGlzdGVudCByZXNvdXJjZSBpZC4KKyAgICAgICAgd2ViSW5zcGVjdG9yLnJlc291
cmNlcy5nZXRDb250ZW50KGlkcywgY2FsbGJhY2tBbmROZXh0VGVzdChleHRlbnNpb25fb25SZXNv
dXJjZUJvZGllcywgbmV4dFRlc3QpKTsKKyAgICB9KTsKK30KKwogPC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJiZWY2OGYuLjgxYzY3NjggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTAtMTAtMDUgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFtFeHRlbnNpb25zIEFQSV0gRXhwb3NlIGFjY2VzcyB0byByZXNvdXJjZSBib2RpZXMK
KyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgZW5jb2RpbmcgcmVzb3VyY2UgaW4gV2ViSW5zcGVj
dG9yLmdldFJlc291cmNlQ29udGVudCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00NTk1MworCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5p
ZGw6IEFkZGVkIGVuY29kaW5nIHBhcmFtZXRlciB0byBnZXRSZXNvdXJjZUNvbnRlbnQoKQorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmdldFJlc291cmNlQ29udGVudCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yUmVzb3VyY2UuY3BwOiBBZGRlZCBzb3VyY2VCeXRlcygpIHRvIHJldHVybiBlbmNvZGVk
IHJlcHJlc2VudGF0aW9uIG9mIHJlc291cmNlJ3MgYmluYXJ5IGJvZHkuCisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JSZXNvdXJjZTo6c291cmNlQnl0ZXMpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXh0
ZW5zaW9uQVBJLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmluamVjdGVkRXh0ZW5zaW9uQVBJ
LlJlc291cmNlcy5wcm90b3R5cGUuZ2V0Q29udGVudCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5z
aW9uU2VydmVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90
eXBlLl9vbkdldFJlc291cmNlQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5z
aW9uU2VydmVyLnByb3RvdHlwZS5fb25HZXRSZXNvdXJjZUNvbnRlbnQub25Db250ZW50QXZhaWxh
YmxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5nZXRFbmNvZGVkUmVzb3VyY2VDb250ZW50KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5nZXRSZXNvdXJjZUNvbnRlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuZ2V0UmVz
b3VyY2VDb250ZW50KToKKwogMjAxMC0xMC0wNiAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5Lgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlkbCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5pZGwKaW5kZXggYTA4YTYyMi4uOGExNjBiOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlkbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuaWRsCkBAIC0xMDgsNyArMTA4LDcgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBb
aGFuZGxlcj1Db250cm9sbGVyXSB2b2lkIHNldE1vbml0b3JpbmdYSFJFbmFibGVkKGluIGJvb2xl
YW4gZW5hYmxlLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7CiAKICAgICAgICAgW2hhbmRsZXI9Q29u
dHJvbGxlcl0gdm9pZCBzZXRSZXNvdXJjZVRyYWNraW5nRW5hYmxlZChpbiBib29sZWFuIGVuYWJs
ZWQsIGluIGJvb2xlYW4gYWx3YXlzLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7Ci0gICAgICAgIFto
YW5kbGVyPUNvbnRyb2xsZXJdIHZvaWQgZ2V0UmVzb3VyY2VDb250ZW50KGluIHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgb3V0IFN0cmluZyBjb250ZW50KTsKKyAgICAgICAgW2hhbmRsZXI9Q29u
dHJvbGxlcl0gdm9pZCBnZXRSZXNvdXJjZUNvbnRlbnQoaW4gdW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBpbiBib29sZWFuIGVuY29kZSwgb3V0IFN0cmluZyBjb250ZW50KTsKICAgICAgICAgW2hh
bmRsZXI9Q29udHJvbGxlcl0gdm9pZCByZWxvYWRQYWdlKCk7CiAKICAgICAgICAgW2hhbmRsZXI9
Q29udHJvbGxlcl0gdm9pZCBzdGFydFRpbWVsaW5lUHJvZmlsZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNmM2ZjljMC4uNWQ5M2E1MCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTIwOTIsMTAgKzIwOTIs
MTQgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzZXRJbnNwZWN0b3JFeHRlbnNpb25BUEko
Y29uc3QgU3RyaW5nJiBzb3VyY2UpCiAgICAgbV9pbnNwZWN0b3JFeHRlbnNpb25BUEkgPSBzb3Vy
Y2U7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Z2V0UmVzb3VyY2VDb250ZW50KHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgU3RyaW5nKiBjb250ZW50KQordm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpnZXRSZXNvdXJjZUNvbnRlbnQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBi
b29sIGVuY29kZSwgU3RyaW5nKiBjb250ZW50KQogewogICAgIFJlZlB0cjxJbnNwZWN0b3JSZXNv
dXJjZT4gcmVzb3VyY2UgPSBtX3Jlc291cmNlcy5nZXQoaWRlbnRpZmllcik7Ci0gICAgKmNvbnRl
bnQgPSByZXNvdXJjZSA/IHJlc291cmNlLT5zb3VyY2VTdHJpbmcoKSA6IFN0cmluZygpOworICAg
IGlmICghcmVzb3VyY2UpIHsKKyAgICAgICAgKmNvbnRlbnQgPSBTdHJpbmcoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICAqY29udGVudCA9IGVuY29kZSA/IHJlc291cmNlLT5zb3VyY2VC
eXRlcygpIDogcmVzb3VyY2UtPnNvdXJjZVN0cmluZygpOwogfQogCiBib29sIEluc3BlY3RvckNv
bnRyb2xsZXI6OnJlc291cmNlQ29udGVudEZvclVSTChjb25zdCBLVVJMJiB1cmwsIERvY3VtZW50
KiBmcmFtZURvY3VtZW50LCBTdHJpbmcqIHJlc3VsdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaAppbmRleCA0MWEwMzBiLi41ZTZjN2RlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0zMjEsNyArMzIxLDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGFkZFJlc291cmNlKEluc3BlY3RvclJlc291cmNlKik7CiAgICAgdm9pZCByZW1vdmVSZXNv
dXJjZShJbnNwZWN0b3JSZXNvdXJjZSopOwogICAgIEluc3BlY3RvclJlc291cmNlKiBnZXRUcmFj
a2VkUmVzb3VyY2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKTsKLSAgICB2b2lkIGdldFJlc291
cmNlQ29udGVudCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIFN0cmluZyogY29udGVudCk7Cisg
ICAgdm9pZCBnZXRSZXNvdXJjZUNvbnRlbnQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBib29s
IGVuY29kZSwgU3RyaW5nKiBjb250ZW50KTsKIAogICAgIHZvaWQgcHJ1bmVSZXNvdXJjZXMoUmVz
b3VyY2VzTWFwKiwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlclRvS2VlcCA9IDApOwogICAgIHZvaWQg
cmVtb3ZlQWxsUmVzb3VyY2VzKFJlc291cmNlc01hcCogbWFwKSB7IHBydW5lUmVzb3VyY2VzKG1h
cCk7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmNw
cCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmNwcAppbmRleCAwNjZjZmY0
Li41NzBhNGZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJj
ZS5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwCkBAIC0z
Myw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCisjaW5jbHVkZSAiQmFzZTY0
LmgiCiAjaW5jbHVkZSAiQ2FjaGUuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCkBAIC00MzMsNiArNDM0LDI0IEBAIFN0cmlu
ZyBJbnNwZWN0b3JSZXNvdXJjZTo6c291cmNlU3RyaW5nKCkgY29uc3QKICAgICByZXR1cm4gZW5j
b2RpbmcuZGVjb2RlKGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSk7CiB9CiAKK1N0cmlu
ZyBJbnNwZWN0b3JSZXNvdXJjZTo6c291cmNlQnl0ZXMoKSBjb25zdAoreworICAgIFZlY3Rvcjxj
aGFyPiBvdXQ7CisgICAgaWYgKCFtX292ZXJyaWRlQ29udGVudC5pc051bGwoKSkgeworICAgICAg
ICBWZWN0b3I8Y2hhcj4gZGF0YTsKKyAgICAgICAgU3RyaW5nIG92ZXJyaWRlQ29udGVudCA9IG1f
b3ZlcnJpZGVDb250ZW50OworICAgICAgICBkYXRhLmFwcGVuZChvdmVycmlkZUNvbnRlbnQuY2hh
cmFjdGVycygpLCBvdmVycmlkZUNvbnRlbnQubGVuZ3RoKCkpOworICAgICAgICBiYXNlNjRFbmNv
ZGUoZGF0YSwgb3V0KTsKKyAgICB9IGVsc2UgeworICAgICAgICBTdHJpbmcgdGV4dEVuY29kaW5n
TmFtZTsKKyAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YSA9IHJlc291cmNlRGF0YSgm
dGV4dEVuY29kaW5nTmFtZSk7CisgICAgICAgIGlmICghZGF0YSkKKyAgICAgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKKyAgICAgICAgYmFzZTY0RW5jb2RlKGRhdGEtPmJ1ZmZlcigpLCBvdXQpOwor
ICAgIH0KKyAgICByZXR1cm4gU3RyaW5nKG91dC5kYXRhKCksIG91dC5zaXplKCkpOworfQorCiBQ
YXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gSW5zcGVjdG9yUmVzb3VyY2U6OnJlc291cmNlRGF0YShT
dHJpbmcqIHRleHRFbmNvZGluZ05hbWUpIGNvbnN0CiB7CiAgICAgaWYgKG1fbG9hZGVyICYmIGVx
dWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZpZXIobV9yZXF1ZXN0VVJMLCBtX2xvYWRlci0+cmVx
dWVzdFVSTCgpKSkgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVz
b3VyY2UuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmgKaW5kZXggOTE0
MjMyZS4uN2Y3MWU2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVz
b3VyY2UuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5oCkBAIC0x
MDEsNiArMTAxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldE92ZXJy
aWRlQ29udGVudChjb25zdCBTY3JpcHRTdHJpbmcmIGRhdGEsIFR5cGUpOwogCiAgICAgICAgIFN0
cmluZyBzb3VyY2VTdHJpbmcoKSBjb25zdDsKKyAgICAgICAgU3RyaW5nIHNvdXJjZUJ5dGVzKCkg
Y29uc3Q7CiAgICAgICAgIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiByZXNvdXJjZURhdGEoU3Ry
aW5nKiB0ZXh0RW5jb2RpbmdOYW1lKSBjb25zdDsKIAogICAgICAgICBib29sIGlzU2FtZUxvYWRl
cihEb2N1bWVudExvYWRlciogbG9hZGVyKSBjb25zdCB7IHJldHVybiBsb2FkZXIgPT0gbV9sb2Fk
ZXI7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25B
UEkuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uQVBJLmpzCmluZGV4
IDkwNjIxMjYuLjVkMDkwYjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9FeHRlbnNpb25BUEkuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVu
c2lvbkFQSS5qcwpAQCAtMTI4LDYgKzEyOCwxMSBAQCBSZXNvdXJjZXMucHJvdG90eXBlID0gewog
ICAgIGdldFBhZ2VUaW1pbmdzOiBmdW5jdGlvbihjYWxsYmFjaykKICAgICB7CiAgICAgICAgIHJl
dHVybiBleHRlbnNpb25TZXJ2ZXIuc2VuZFJlcXVlc3QoeyBjb21tYW5kOiAiZ2V0UGFnZVRpbWlu
Z3MiIH0sIGNhbGxiYWNrKTsKKyAgICB9LAorCisgICAgZ2V0Q29udGVudDogZnVuY3Rpb24oaWRz
LCBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHJldHVybiBleHRlbnNpb25TZXJ2ZXIuc2VuZFJl
cXVlc3QoeyBjb21tYW5kOiAiZ2V0UmVzb3VyY2VDb250ZW50IiwgaWRzOiBpZHMgfSwgY2FsbGJh
Y2spOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0V4dGVuc2lvblNlcnZlci5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNp
b25TZXJ2ZXIuanMKaW5kZXggNzJkOWE4OS4uNDc5Y2MwMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcworKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCkBAIC0zOCw2ICszOCw3IEBAIFdlYklu
c3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fcmVnaXN0ZXJI
YW5kbGVyKCJzdWJzY3JpYmUiLCB0aGlzLl9vblN1YnNjcmliZS5iaW5kKHRoaXMpKTsKICAgICB0
aGlzLl9yZWdpc3RlckhhbmRsZXIoInVuc3Vic2NyaWJlIiwgdGhpcy5fb25VbnN1YnNjcmliZS5i
aW5kKHRoaXMpKTsKICAgICB0aGlzLl9yZWdpc3RlckhhbmRsZXIoImdldFJlc291cmNlcyIsIHRo
aXMuX29uR2V0UmVzb3VyY2VzLmJpbmQodGhpcykpOworICAgIHRoaXMuX3JlZ2lzdGVySGFuZGxl
cigiZ2V0UmVzb3VyY2VDb250ZW50IiwgdGhpcy5fb25HZXRSZXNvdXJjZUNvbnRlbnQuYmluZCh0
aGlzKSk7CiAgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJnZXRQYWdlVGltaW5ncyIsIHRoaXMu
X29uR2V0UGFnZVRpbWluZ3MuYmluZCh0aGlzKSk7CiAgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVy
KCJjcmVhdGVQYW5lbCIsIHRoaXMuX29uQ3JlYXRlUGFuZWwuYmluZCh0aGlzKSk7CiAgICAgdGhp
cy5fcmVnaXN0ZXJIYW5kbGVyKCJjcmVhdGVTaWRlYmFyUGFuZSIsIHRoaXMuX29uQ3JlYXRlU2lk
ZWJhci5iaW5kKHRoaXMpKTsKQEAgLTI2Niw2ICsyNjcsNDUgQEAgV2ViSW5zcGVjdG9yLkV4dGVu
c2lvblNlcnZlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiByZXNwb25zZTsKICAgICB9
LAogCisgICAgX29uR2V0UmVzb3VyY2VDb250ZW50OiBmdW5jdGlvbihtZXNzYWdlLCBwb3J0KQor
ICAgIHsKKyAgICAgICAgdmFyIGlkczsKKyAgICAgICAgdmFyIHJlc3BvbnNlID0gW107CisKKyAg
ICAgICAgZnVuY3Rpb24gb25Db250ZW50QXZhaWxhYmxlKGlkLCBlbmNvZGVkLCBjb250ZW50KQor
ICAgICAgICB7CisgICAgICAgICAgICB2YXIgcmVzb3VyY2VDb250ZW50ID0geworICAgICAgICAg
ICAgICAgIGlkOiBpZCwKKyAgICAgICAgICAgICAgICBlbmNvZGluZzogZW5jb2RlZCA/ICJiYXNl
NjQiIDogIiIsCisgICAgICAgICAgICAgICAgY29udGVudDogY29udGVudAorICAgICAgICAgICAg
fTsKKyAgICAgICAgICAgIHJlc3BvbnNlLnB1c2gocmVzb3VyY2VDb250ZW50KTsKKyAgICAgICAg
ICAgIGlmIChyZXNwb25zZS5sZW5ndGggPT09IGlkcy5sZW5ndGgpCisgICAgICAgICAgICAgICAg
dGhpcy5fZGlzcGF0Y2hDYWxsYmFjayhtZXNzYWdlLnJlcXVlc3RJZCwgcG9ydCwgcmVzcG9uc2Up
OworICAgICAgICB9CisKKyAgICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlLmlkcyA9PT0gIm51bWJl
ciIpIHsKKyAgICAgICAgICAgIGlkcyA9IFsgbWVzc2FnZS5pZHMgXTsKKyAgICAgICAgfSBlbHNl
IGlmIChtZXNzYWdlLmlkcyBpbnN0YW5jZW9mIEFycmF5KSB7CisgICAgICAgICAgICBpZHMgPSBt
ZXNzYWdlLmlkczsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9z
dGF0dXMuRV9CQURBUkdUWVBFKCJtZXNzYWdlLmlkcyIsICJBcnJheSIsIHR5cGVvZiBtZXNzYWdl
Lmlkcyk7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlkcy5sZW5n
dGg7ICsraSkgeworICAgICAgICAgICAgdmFyIGlkID0gaWRzW2ldOworICAgICAgICAgICAgdmFy
IHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlc1tpZF07CisgICAgICAgICAgICBpZiAo
IXJlc291cmNlKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlLnB1c2godGhpcy5fc3RhdHVzLkVf
Tk9URk9VTkQoaWQpKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHZhciBl
bmNvZGUgPSAhV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuaXNUZXh0VHlwZShyZXNvdXJjZS50
eXBlKTsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZ2V0RW5jb2RlZFJlc291cmNlQ29u
dGVudChpZCwgZW5jb2RlLCBvbkNvbnRlbnRBdmFpbGFibGUuYmluZCh0aGlzLCBpZCwgZW5jb2Rl
KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHJlc3BvbnNlLmxlbmd0
aCA9PT0gaWRzLmxlbmd0aCkKKyAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoQ2FsbGJhY2sobWVz
c2FnZS5yZXF1ZXN0SWQsIHBvcnQsIHJlc3BvbnNlKTsKKyAgICB9LAorCiAgICAgX29uR2V0UGFn
ZVRpbWluZ3M6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiAobmV3IFdlYkluc3Bl
Y3Rvci5IQVJMb2coKSkuYnVpbGRNYWluUmVzb3VyY2VUaW1pbmdzKCk7CkBAIC00MDcsMyArNDQ3
LDggQEAgV2ViSW5zcGVjdG9yLmFkZEV4dGVuc2lvbnMgPSBmdW5jdGlvbihleHRlbnNpb25zKQog
fQogCiBXZWJJbnNwZWN0b3IuZXh0ZW5zaW9uU2VydmVyID0gbmV3IFdlYkluc3BlY3Rvci5FeHRl
bnNpb25TZXJ2ZXIoKTsKKworV2ViSW5zcGVjdG9yLmdldEVuY29kZWRSZXNvdXJjZUNvbnRlbnQg
PSBmdW5jdGlvbihpZGVudGlmaWVyLCBlbmNvZGUsIGNhbGxiYWNrKQoreworICAgIEluc3BlY3Rv
ckJhY2tlbmQuZ2V0UmVzb3VyY2VDb250ZW50KGlkZW50aWZpZXIsIGVuY29kZSwgY2FsbGJhY2sp
OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5l
bC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXgg
ZDNkMzQ1Yy4uMGUzNTZhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a1BhbmVsLmpzCkBAIC0xMDExLDcgKzEwMTEsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVs
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlOwogCiBX
ZWJJbnNwZWN0b3IuZ2V0UmVzb3VyY2VDb250ZW50ID0gZnVuY3Rpb24oaWRlbnRpZmllciwgY2Fs
bGJhY2spCiB7Ci0gICAgSW5zcGVjdG9yQmFja2VuZC5nZXRSZXNvdXJjZUNvbnRlbnQoaWRlbnRp
ZmllciwgY2FsbGJhY2spOworICAgIEluc3BlY3RvckJhY2tlbmQuZ2V0UmVzb3VyY2VDb250ZW50
KGlkZW50aWZpZXIsIGZhbHNlLCBjYWxsYmFjayk7CiB9CiAKIFdlYkluc3BlY3Rvci5OZXR3b3Jr
QmFzZUNhbGN1bGF0b3IgPSBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VzUGFuZWwuanMKaW5kZXggMWM2NWRhMy4uYjM4YjA2OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwpAQCAtMTI5Myw3ICsxMjkz
LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlOwogCiBXZWJJbnNwZWN0b3IuZ2V0UmVzb3VyY2VD
b250ZW50ID0gZnVuY3Rpb24oaWRlbnRpZmllciwgY2FsbGJhY2spCiB7Ci0gICAgSW5zcGVjdG9y
QmFja2VuZC5nZXRSZXNvdXJjZUNvbnRlbnQoaWRlbnRpZmllciwgY2FsbGJhY2spOworICAgIElu
c3BlY3RvckJhY2tlbmQuZ2V0UmVzb3VyY2VDb250ZW50KGlkZW50aWZpZXIsIGZhbHNlLCBjYWxs
YmFjayk7CiB9CiAKIFdlYkluc3BlY3Rvci5SZXNvdXJjZUJhc2VDYWxjdWxhdG9yID0gZnVuY3Rp
b24oKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>